实验四、组合逻辑电路实验Ⅰ(2学时)
组合逻辑Ⅰ:
(1)使用VERILOG设计一个新的逻辑功能(比如四输入或门、或非门、与或非门等等),并在开发板上验证,比如:
进实验室前编写好VERILOG源文件、约束文件和仿真文件(见4.1.2,P101(2))。 (2)设计新的多路选择器(三选一、五选一等等),并在开发板上验证。实验前编写好VERILOG源文件、用户约束文件和仿真文件,实验报告中要给出仿真波形(见4.3,P111(2))。 (查看仿真波形、验收逻辑功能)
(3)查看74LS138的Datasheet,用Verilog语言设计一个3-8译码器。用三个逻辑开关作为输入,8个LED灯作为输出,验证所设计的3-8译码器的逻辑功能。(选做) 实验程序
1.VERILOG设计逻辑函数
(1).VERILOG程序
module gate2( input a, input b, input c, input d, output z );
assign z=~((a&b)|(c&d)); endmodule
(2).约束文件 NET \NET \NET \NET \NET \(3).仿真程序
#100;
// Add stimulus here #100;a<=0;b<=0;c<=0;d<=1; #200;a<=0;b<=0;c<=1;d<=0; #200;a<=0;b<=0;c<=1;d<=1;
#200;a<=0;b<=1;c<=0;d<=0; #200;a<=0;b<=1;c<=0;d<=1; #200;a<=0;b<=1;c<=1;d<=0; #200;a<=0;b<=1;c<=1;d<=1; #200;a<=1;b<=0;c<=0;d<=0; #200;a<=1;b<=0;c<=0;d<=1; #200;a<=1;b<=0;c<=1;d<=0; #200;a<=1;b<=0;c<=1;d<=1; #200;a<=1;b<=1;c<=0;d<=0; #200;a<=1;b<=1;c<=0;d<=1;
#200;a<=1;b<=1;c<=1;d<=0; #200;a<=1;b<=1;c<=1;d<=1;
#200;
end
仿真结果
2.四选一多路选择器 (1)VERILOG程序 module MUX( input wire a, input wire b, input wire c, input wire d, input wire s1, input wire s2, output wire y );
assign y=(a&(~s1)&(~s2))|(b&(~s1)&(s2))|(c&(s1)&(~s2))|(d&(s1)&(s2));
endmodule }
(2)约束文件 NET\NET\NET\NET\NET\NET\NET\
(3)仿真程序 #100 a<=1; b<=0; c<=0; d<=0; s1<=0; s2<=0; #400 a<=0; b<=1; c<=0; d<=0; s1<=0; s2<=1; #400 a<=0; b<=0; c<=1; d<=0; s1<=1;