Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

What's the syntax that defines the path of a generated entity in Quartus .qsf file?

Hi,

In a .qsf file, I'm trying to set TERMINATION_CONTROL_BLOCK via

set_instance_assignment -name TERMINATION_CONTROL_BLOCK "e1:i1|e2:i2|e3:i3|s" -to o_pin[0] -tag __p0

This approach works as long as there is no VHDL generate statement in the hierarchy path. However, if I add a generate statement around an entity, ie:

conditional_gen: if condition generate

i2: component e2

...

...

end generate conditional_gen;

Then the Quartus fitter no longer recognize the qsf file's TERMINATION_CONTROL_BLOCK assignment.

What's the proper syntax for generated entity?

Thanks

5 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Look in the Quartus hierarchy display window. I just looked at a design that uses a generate statement (called g1) and its got a "\g1" in the path name.

    Cheers,

    Dave
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I'm trying to post a reply but the forum software incorrectly identify links within my post. Need to spam a few posts to reach count of 5

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Look in the Quartus hierarchy display window. I just looked at a design that uses a generate statement (called g1) and its got a "\g1" in the path name.

    Cheers,

    Dave

    --- Quote End ---

    Hi Dave,

    Thanks for the suggestion. I gave it a shot but it doesn't seem to work.

    Quartus 12.1B177 Hierarchy shows: Top_Level|entity1_name:inst1_name|entity_name2:\gen_name:inst_name2

    Here are the variations that I have attempted in the .qsf file:

    Top_Level|entity1_name:inst1_name|entity_name2:\gen_name:inst_name2

    Top_Level|entity1_name:inst1_name|entity_name2:gen_name:inst_name2

    Top_Level|entity1_name:inst1_name|entity_name2:\\gen_name:inst_name2

    Top_Level|entity1_name:inst1_name|\gen_name:inst_name2

    Top_Level|entity1_name:inst1_name|gen_name:inst_name2

    Top_Level|entity1_name:inst1_name|\\gen_name:inst_name2

    What I find curious is that for the "entity_name2:\gen_name:inst_name2" attempt, the output shows the error "entity_name2:gen_name:inst_name2" is not found (the slash is gone). Sure enough, if I open up the .qsf file, something removed the slash and re-saved the file. If Quartus found something in the setting file that it does not like, would it automatically update the setting?

    Here is the line that I'm having trouble with

    set_instance_assignment -name TERMINATION_CONTROL_BLOCK "entity_name1:inst_name1|entity_name2:\gen_name:inst_name|altera_mem_if_oct_stratixvct0|sd1a_0" -to QDRIIC_Q[2] -tag __QDRII_SLAVE_p0

    Thanks
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi,

    I made a reply but it looks like it's not showing up at the moment because it triggered the forum software, somehow (post requires moderator approval?).

    But I work out the problem. The single slash shown in the design hierarchy corresponds to double slash in the setting file, because the first one is treated as an escape.

    Cheers,
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    But I work out the problem. The single slash shown in the design hierarchy corresponds to double slash in the setting file, because the first one is treated as an escape.

    --- Quote End ---

    Glad to hear you figured it out.

    Cheers,

    Dave