Forum Discussion
Altera_Forum
Honored Contributor
8 years agoPassing parameter/generic to the top level in Quartus/tcl?
I'm trying to pass a git sha1 as a parameter to the top level in Quartus tcl I added a source probe: gits
u_gits
(.probe (160'habbaface000000000000000000000000acdcba...
Altera_Forum
Honored Contributor
8 years agoYes it's synthesis in Quartus (17.0.2), it's a constant known at synthesis time, and it's a probe as in-system sources & probes. The script is using a quartus_stp tcl script which is simply calling "start_insystem_source_probe" and "read_probe_data -value_in_hex".
To me it seems like Quartus can only pass 32-bit integers as parameters to the top level. I can use pre processor defines in verilog, but in vhdl I would have to generate vhdl code containing the constants unless Quartus can handle the vhdl number syntax better. This is quite cumbersome, and I would expect parameters/generics to work in Quartus. It works fine in simulation (modelsim, ncsim, and vcs) as well as in Xilinx Vivado where I can write (where $sha1 is a tcl variable holding the 160-bit value):set_property generic "GIT_SHA1=160'h$sha1"
My question is if there is a way to pass a parameter/generic of a given size larger than 32-bit?