FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6343 Discussions

Controlling output files when generating IP from the command line

SimonRichter
New Contributor I
737 Views

Hi,

as part of automated verification I'm having my Continuous Integration server rebuild the IP blocks to check that these can indeed be rebuilt without error and no outdated files went into an image.

That works reasonably well with a bunch of hacks, but for the DDR3 PHY, generation takes ages as it builds an example project as part of generation, and in addition, a set of unnecessary files are generated as well.

I've tried to control the latter through the qmegawiz command line:

 

qmegawiz -silent OPTIONAL_FILES=NONE ddr3_bottom.vhd

 

I still get a BSF and a CMP file generated, and specifying "INST" for testing did not generate ddr3_bottom_inst.vhd, so the OPTIONAL_FILES setting doesn't seem to do anything here.

On the more annoying front, the dialog asking whether examples should be generated obviously does not exist in noninteractive mode, and as a result they are always generated (see raw log), which currently accounts for about 80% of the time spent for the "regenerate IP and simulate everything" job.

For reference, ddr3_bottom.vhd before generation.

Questions:

  1. How do I control from the command line which output files are generated?
  2. How do I control from the command line whether examples are generated?
  3. Can I somehow generate only synthesis or only simulation files from the command line?

Simon

0 Kudos
6 Replies
AdzimZM_Intel
Employee
701 Views

Hi Simon,


May I know which Quartus version that you have used?


If you are using the legacy version, by right the command that you mention should be work.

If it is not working, then I think that it is a bug.

But I'm sorry for this because the engineer wont be prioritized to fix the legacy software as it's going to EOL.


Have you try to generate by using GUI?

If yes, do the files still be generated even if they are not selected?


To workaround of this problems, you may try to use different version of Quartus.


Regarding to your question, you may generate only the synthesis or only the simulation.

  • Run make_qii_design.tcl for synthesis.
  • Run make_sim_design.tcl for simulation.


Thanks.


0 Kudos
AdzimZM_Intel
Employee
678 Views

Hi Simon,


Do you have any update regarding to my last feedback?


Thanks,

Adzim


0 Kudos
SimonRichter
New Contributor I
668 Views

Hi Adzim,

sorry for the late reply, I'm swamped with other work right now.

I'm using Quartus 20.1. Generating with the GUI allows me to deselect the additional files in the last wizard page, and then opens a separate dialog that allows me to deselect the examples, and then these files are not generated. These settings aren't saved in the retrieval info section, so regenerating non-interactively falls back to defaults.

The scripts you mention generate the examples -- my goal is to stop these from being called during non-interactive generation to save time here.

   Simon

0 Kudos
AdzimZM_Intel
Employee
664 Views

Hi Simon,


For your situation, I encourage you to use the qsys-generate or ip-generate utilities in order to generate the files.

I have shared the link below for some guides of the the use of the qsys command line.

https://www.intel.com/content/dam/altera-www/global/en_US/uploads/1/12/Qsys_Pro_Command_Line_Usage.pdf


You can also check the link below in chapter 7 for more detail.

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug-qpp-platform-designer.pdf


You also can use --help option to display some help regarding to your utilities such as qsys-generate --help


I hope you this can help you to get your required files.


Thanks.

Regards,

Adzim


0 Kudos
AdzimZM_Intel
Employee
625 Views

Hi Simon,


Do you have any further question?


Thanks,

Adzim


0 Kudos
AdzimZM_Intel
Employee
616 Views

I'm closing the case since I'm not hear back from you.


You can always file a new case if you got any issue or problem.


Thanks,

Adzim


0 Kudos
Reply