Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
17267 Discussions

Qsys disable interface based on parameter

Altera_Forum
Honored Contributor II
2,389 Views

Hi, 

I have a VHDL component packed as Qsys Component Editor and I need to disable interface based on parameter set by user. 

 

I have used naive approach and have this in TCL: 

add_parameter C_MDIO BOOLEAN false set_parameter_property C_MDIO DEFAULT_VALUE false set_parameter_property C_MDIO DISPLAY_NAME C_MDIO set_parameter_property C_MDIO TYPE BOOLEAN set_parameter_property C_MDIO UNITS None set_parameter_property C_MDIO DESCRIPTION "Enables MDIO Controller" set_parameter_property C_MDIO HDL_PARAMETER true ... # # connection point MDIO_MASTER# add_interface MDIO_MASTER conduit end set_interface_property MDIO_MASTER associatedClock MDIO_CLK set_interface_property MDIO_MASTER associatedReset "" set_interface_property MDIO_MASTER ENABLED set_interface_property MDIO_MASTER EXPORT_OF "" set_interface_property MDIO_MASTER PORT_NAME_MAP "" set_interface_property MDIO_MASTER CMSIS_SVD_VARIABLES "" set_interface_property MDIO_MASTER SVD_ADDRESS_GROUP "" add_interface_port MDIO_MASTER MDIO_IN mdioin Input 1 add_interface_port MDIO_MASTER MDIO_OUT mdioout Output 1 add_interface_port MDIO_MASTER MDIO_T mdiot Output 1  

 

This causes following error: 

Error: get_parameter_value not allowed during GLOBAL while executing "get_parameter_value C_MDIO " invoked from within "set_interface_property MDIO_MASTER ENABLED "  

 

I kinda get why it isn't allowed (so that's not my question). 

 

What I'd like to know is how should I do it when I want to enable/disable certain interfaces based on user's choice in component configuration in Qsys.. 

 

Thanks for any help :)
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
1,547 Views

OK, I've solved it. 

 

You need to create an elaboration callback and change the property there: 

 

set_module_property ELABORATION_CALLBACK elaborate proc elaborate {} { set_interface_property MDIO_MASTER ENABLED }
0 Kudos
Reply