求助verilog task重用的问题
时间:10-02
整理:3721RD
点击:
- verilog 的task是在task结束时才将值通过output输出,所以假如tb中要对DUT一个输入端口施加激励波形,应该用全局变量的方式在task中直接对其操作,而不是用task的output端口传递。
- 那问题来了,我的设计有6组同样的信号,我需要写6遍类似的task来分别对这6组信号进行操作吗,是不是应该有更简洁的处理方法。望高手不吝赐教,先谢过了。
你直接call 6个task不就行了?
感谢你的回答。我前面说了,task里是对DUT的一个端口操作,调用6遍task还是对这一个端口,而不是对6个端口操作。
我自己找到的办法是,写一个model,其输入输出对应dut的相应输出输入,把task写在里面,task对该model的端口信号进行操作,然后tb顶层例化该model 6次,并与dut的对应端口连接好。
这是我的解决办法,不知道是不是还有更好的办法,请高手赐教。
不用这么麻烦吧,写一个带输入输出的task不就能代替你写的这个model了么。