在线Verilog编程网站学习
一、门电路例题实践
1.创建一个实现“与”门的模块。
该电路现在有三根线(a,b,和out)。导线a和b已经通过输入端口将值驱动到导线上。但是,电线out目前不受任何驱动。写一个assign声明驱动器out与信号的ANDa和b。
实现代码:
module top_module(
input a,
input b,
output out );
assign out = a & b;
endmodule
2.创建一个实现“或非”门的模块。
或非门是其输出取反的或门。用Verilog编写时,NOR函数需要两个运算符。
一条assign语句驱动带有值的电线(或“ net”,更正式地称为“ net”)。该值可以是所需的复杂函数,只要它是组合(即,无内存,无隐藏状态)函数即可。的assign语句是一个连续的分配,因为输出是“重新计算”,只要任何其输入的变化,永远的,很像一个简单的逻辑门。
实现代码:
module top_module(
input a,
input b,
output out );
assign out =~ (a | b);
endmodule
3.创建一个实现XNOR门的模块。
同或门 (XNor Gate) 是异或门 (Nor Gate) 的取反输出。异或门的输入输出可以概括为:(输入)相同(输出)为 0 ,不同为 1 。
实现代码:
module top_module(
input a,
input b,
output out );
assign out =~( a ^ b);
endmodule