一、Basic
Simaple wire
将输出与输入关联起来。
与软件类编程语言不同,硬件类编程语言在进行编程时,要联系硬件的实际情况,比如这题in和out是同时变化的,而不像软件中的赋值那样存在延时。
module top_module( input in, output out );
assign out = in; // 输出一定要放在”=“号左边,输入放在右边,否则会报错
// “assign”在这里的意思是“赋值”
endmodule
Four wires
将3个输入与4个输出关联起来。
同时进行多个“assign”时,语句的顺序并不重要,因为它们是同时进行赋值的。
一个输入可以赋值给多个输出,但一个输出不能接受多个输入。
module top_module(
input a,b,c,
output w,x,y,z );
assign w = a;
assign x = b;
assign y = b;
assign z = c;
endmodule
Inverter
实现“非”门(~)。
“非”门的作用是对信号进行取反。注意不能在assign语句和always@(*)语句中在“=”两边存在相同的信号。
A |
~A |
0 |
1 |
1 |
0 |