数字逻辑实验报告综合版 - 图文 联系客服

发布时间 : 星期一 文章数字逻辑实验报告综合版 - 图文更新完毕开始阅读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

else if(DataA

QAGB=0;QASB=1;QAEB=0;