求助各位大神们这两种写法的区别
时间:10-02
整理:3721RD
点击:
假如一个testbench的层次如下,
tb
|
--------------------
| |
top sub_tb0
|
ip0
假如ip0中有一个信号是aaa,在sub_tb0中定义一个信号bbb,如下:
assign bbb = tb.top.ip0.aaa;
请问这种写法和把aaa output到top和tb,然后input到sub_tb0中有什么区别?功能上和综合上而言?
tb
|
--------------------
| |
top sub_tb0
|
ip0
假如ip0中有一个信号是aaa,在sub_tb0中定义一个信号bbb,如下:
assign bbb = tb.top.ip0.aaa;
请问这种写法和把aaa output到top和tb,然后input到sub_tb0中有什么区别?功能上和综合上而言?
不懂小编写的是什么
若這是 design, 顯然是不行 synthesize 的.
這樣的寫法, 無法模組化, 無法 reuse.
不好的寫法
这种写法只能用于仿真,不可综合。
既然是tb的写法为什么强调可综合?
同意4楼!这种写法应该是比较灵活和方便,要不想用一个内部的信号,都引到模块的端口上不是很麻烦吗!最近也在尝试用这种方式。
5楼所说,写tb时并没有强调可综合。
sub_tb0是做观察器的吗?
不建议兄弟层上互相访问,完全可以让tb来实现连接
sub_tb0是做观察器的吗?
不建议兄弟层上互相访问,完全可以让tb来实现连接
这个就像C++里面的全局变量,它是可以透过模块直接使用,但用多了会把结构搞的混乱。你这样写TB没有问题,但后人维护起来需要注意更多的地方,因为信号不都来自端口。
明白了,所以在design中不能这样引用tb中的信号,因为不可综合,在tb中虽然可以这样去引用design中的信号,不过也是不推荐的做法,因为不好模组化和移植,对吧
是不是可以理解为tb中一种图方便的写法
对,所以tb中可以这样去引用design的信号,不过这个信号是不会出现在design的端口上的,对的吧
毕竟不是sub design之间互访,tb引用design的信号这样写倒是省事,不会影响design吧
对,tb中这样引用方便