资源描述:
《数字逻辑实验报告综合版》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于Libero的数字逻辑仿真实验1.基本门电路一、实验目的1、了解基于Verilog的基本门电路的设计及其验证。2、熟悉利用EDA工具进行设计及仿真的流程。 二、实验环境Libero仿真软件。 三、实验内容1、参考4.1基本门电路实验掌握Libero软件的使用方法。2、参考74HC00的实验,完成74HC00、74HC02、74HC04、74HC08、74HC32、74HC86相应的设计、综合及仿真3、提交针对74HC00、74HC02、74HC04、74HC08、74HC32、74HC86(任选一个)的综合结果,以及相应的功能
2、仿真结果。4、自选一个器件演示其布线后仿真过程。 四、实验结果和数据处理1、模块及测试平台代码清单 74HC32:(a)模块代码//main.vmoduleHC32(a,b,y);input[4:1]a,b;output[4:1]y;assigny=a
3、b;endmodule(a)测试平台代码//testbench.v`timescale1ns/1nsmoduletestbench;reg[4:1]a,b;wire[4:1]y;HC32ul(a,b,y);initialbegina=4'b0000;b=4'b0001;#10b=b
4、<<1;#10b=b<<1;#10b=b<<1;#10b=b<<1;endendmodule2、第三次仿真结果(布局布线后)1.组合逻辑电路一、实验目的1、了解基于Verilog的组合逻辑电路的设计及其验证。2、熟悉利用EDA工具进行设计及仿真的流程。 二、实验环境Libero仿真软件。 三、实验内容1、参考74HC00的实验,完成74HC283、74HC85、74HC138、74HC148、74HC15、相应的设计、综合及仿真。2、记录74HC85的综合结果,以及相应的功能仿真结果。测试平台的测试数据要求:进行比较的A、B两数,
5、分别为本人学号的末两位,如“89”,则A数为“1000”,B数为“1001”。若两数相等,需考虑级联输入(级联输入的各种取值情况均需包括);若两数不等,则需增加一对取值情况,验证A、B相等时的比较结果。3、自选一个器件演示其布线后仿真过程。 四、实验结果和数据处理1、74HC85模块及测试平台代码清单a)模块代码//74HC85.vModuleHC85(A3,A2,A1,A0,B3,B2,B1,B0,QAGB,QASB,QAEB,IAGB,IASB,IAEB);inputA3,A2,A1,A0,B3,B2,B1,B0,IAGB,I
6、ASB,IAEB;outputQAGB,QASB,QAEB;regQAGB,QASB,QAEB;wire[3:0]DataA,DataB;assignDataA={A3,A2,A1,A0};assignDataB={B3,B2,B1,B0};always@(DataAorDataB)beginif(DataA>DataB)beginQAGB=1;QASB=0;QAEB=0;endelseif(DataA7、QAGB=1;QASB=0;QAEB=0;endelseif(!IAGB&IASB&!IAEB)beginQAGB=0;QASB=1;QAEB=0;endelseif(IAEB)beginQAGB=1;QASB=0;QAEB=0;endelseif(IAGB&IASB&!IAEB)beginQAGB=0;QASB=0;QAEB=0;endelseif(!IAGB&!IASB&!IAEB)beginQAGB=1;QASB=1;QAEB=0;endendendmodulea)测试平台代码//test.v`timescale1ns/1n
8、smoduletestbench;regA3,A2,A1,A0,B3,B2,B1,B0;regIAGB,IASB,IAEB;wireQAGB,QASB,QAEB;initialbeginA3=1;repeat(20)#20A3=$random;endinitialbeginA2=0;repeat(20)#20A2=$random;endinitialbeginA1=0;repeat(20)#20A1=$random;endinitialbeginA0=1;repeat(20)#20A0=$random;endinitialbegi
9、nB3=0;repeat(20)#20B3=$random;endinitialbeginB2=1;repeat(20)#20B2=$random;endinitialbeginB1=0;repeat(20)#20B1=$random;endini