原创 基础门逻辑--三种描述方式

2015-7-31 15:19 1128 10 10 分类: FPGA/CPLD

基础门逻辑--采用结构化描述方式

 
 
电路图如下:
20150731144008320.jpg
 
顶层文件如下:
module logic_gate(
a,b,out_or,
out_and,out_not
);
 
input a,b;
 
output reg out_or;
output reg out_and;
output reg out_not;
/*
and and_inst(out_and,a,b);  //采用结构化描述方式
or or_inst(out_or,a,b);
not out_not1(out_not,a); 
*/
/*
assign out_and =a & b;  //采用流描述方式
assign out_not = ~a;
assign out_or = a | b;
*/
always @(*) begin      // 采用行为描述方式,注意,always中的变量必须定义为reg型。
out_and = a & b;    //always @(*):当输入变量中的任一个有变化时,响应输出
out_or = a | b;
out_not = ~a;
end
 
 
endmodule
 
测试文件testbench:`timescale 1 ns/1 ns
 
module logic_gate_tb;
 
reg a;
reg b;
 
wire out_and;
wire out_not;
wire out_or;
 
logic_gate logic_gate0(
.a(a),
.b(b),
.out_or(out_or),
.out_and(out_and),
.out_not(out_not)
);
 
initial begin 
a =0;
#50;
a =0;
#50;
a =1;
#50;
a =1;
#50;
end
 
initial begin
b=0;
#50;
b=1;
#50;
b=0;
#50;
b=1;
#50;
end
 
 
endmodule
 
激励信号与响应信号:

a

b

And

Not

Or

0

0

0

1

0

0

1

0

1

1

1

0

0

0

1

1

1

1

0

1

 
 
波形图:
20150731145333241.jpg
 
好了,很简单的~
 
 
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
10
关闭 站长推荐上一条 /1 下一条