IC
Zhizho Z
这个作者很懒,什么都没留下…
展开
-
SystemVerilog&Verilog 算术(右&左)移和逻辑(右&左)移的区别
SystemVerilog & Verilog 算术(左移&右移)和逻辑(左移&右移)区别原创 2022-08-17 14:33:17 · 1459 阅读 · 1 评论 -
systemverilog 在任务中修改句柄
参数tr没有被声明为ref,所以在方法内部对tr的修改不会被调用该方法的代码看到,参数tr默认的方向是input。错误代码如下:module test(); typedef class Transaction; function void create(Transaction tr); tr = new(); tr.addr = 42; endfunction class Transaction; bit [31:0] addr, crc, data[原创 2021-11-19 10:14:45 · 1510 阅读 · 0 评论 -
systemverilog 编译顺序的问题
systemverilog 编译顺序的问题在systemverilog中,如下面这段代码,如果class Transaction在后面定义,然后前面的function使用到了它,那么就会导致程序编译出错,因为在前面的function还没能识别到后面的定义。【SV书上给的解释是:你需要编译一个类,而这个类包含一个尚未定义的类。声明这个被包含的类的句柄将会引起错误,因为编译器还不认识这个新的数据类型。这时候需要使用typedef语句声明这个类名】module test(); function v原创 2021-11-19 10:09:48 · 1000 阅读 · 0 评论 -
Systemverilog ref的使用
1.ref只能用于动态方法中;2.ref引用的参数,此时方法对引用的修改将会同时反应在方法之外;反之,在方法调用期间,方法体外对被引用参数的修改,也会同时反应在方法之内;3.如果期望方法对于引用只能进行“只读”访问,那么可以在ref的基础上增加const特性;4.ref和input、output、inout不能连用;5.ref指定的形参后在方法被引用时,形参类型和实参类型必须完全匹配,即使形参类型和实参类型可以自动转换也不行;具体事例可查看引用源:https://mp.weixin.qq.com/原创 2021-11-10 10:12:15 · 734 阅读 · 1 评论 -
简单握手信号 解析
简单握手信号 解析以B模块为中心next_in(output): B发送给A next_in信号,表示B可以接收数据了,A可以发送数据过来给B了next_out(input): C发送给B next_out信号,表示C给B指令,B可以发送数据给C了...原创 2021-10-15 18:08:35 · 476 阅读 · 0 评论