原创
Generate复用语句仿真时添加信号到波形窗口问题
问题描述:
Verilog使用Gnerate+for循环复用逻辑,在添加每个复用模块里的信号在ModelSim波形窗口进行观测的时候,发现添加失败。一般的添加信号do命令格式如下:
add wave -noupdate -format Logic /cs_sortmerger_stack_tb/tb/scan_timesup_flag
#add wave -noupdate -format Literal -radix hexadecimal /cs_sortmerger_stack_tb/stack_Inst/rdempty_l#add wave -noupdate -format Literal -radix hexadecimal /cs_sortmerger_stack_tb/stack_Inst/rdempty_r复制代码但是如果是复用模块,那么do命令格式就是这样的:
add wave -noupdate -format Literal -radix hexadecimal {/cs_sortmerger_stack_tb/tb/level1_merger[0]/level1_merger_Inst/sflag}
add wave -noupdate -format Logic {/cs_sortmerger_stack_tb/tb/level1_merger[0]/level1_merger_Inst/empty1}add wave -noupdate -format Logic {/cs_sortmerger_stack_tb/tb/level1_merger[0]/level1_merger_Inst/empty2}add wave -noupdate -format Logic {/cs_sortmerger_stack_tb/tb/level1_merger[0]/level1_merger_Inst/rdreq1} add wave -noupdate -format Logic {/cs_sortmerger_stack_tb/tb/level1_merger[0]/level1_merger_Inst/rdreq2}add wave -noupdate -format Logic {/cs_sortmerger_stack_tb/tb/level1_merger[0]/level1_merger_Inst/rdreq1_reg} add wave -noupdate -format Logic {/cs_sortmerger_stack_tb/tb/level1_merger[0]/level1_merger_Inst/rdreq2_reg}add wave -noupdate -format Logic {/cs_sortmerger_stack_tb/tb/level1_merger[0]/level1_merger_Inst/merged_en1}add wave -noupdate -format Logic {/cs_sortmerger_stack_tb/tb/level1_merger[0]/level1_merger_Inst/merged_en2}add wave -noupdate -format Logic {/cs_sortmerger_stack_tb/tb/level1_merger[0]/level1_merger_Inst/merged_en}复制代码即信号部分必须使用大括号框起来。
另外,需要注意的是:generate语句本身产生的功能模块在ModelSim里面被识别为逻辑设计层次结构的一层,故在上述波形添加语句中“level1_merger”除了Inst一层外,上层还包裹了Generate实体一层,否则仿真的时候会提示找不到目标。
作者: coyoo, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-1010859.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论