Verilog编程巩固练习
1.在线Verilog编程网站学习
首先进入在线编程官网:
https://hdlbits.01xz.net/wiki/Wire
进入后下划,就能看到编程界面了
本次将从门电路、组合电路、时序电路中各选3个以上实践完成
1.1 门电路
1.1.1 与门
点击到与门,它会详细讲述与门的用法,在提交程序后,还会将你的答案与正确答案进行比较
我的解决办法:使输出out等于a与b
module top_module(
input a,
input b,
output out );
assign out=a&b;
endmodule
点击submit(提交)
完成任务,并且与正确答案相同
1.1.2 或非门
或非门只有当所有输入都为低电平时才会输出低电平
将其转化为Verilog语言
输入代码
module top_module(
input a,
input b,
output out );
assign out=!(a||b);
endmodule
成功
1.1.3 异或非门(同或门)
顾名思义,只要输入的电平相同,则输出为高电平,否则为低电平
博主的想法是先把异或门弄出来,因为比较简单,再在前面加个非就能做出异或非门
编写代码
module top_module(
input a,
input b,
output out );
assign out= !((!a & b) | (a & !b));
endmodule
点击提交,可行!
先弄三个门电路,接下来尝试一下组合电路
1.2 组合电路
既然是组合电路,肯定就要用到最经典的半加器全加器了
点击 Circuits->Combinational Logic->Arithmetic Circuits
,能够看到组合电路
1.2.1 半加器
半加器是实现两个一位二