Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
17241 Discussions

Qsys Custom Component dynamix entity names

Altera_Forum
Honored Contributor II
2,242 Views

Hi all,I would like to know if it is possible for Qsys to generate dynamic entity names for custom components? I see all submodules of Qsys components have entity names with the Qsys system name appended in front. I would like to do the same for my custom components and its sub-entities. I have generated the hw tcl files from the VHDL source of the custom component. Say I have a component with toplevel entity custom_top inside my Qsys system (qsys_1). I would like to rename the entity (and the copied custom IP file) upon generation to qsys_1_custom_top, as is done with all other Qsys generated components.The problem comes in when I have 2 Qsys systems using the same custom component in the same design (and cannot be connected in one top-qsys, so I instantiate both Qsys top-levels somewhere else), then both will copy the custom component VHDL files, and copies of the same component (entity) will be in both qip files. When synthesizing, Quartus will see both entities with same name and generate an error.Thanks.

0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
1,171 Views

You *might* be able to do this by writing a generation callback function in the .tcl file for the component. I am not aware of a way to get Qsys to do this natively, typically I avoid this problem by instantiating the multiple systems in a larger Qsys system (the design hierarchy will take care of the overlap)

0 Kudos
Altera_Forum
Honored Contributor II
1,171 Views

Thanks. 

Was also thinking about using a generation callback, was hoping someone has done something similar. 

 

Our design and its complexity does not easily allow for the multiple Qsys systems in one top-level. Have thought about that, it is just not practical.
0 Kudos
Altera_Forum
Honored Contributor II
1,171 Views

I think I found an example to look at. In your installation directory look here: ip\altera\sopc_builder_ip\altera_avalon_sysid_qsys 

 

You will see a temporary HDL file with the .v.terp extension that has a module name poked into it by the generate callback from the .tcl file. So if you expose a parameter to make a unique name then you can use the "terp" functionality that the Qsys system id peripheral uses. I'm pretty sure this functionality is not documented since it's news to me too so don't expect it to be supported by Altera or not change from release to release.
0 Kudos
Altera_Forum
Honored Contributor II
1,171 Views

Thanks, 

 

Looks like a good example as to what it is I am trying to do. Will see if I can make it happen with our IP.
0 Kudos
Reply