基于Libero的数字逻辑设计仿真及验证实验实验报告(实验4到8)

更新时间:2023-10-18 04:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机__学院_网络工程_专业_1班___组、学_

实验题目_________基于Libero的数字逻辑设计仿真及验证实验_________

1、 熟悉EDA工具的使用;仿真基本门电路。 2、 仿真组合逻辑电路。 3、 仿真时序逻辑电路。

4、 基本门电路、组合电路和时序电路的程序烧录及验证。 5、 数字逻辑综合设计仿真及验证。

实验报告

1、基本门电路

一、实验目的

1、了解基于Verilog的基本门电路的设计及其验证。 2、熟悉利用EDA工具进行设计及仿真的流程。 3、学习针对实际门电路芯片74HC00、74HC02、74HC04、74HC08、74HC32、74HC86进行VerilogHDL设计的方法。

二、实验环境

Libero仿真软件。

三、实验内容

1、掌握Libero软件的使用方法。

2、进行针对74系列基本门电路的设计,并完成相应的仿真实验。 3、参考教材中相应章节的设计代码、测试平台代码(可自行编程),完成74HC00、74HC02、74HC04、74HC08、74HC32、74HC86相应的设计、综合及仿真。

4、提交针对74HC00、74HC02、74HC04、74HC08、74HC32、74HC86(任选一个)的综合结果,....以及相应的仿真结果。

四、实验结果和数据处理

1、所有模块及测试平台代码清单 ..

//74HC00代码-与非 // 74HC00.v

module HC00(DataA, DataB,Y); input [3:0]DataA,DataB; output [3:0]Y; assign Y=~(A&B); endmodule

1

//74HC00测试平台代码 // testbench.v

`timescale 1ns/1ns module testbench(); reg [4:1] a,b; wire [4:1] y; HC00 u1(a,b,y); initial begin a=4'b0000;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; a=4'b1111;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; end endmodule

//74HC02代码-或非 module HC02(A,B,Y); input [4:1]A,B; output [4:1]Y; assign Y=~(A|B); endmodule

//74HC04代码-非 module HC04(A,Y); input [4:1]A; output [4:1]Y; assign Y=~A; endmodule

//74HC08代码-与 module HC08(A,B,Y); input [4:1]A,B; output [4:1]Y; assign Y=A&B; endmodule

//74HC32代码-或 module HC32(A,B,Y);

2

input [4:1]A,B; output [4:1]Y; assign Y=A|B; endmodule

//74HC86代码-异或 module HC86(A,B,Y); input [4:1]A,B; output [4:1]Y; assign Y=A^B; endmodule

/门电路测试平台代码 // testbench.v

`timescale 1ns/1ns module testbench(); reg [4:1] a,b; wire [4:1] y; HC00 test(a,b,y); initial begin a=4'b0000;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; a=4'b1111;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; end endmodule

2、第一次仿真结果(任选一个门,请注明,插入截图,下同)。(将波形窗口背景设为白色,调整窗口...................至合适大小,使波形能完整显示,对窗口截图。后面实验中的仿真使用相同方法处理) ..

与非门:

3

3、综合结果(截图)。(将相关窗口调至合适大小,使RTL图能完整显示,对窗口截图,后面实验中的..综合使用相同方法处理)

与非门:

4、第二次仿真结果(综合后)(截图)。回答输出信号是否有延迟,延迟时间约为多少? ..

4

与非门:

输出信号有延迟,延迟时间约为300ps 延迟300ps

5、第三次仿真结果(布局布线后)(截图)。回答输出信号是否有延迟,延迟时间约为多少?分析..是否有出现竞争冒险。 与非门:

输出信号在开始视延迟3200ps 后面延迟4000ps左右

5

由上图分析可以知道,在黄线以右的输出转折点处出现了竞争冒险,总共3次。

6

2、组合逻辑电路 一、实验目的

1、了解基于Verilog的组合逻辑电路的设计及其验证。 2、熟悉利用EDA工具进行设计及仿真的流程。

3、学习针对实际组合逻辑电路芯片74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511进行VerilogHDL设计的方法。

二、实验环境

Libero仿真软件。

三、实验内容

1、掌握Libero软件的使用方法。

2、进行针对74系列基本组合逻辑电路的设计,并完成相应的仿真实验。 3、参考教材中相应章节的设计代码、测试平台代码(可自行编程),完成74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511相应的设计、综合及仿真。

4、74HC85测试平台的测试数据要求:进行比较的A、B两数,分别为本人学号的末两位,如“89”,则A数为“1000”,B数为“1001”。若两数相等,需考虑级联输入(级联输入的各种取值情况均需包括);若两数不等,则需增加一对取值情况,验证A、B相等时的比较结果。

5、74HC4511设计成扩展型的,即能显示数字0~9、字母a~f。

6、提交针对74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511(任选一个)的综合....结果,以及相应的仿真结果。

四、实验结果和数据处理

1、所有模块及测试平台代码清单

//74HC138代码 // decoder.v

module decoder138 (Din,Enable,Eq); input [2:0] Din; input Enable; output [7:0] Eq; reg [7:0] Eq; wire [2:0]Din; integer I; always @ (Din or Enable) begin

7

if(Enable) Eq=0; else for(I=0;I<=7;I=I+1) if(Din==I) Eq[I]=1; else Eq[I]=0; end endmodule

//74HC138测试平台代码 // testbench.v

`timescale 1ns/1ns module testbench; reg [2:0]Din; reg enable; wire [7:0]dataout; initial #400 $finish; initial begin enable=1; #40 enable=0; end initial begin repeat(20) #20 dataIn=$random; end decoder138 test(Din,enable,dataout);

endmodule

//74HC148代码

module encoder148(Din,EO,Dout,EI,GS); input [7:0]Din; input EI; output EO; output [2:0]Dout;

8

reg EO; reg GS; integer I;

always @ (Din or EI) begin:local if(EI) begin

Dout=7; EO=1; GS=1; end

else if(Din==16'b11111111) begin

Dout=7; EO=0; GS=1; end else

begin

for(I=0;I<8;I=I+1) begin

if(~Din[I]) begin

Dout=~I; EO=1; GS=0; end end end endmodule

//74HC148测试平台代码 `timeccale 1ns/10ps module testbench; reg[7:0] in; reg EI; wire[2:0] out; wire EO,GS; initial begin in='b00000001; repeat(9)

9

号的变化,才能实现扫面显示的目的(经验数据为扫描频率大于等于50Hz)。

5、交通灯控制器(选做) ..

6、键盘扫描器和编码器(选做) ..

四、实验结果和数据处理

1、编码器扩展实验

(1)SmartDesign的连线图

(2)功能仿真波形图

35

(3)综合结果RTL图

(4)引脚分配I/O Attribut Editor截图(注意:分配时应避开FPGA核心板已经占用的引脚,详情...请参考实验指导书图1-7的标注;使用键盘及数码管显示扩展板时应按本文附录中的说明来分配相应的引脚。)

36

(5)记录实测结果

表5-2编码器扩展实验结果记录表

74HC148(1)输入 I7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 I6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 I5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 I4 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 I3 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 I2 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 I1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 I0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 I7 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 I6 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 74HC148(0)输入 I5 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 I4 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 I3 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 I2 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 I1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 74HC4511 显示 abcdefg abc abcdefg abcfg abc bcfg abdeg cdefg ab acdfg abcdg 字形 7 8 无 无 无 9 无 无 无 7 0 4 2 6 1 5 3

2、有符号比较器的设计(选做) ..

(1)SmartDesign的连线图

(2)功能仿真波形图

(3)综合结果RTL图

(4)引脚分配I/O Attribut Editor截图

(5)记录实测结果(自行选取参与比较数据)

表5-5有符号比较器实验结果记录表

37

输入 DataA[7:0] DataB[7:0] 输出 AGEB 00000000 00000000 00001001 10000001 11111001 10001100

3、跑马灯设计

(1)SmartDesign的连线图

(2)功能仿真波形图

(3)综合结果RTL图

(4)引脚分配I/O Attribut Editor截图

(5)记录实测结果

表5-9 跑马灯实验记录表

rst 1 0 0 0 SI1 X 0 0 1 SI2 X 0 1 1 输出状态描述

4、四位数码管扫描显示电路的设计 (1)SmartDesign的连线图

(2)功能仿真波形图

(3)综合结果RTL图

(4)引脚分配I/O Attribut Editor截图

5、交通灯控制器(选做) ..

6、键盘扫描器和编码器(选做) ..

38

本文来源:https://www.bwwdw.com/article/43tf.html

Top