verilog学习笔记

第一次使用verilog进行编程,所知道的太少,所以要学习和注意的东西就比较多,这次只是初级的编辑了一个mux 4选1选择器,也是学到了一些基础的知识的。
下面是我的代码模块

module top(in0,in1,in2,in3,out,sl);
input in0,in1,in2,in3;
output out;
input [1:0] sl;
reg out;
always@(in0 or in1 or in2 or in3 or sl) begin
case (sl[1:0])
2'b00: out=in0;
2'b01: out=in1;
2'b10: out=in2;
2'b11: out=in3;
endcase
end
endmodule 

进行RTL Viewer之后可以得到电路图
4选1电路图
之后就是进行波形的仿真。
在这里插入图片描述
然后仿真结果如下
在这里插入图片描述
目标完成。

通过这次学习,初步了解了Verilog的一些编程思路,当然也遇到了一些问题。
(1)、波形仿真一开始没有设置为时序模拟,所以仿真出来的结果是由延迟的,需要在assignments—settings下的波形仿真中选择为functional就好了,这样仿真出来的就没有延迟了。
(2)、在processing菜单下,有个Generate Functional Simulation Netlist 选项,运行下这个之后,先进行这个仿真,然后在进行波形仿真就不会出现错误了。
因为选择运行了功能仿真,默认是时序仿真。所以在进行功能仿真前,要生成功能仿真网表的。
(3)、关于代码的部分,需要对一些常用的语句进行熟悉,如case语句,if~else语句等功能性语句的编写,还有begin end的注意。
(4)、整型常量在Verilog中一般分为二进制(b或B),十进制(d或D),十六进制(h或H),八进制(o或O)。数字表达方式一般有<位宽><进制><数字>:如8‘b10101100表示位宽为8的数的二进制表示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值