发布时间 : 星期一 文章数字逻辑实验报告综合版 - 图文更新完毕开始阅读7729fec052d380eb63946d13
基于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(任选一个)的综合结果,以及相应的功能仿真结果。 4、自选一个器件演示其布线后仿真过程。
四、实验结果和数据处理
1、模块及测试平台代码清单 74HC32:
(a) 模块代码
// main.v
module HC32(a,b,y); input [4:1]a,b; output[4:1]y; assign y=a|b; endmodule (b) 测试平台代码
// testbench.v
`timescale 1ns/1ns module testbench; reg [4:1]a,b; wire [4:1]y;
HC32 ul(a,b,y);
initial begin
a=4'b0000;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; end
endmodule
2、第三次仿真结果(布局布线后)
2. 组合逻辑电路
一、实验目的
1、了解基于Verilog的组合逻辑电路的设计及其验证。 2、熟悉利用EDA工具进行设计及仿真的流程。
二、实验环境
Libero仿真软件。
三、实验内容
1、参考74HC00的实验,完成74HC283、74HC85、74HC138、74HC148、74HC15、相应的设计、综合及仿真。
2、记录74HC85的综合结果,以及相应的功能仿真结果。测试平台的测试数据要求:进行比较的A、B两数,分别为本人学号的末两位,如“89”,则A数为“1000”,B数为“1001”。若两数相等,需考虑级联输入(级联输入的各种取值情况均需包括);若两数不等,则需增加一对取值情况,验证A、B相等时的比较结果。
3、自选一个器件演示其布线后仿真过程。
四、实验结果和数据处理
1、74HC85模块及测试平台代码清单 a) 模块代码
// 74HC85.v Module
HC85(A3,A2,A1,A0,B3,B2,B1,B0,QAGB,QASB,QAEB,IAGB,IASB,IAEB); input A3,A2,A1,A0,B3,B2,B1,B0,IAGB,IASB,IAEB; output QAGB,QASB,QAEB; reg QAGB,QASB,QAEB; wire[3:0] DataA,DataB;
assign DataA={A3,A2,A1,A0}; assign DataB={B3,B2,B1,B0}; always @(DataA or DataB) begin
if(DataA>DataB) begin
QAGB=1;QASB=0;QAEB=0; end