一.实验步骤
(1) 启动QUARTUSⅡ建立一个空白工程,然后命名为ASDFF.qpf。
(2) 新建VerilogHDL源程序文件add4.v,输入程序代码并保存,然后进行综合编译。若在编译过程中发现错误,则找出并更正错误,直到编译成功为止。
module ASDFF(a,b,c,f);
input a,b,c;
output f;
assign f=(a&b)|(a&c)|(b&c);
endmodule
(3) 从设计文件创建模块,由ASDFF.v生成名为ASDFF.bsf的模块符号文件。
(4) 新建图形设计文件命名为add_4.bdf在空白处双击鼠标左键,在symbol对话框左上脚的libraries中,分别将projet下的add4模块放在图形文件add_4.bdf中,加入输入、输出引脚,双击各引脚符号,进行引脚命名。连接好的原理图
(5) 将ASDFF.bdf设置为顶层实体。对该工程文件进行全程编译处理,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。查看RTL图,检查电路逻辑关系是否正确。
(6) 启动ModelSim仿真软件,编辑仿真软件
`timescale 1ns/1ns
module ASDFF_tp;
reg a,b,c;
wire f;parameter dely=10;()
ASDFF u1(a,b,c,f);
initial begin
a=0;b=0;c=0;
#10 a=0;b=0;c=1;
#10 a=0;b=1;c=0;
#10 a=0;b=1;c=1;
#10 a=1;b=0;c=0;
#10 a=1;b=0;c=1;
#10 a=1;b=1;c=0;
#10 a=1;b=1;c=1;
#dely $finish;
end
initial $monitor($time,,,"%b\\%b\\%b\\%b",a,b,c,f);
endmodulemodule ASDFF(a,b,c,f);
input a,b,c;
output f;
assign f=(a&b)|(a&c)|(b&c);
endmodule
(7)仿真波形图