Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20641 Discussions

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

Altera_Forum
Honored Contributor II
992 Views

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
0 Kudos
5 Replies
Altera_Forum
Honored Contributor II
271 Views

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
0 Kudos
Altera_Forum
Honored Contributor II
271 Views

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

0 Kudos
Altera_Forum
Honored Contributor II
271 Views

 

--- 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
0 Kudos
Altera_Forum
Honored Contributor II
271 Views

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,
0 Kudos
Altera_Forum
Honored Contributor II
271 Views

 

--- 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
0 Kudos
Reply