Forum Discussion

Joakim's avatar
Joakim
Icon for Occasional Contributor rankOccasional Contributor
7 years ago

How to add a qip file to project using Makefile

I like to have the project file untouched unless I make an active decision to add something, so I create the project file using make.

The first instance of the project file is created by quartus_map and I can later add pin declarations etc using quartus_sh.

But I have not found a good way to add an IP block, qip-file, to the project in time since quartus_map need all files to be available.

How can I solve this?

I'm currently using:

quartus_map project_name --analysis_and_elaboration --family=... -f sourcefiles.args

6 Replies

  • Joakim's avatar
    Joakim
    Icon for Occasional Contributor rankOccasional Contributor

    I found out that I can create a qsf/project file by first creating an empty file followed by quartus_sh -t settings.tcl.

    I use settings.tcl for pin assignments, but normally specified the source code to quartus_map.

    The problem is that quartus_map will not read the qsf file before it has processed all the source files listed as argument to quartus_map, which will make it fail since it misses the qip file.

    I'm running out of ideas...

  • KhaiChein_Y_Intel's avatar
    KhaiChein_Y_Intel
    Icon for Regular Contributor rankRegular Contributor

    Hi Joakim,

    You may add the following in the .qsf file

    set_global_assignment -name file.qip

    Thanks

    • Joakim's avatar
      Joakim
      Icon for Occasional Contributor rankOccasional Contributor

      Thanks, but I do not have any .qsf file when running quartus_map.

      The whole purpose of using a makefile is that it will create dependencies, adding source files etc, so it should create the qsf file from scratch.

  • KhaiChein_Y_Intel's avatar
    KhaiChein_Y_Intel
    Icon for Regular Contributor rankRegular Contributor

    Hi Joakim,

    The .qsf file has to be created first and then add the source file in the .qsf file.

    Thanks.

    • Joakim's avatar
      Joakim
      Icon for Occasional Contributor rankOccasional Contributor

      Thanks KYeoh,

      Yes, that is my question. How can I do that using the quartus tools?

      Or do I have to create the qsf file manually?

      quartus_map project_name --analysis_and_elaboration --family=... -f sourcefiles.args

      Will create a qsf file with the source files I want, together with some settings like the chip family. But the command will fail when the source files are using components from the qip file and I have not found any good way to add the qip file when calling quartus_map or before it is called.

      The Quartus GUI is calling Info:

      quartus_map --read_settings_files=on --write_settings_files=off ...

      So I have tried to create an empty qsf file with just the qip reference, with variants of the read/write_settings_files, but it seems like the settings file is not read until it has processed the source files in the argument.

      BR / Joakim

  • KhaiChein_Y_Intel's avatar
    KhaiChein_Y_Intel
    Icon for Regular Contributor rankRegular Contributor

    Hi Joakim,

    The .qsf file is generated by the software automatically when the project is created.

    1. First, you may create the project file using project_new [-family ] [-overwrite] [-part ] [-revision ]. This creates a .qpf file and .qsf file.
    2. Modify the .qsf file to add the .qip file and all source files using set_global_assignment
    3. Run Analysis and Synthesis using quartus_map (Standard) or quartus_syn(Pro)

    Thanks