一、实验目的:掌握基本建模语句。
二、实验涉及语法:
(1)第二章的门级语法。
(2)第三章的数据流语法。
三、实验步骤:
1、建立工程:打开Quartus软件,在菜单栏中点击【File】→【New Project Wizard】,会弹出工程设置对话框,工程名和新建顶层模块名正常应该是空白的,这里填decoder3x8,此名称要与设计模块中的module名称一致。填写好名称后,依次点击【Next】 即可,选择【Empty project】。进入下一步,选择添加文件。在Simulation 一栏中选择ModelSim工具。最后会有一个简单的报告,结束后就可以完成新工程的建立。
2、设计编译:在【File】菜单中选择【New】,选择Verilog HDL文件,建立一个新的设计文件,设计文件复制到软件中。将该文件保存后,在快捷工具栏中找到快捷按钮【Start Compilation】,点击分析。
3、联合仿真:在菜单栏找到按钮【RTL Simulation】,单击,进入Modelsim,单击【Wave—Default】栏的每一栏,出现【Define Clock】菜单栏,输入仿真得数据。改动菜单栏的【Run Length】中的数据,单击【Run Length】栏旁边的【Run】按钮。
四、实验代码:
module decoder3x8(Yn,S1,S2n,S3n,A);
input S1,S2n,S3n;
input [2:0] A;
output [7:0] Yn;
wire S2,S3;
wire A0n,A1n,A2n;
assign S2=~S2n;
assign S3=~S3n;
assign S=S1&S2&S3;
assign A0n=~A[0];
assign A1n=~A[1];
assign A2n=~A[2];
assign Yn[0]=~(A0n & A1n & A2n & S);
assign Yn[1]=~(A[0] & A1n & A2n & S);
assign Yn[2]=~(A0n & A[1] & A2n & S);
assign Yn[3]=~(A[0] & A[1] & A2n & S);
assign Yn[4]=~(A0n & A1n & A[2] & S);
assign Yn[5]=~(A[0] & A1n & A[2] & S);
assign Yn[6]=~(A0n & A[1] & A[2] & S);
assign Yn[7]=~(A[0] & A[1] & A[2] & S);
endmodule
五、实验部分截屏:
六、实验结果截屏: