欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > Verilog基本知识点总结

Verilog基本知识点总结

2025/9/17 6:47:52 来源:https://blog.csdn.net/2301_76563419/article/details/139723460  浏览:    关键词:Verilog基本知识点总结

#学习记录#

1 verilog中~和!的区别

  • !表示逻辑取反,~表示按位取反。
  • 当面对位宽为1时,两个操作符的作用相同。
  • 当位宽不为1时:

~会将变量的各个位依次取反:a[2:0]={1,1,0},~a={0,0,1}。

!会将变量作为一个值去处理:a[2:0]={1,1,0},a=6,!a=0; a[2:0]={0,0,0},!a=1。

2 verilog中的复制拼接

a=2'h4,b=2'h5将a,b拼接起来{a,b}=4'h45。如果要将a,b重复拼接32次,需要用到复制拼接,如下所示:

c={32{a,b}};
//等效于
c={{a,b},{a,b},{a,b}...{a,b}};

便于代码维护,定义一个parameter,如下所示:

parameter COPY_NUM = 'd32;
c={COPY_NUM{a,b}};

这里的复制次数必须为常量,不可以为变量。

3 verilog参数例化

  • 参数定义parameter,如下所示:
module print#(parameter TIMES =32)
(input clk,input rst_n,output reg print_out
);
  • 参数例化
ram #(.width(16),.depth(4)
)
ram_test(.clk(clk),.rst(rst)
);

在模块例化时可以使用参数传递如上所示。

_______________________________________________________________________

会持续更新...

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词