FPGA series # 用于时序仿真的monitor

知识点积累。

monitor是一种思路,时序仿真时想要看到自己写的模块内部各端口的值,以便于改错调试。而不是将自己写的模块作为一个黑盒子,只有几个外部接口,在出问题时不能及时查看数据异常的源头。
  简单地描述,在写monitor时,从最底层模块中assign想看到的各种端口到自定义的O_monitor中,并将其作为输出,通过调用到上层模块,比如:

output			[63 : 0]	O_monitor
assign	O_monitor = {14'b0,start_cg,start_cnt,cnt_ico,cnt_jco,cnt_i,cnt_j,row_int,col_int};	
.O_monitor(coefficient_generation_monitor)

然后在顶层模块里,通过top_monitor_sel(作为输入)的值判断选择需要看到哪个小模块的信号线。比如:

assign	O_monitor	=	(top_monitor_sel == 0) ? coefficient_generation_monitor					:
						(top_monitor_sel == 1) ? data_fetch_monitor	                            :
											     66'hffff_ffff_ffff_ffff						;

  • 在block design中,O_monitor接ila的native端口,top_monitor_sel 接vio的输出端口。注意各端口位宽和最后要输出的各monitor位宽是否匹配。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值