verilog中用循环语句打印1000个不同变量?
时间:10-02
整理:3721RD
点击:
模块中1000个变量,如下:
reg [7:0]a1 a2 .... a1000; (数字1 2 3 ... 1000是变量名的一部分)
要将这1000个变量值打印出来,最粗暴的办法是写1000个display语句。
能否用循环语句实现?
reg [7:0]a1 a2 .... a1000; (数字1 2 3 ... 1000是变量名的一部分)
要将这1000个变量值打印出来,最粗暴的办法是写1000个display语句。
能否用循环语句实现?
·define del(b)a``b
for(i=1;i<=1000;i++)
$display(`del(i))
谢谢~
vcs仿真报错,貌似`del(i)被 解释称ai,而不是期望的a1,a2,a3。
Identifier 'ai' has not been declared yet. If this error is not expected,
please check if you have set `default_nettype to none.
根据sv lrm中的例子,define中的参数在宏展开后保持字面意思,应该不会被当成变量,解释成变量值。
`define append(f) f``_master
An example of using this `append macro is:
`append(clock)
This example expands to:
clock_master
问题没解决,我顶!