基于Libero的数字逻辑设计仿真及验证实验实验报告实验4到8版.docx
《基于Libero的数字逻辑设计仿真及验证实验实验报告实验4到8版.docx》由会员分享,可在线阅读,更多相关《基于Libero的数字逻辑设计仿真及验证实验实验报告实验4到8版.docx(20页珍藏版)》请在冰豆网上搜索。
基于Libero的数字逻辑设计仿真及验证实验实验报告实验4到8版
___计算机__学院______________专业_____班________组、学号______
姓名______________协作者______________教师评定_________________
实验题目_________基于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测试平台代码
//74HC02代码-或非
//74HC02测试平台代码
//74HC04代码-非
//74HC04测试平台代码
//74HC08代码-与
//74HC08测试平台代码
//74HC32代码-或
//74HC32测试平台代码
//74HC86代码-异或
//74HC86测试平台代码
2、第一次仿真结果(任选一个门,请注明,插入截图,下同)。
(将波形窗口背景设为白色,调整窗口至合适大小,使波形能完整显示,对窗口截图。
后面实验中的仿真使用相同方法处理)
3、综合结果(截图)。
(将相关窗口调至合适大小,使RTL图能完整显示,对窗口截图,后面实验中的综合使用相同方法处理)
4、第二次仿真结果(综合后)(截图)。
回答输出信号是否有延迟,延迟时间约为多少?
5、第三次仿真结果(布局布线后)(截图)。
回答输出信号是否有延迟,延迟时间约为多少?
分析是否有出现竞争冒险。
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、所有模块及测试平台代码清单
//74HC148代码
//74HC148测试平台代码
//74HC138代码
//74HC138测试平台代码
//74HC153代码
//74HC153测试平台代码
//74HC85代码
//74HC85测试平台代码
//74HC283代码
//74HC283测试平台代码
//74HC4511代码
//74HC4511测试平台代码
2、第一次仿真结果(任选一个模块,请注明)
3、综合结果
4、第二次仿真结果(综合后)。
回答输出信号是否有延迟,延迟时间约为多少?
5、第三次仿真结果(布局布线后)。
回答输出信号是否有延迟,延迟时间约为多少?
分析是否有出现竞争冒险。
3、时序逻辑电路
一、实验目的
1、了解基于Verilog的时序逻辑电路的设计及其验证。
2、熟悉利用EDA工具进行设计及仿真的流程。
3、学习针对实际时序逻辑电路芯片74HC74、74HC112、74HC194、74HC161进行VerilogHDL设计的方法。
二、实验环境
Libero仿真软件。
三、实验内容
1、熟练掌握Libero软件的使用方法。
2、进行针对74系列时序逻辑电路的设计,并完成相应的仿真实验。
3、参考教材中相应章节的设计代码、测试平台代码(可自行编程),完成74HC74、74HC112、74HC161、74HC194相应的设计、综合及仿真。
4、提交针对74HC74、74HC112、74HC161、74HC194(任选一个)的综合结果,以及相应的仿真结果。
四、实验结果和数据处理
1、所有模块及测试平台代码清单
//74HC74代码
//74HC74测试平台代码
//74HC112代码
//74HC112测试平台代码
//74HC161代码
//74HC161测试平台代码
//74HC194代码
//74HC194测试平台代码
2、第一次仿真结果(任选一个模块,请注明)
3、综合结果
4、第二次仿真结果(综合后)
5、第三次仿真结果(布局布线后)
4、基本门电路、组合电路和时序电路的程序烧录及验证
一、实验目的
1、熟悉利用EDA工具进行设计及仿真的流程。
2、熟悉实验箱的使用和程序下载(烧录)及测试的方法。
二、实验环境及仪器
1、Libero仿真软件。
2、DIGILOGIC-2011数字逻辑及系统实验箱。
3、ActelProasic3A3P030FPGA核心板及FlashPro4烧录器。
三、实验内容
1、新建一个工程文件,将前面已经设计好的74HC00、74HC02、74HC04、74HC08、74HC32、74HC86实例文件导入,在SmartDesign窗口分别添加这6个模块,完成相应连线。
按实验指导书P175的附录B.3中所列引脚对应表来分配引脚,最后通过烧录器烧录至FPGA核心板上。
按分配的引脚连线,实测相应功能并记录结果。
详细步骤请参考教材及实验指导书的相关内容。
2、新建一个工程文件,将前面已经设计好的74HC148、74HC138、74HC153、74HC85、74HC283实例文件导入,在SmartDesign窗口分别添加这5个模块,完成相应连线。
按实验指导书P176的附录B.4中所列引脚对应表来分配引脚,最后通过烧录器烧录至FPGA核心板上。
按分配的引脚连线,实测相应功能并记录结果。
详细步骤请参考教材及实验指导书的相关内容。
3、新建一个工程文件,将前面已经设计好的74HC4511实例文件导入,在SmartDesign窗口添加这1个模块,完成相应连线。
按实验指导书P173的附录B.2中所列引脚对应表来分配引脚,最后通过烧录器烧录至FPGA核心板上。
按分配的引脚连线,实测相应功能并记录结果。
详细步骤请参考教材及实验指导书的相关内容。
4、新建一个工程文件,将前面已经设计好的74HC74、74HC112、74HC194、74HC161实例文件导入,在SmartDesign窗口分别添加这4个模块,完成相应连线。
按实验指导书P178的附录B.5中所列引脚对应表来分配引脚,最后通过烧录器烧录至FPGA核心板上。
按分配的引脚连线,实测相应功能并记录结果。
详细步骤请参考教材及实验指导书的相关内容。
四、实验结果和数据处理
表4-174HC00输入输出状态
输入端
输出端Y
A
B
LED
逻辑状态
0
0
0
1
1
0
1
1
表4-274HC02输入输出状态
输入端
输出端Y
A
B
LED
逻辑状态
0
0
0
1
1
0
1
1
表4-374HC04输入输出状态
输入端
输出端Y
A
LED
逻辑状态
0
1
表4-474HC08输入输出状态
输入端
输出端Y
A
B
LED
逻辑状态
0
0
0
1
1
0
1
1
表4-574HC32输入输出状态
输入端
输出端Y
A
B
LED
逻辑状态
0
0
0
1
1
0
1
1
表4-674HC86输入输出状态
输入端
输出端Y
A
B
LED
逻辑状态
0
0
0
1
1
0
1
1
表4-774LS148输入输出状态
控制
十进制数字信号输入
二进制数码输出
状态输出
I0
I1
I2
I3
I4
I5
I6
I7
A2
A1
A0
GS
EO
1
X
X
X
X
X
X
X
X
0
1
1
1
1
1
1
1
1
0
X
X
X
X
X
X
X
0
0
X
X
X
X
X
X
0
1
0
X
X
X
X
X
0
1
1
0
X
X
X
X
0
1
1
1
0
X
X
X
0
1
1
1
1
0
X
X
0
1
1
1
1
1
0
X
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
注:
X为任意状态
表4-874HC138输入输出状态
使能输入
数据输入
译码输出
E3
A2
A1
A0
1
X
X
X
X
X
X
1
X
X
X
X
X
X
0
X
X
X
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
注:
X为任意状态
表4-974HC153输入输出状态
选择输入
数据输入
输出使能输入
输出
S1
S0
1I0
1I1
1I2
1I3
1Y
X
X
X
X
X
X
1
0
0
0
X
X
X
0
0
0
1
X
X
X
0
1
0
X
0
X
X
0
1
0
X
1
X
X
0
0
1
X
X
0
X
0
0
1
X
X
1
X
0
1
1
X
X
X
0
0
1
1
X
X
X
1
0
注:
X为任意状态
表4-1074HC85输入输出状态
比较输入
级联输入
输出
A3
A2
A1
A0
B3
B2
B0
B1
IA>B
IA=B
IA
A>B
A=B
A
1
X
X
X
0
X
X
X
X
X
X
0
X
X
X
1
X
X
X
X
X
X
1
1
X
X
1
0
X
X
X
X
X
0
0
X
X
0
1
X
X
X
X
X
1
0
1
X
1
0
0
X
X
X
X
0
0
0
X
0
0
1
X
X
X
X
1
1
0
1
1
1
0
0
X
X
X
0
0
1
0
0
0
1
1
X
X
X
1
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
1
注:
X为任意状态
表4-1174HC283输入输出状态
进位输入
4位加数输入
4位被加数输入
输出加法结果和进位
Cin
A4
A3
A2
A1
B4
B3
B2
B1
Cout
S4
S3
S2
S1
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
表4-1274HC4511输入输出状态
使能输入
数据输入
译码输出
LE
D
C
B
A
a
b
c
d
e
f
g
0
X
X
X
X
X
X
1
0
X
X
X
X
X
1
1
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
注:
X为任意状态
表4-1374HC74输入输出状态
输入
输出
置位输入
复位输入
CP
D
1Q
0
1
X
X
1
0
X
X
1
1
↑
0
1
1
↑
1
0
0
X
X
注:
X为任意状态
表4-1474HC112输入输出状态
输入
输出
置位输入
复位输入
1
1J
1K
1Q
0
1
X
X
X
1
0
X
X
X
1
1
↓
1
1
1
1
↓
0
1
1
1
↓
1
0
0
0
X
X
X
注:
X为任意状态
表4-1574HC194输入输出状态
输入
输出
模式
串行
CP
并行
S1
S0
DSR
DSL
D0
D1
D2
D3
Q0n+1
Q1n+1
Q2n+1
Q3n+1
0
X
X
X
X
X
X
X
X
X
1
1
1
X
X
↑
D0
D1
D2
D3
1
0
0
X
X
↑
X
X
X
X
1
0
1
0
X
↑
X
X
X
X
1
0
1
1
X
↑
X
X
X
X
1
1
0
X
0
↑
X
X
X
X
1
1
0
X
1
↑
X
X
X
X
注:
X为任意状态
表4-1674HC161输入输出状态
输入
输出
CP
CEP
CET
D3
D2
D1
D0
Q3
Q2
Q1
Q0
TC
0
X
X
X
X
X
X
X
X
1
↑
X
X
0
0
0
0
0
1
↑
1
1
0
D3
D2
D1
D0
1
↑
1
1
1
X
X
X
X
1
X
0
X
1
X
X
X
X
1
X
X
0
1
X
X
X
X
注:
X为任意状态
5、数字逻辑综合设计仿真及验证
一、实验目的
1、进一步熟悉利用EDA工具进行设计及仿真的流程。
2、熟悉利用EDA工具中的图形化设计界面进行综合设计。
3、熟悉芯片烧录的流程及步骤。
4、掌握分析问题、解决问题的综合能力,通过EDA工具设计出能解决实际问题的电路。
二、实验环境
1、Libero仿真软件。
2、DIGILOGIC-2011数字逻辑及系统实验箱。
3、ActelProasic3A3P030FPGA核心板及FlashPro4烧录器。
三、实验内容
1、编码器扩展实验
设计一个电路:
当按下小于等于9的按键后,显示数码管显示数字,当按下大于9的按键后,显示数码管不显示数字。
若同时按下几个按键,优先级别的顺序是9到0。
本实验需要两个编码器74HC148、一个数码显示译码器74HC4511、一个共阴极8段显示数码管LN3461Ax和一个数值比较器74HC85。
2、有符号比较器的设计(选做)
设计要求:
设计一个电路,比较两个8位有符号数的大小,判定是否满足大于等于的关系。
3、跑马灯设计
设计要求:
共8个LED灯连成一排,用以下3种模式来显示,模式选择使用两个按键进行控制。
①模式1:
先点亮奇数灯,即1、3、5、7灯亮,然后偶数灯,即2、4、6、8灯亮,依次循环,灯亮的时间按时钟信号的二分频设计。
②模式2:
按照1、2、3、4、5、6、7、8的顺序依次点亮所有灯;然后再按1、2、3、4、5、6、7、8的顺序依次熄灭所有灯,间隔时间按时钟信号的八分频设计。
③模式3:
按照1/8、2/7、3/6、4/5的顺序依次点亮所有灯,每次同时点亮两个灯;然后再按1/8、2/7、3/6、4/5的顺序熄灭相应灯,每次同时熄灭两个灯,灯亮的时间按时钟信号的四分频设计。
4、四位数码管扫描显示电路的设计
设计要求:
共4个数码管,连成一排,要求可以显示其中任意一个数码管。
具体要求如下:
①依次选通4个数码管,并让每个数码管显示相应的值,其结果由相应输入决定。
②要求能在实验箱上演示出数码管的动态显示过程。
必须使得4个选通信号DIG1、DIG2、DIG3、DIG4轮流被单独选通,同时,在段信号输入口加上希望在对应数码管上显示的数据,这样随着选通信号的变化,才能实现扫面显示的目的(经验数据为扫描频率大于等于50Hz)。
5、交通灯控制器(选做)
6、键盘扫描器和编码器(选做)
四、实验结果和数据处理
1、编码器扩展实验
(1)SmartDesign的连线图
(2)功能仿真波形图
(3)综合结果RTL图
(4)引脚分配I/OAttributEditor截图(注意:
分配时应避开FPGA核心板已经占用的引脚,详情请参考实验指导书图1-7的标注;使用键盘及数码管显示扩展板时应按本文附录中的说明来分配相应的引脚。
)
(5)记录实测结果
表5-2编码器扩展实验结果记录表
74HC148
(1)输入
74HC148(0)输入
74HC4511
显示
字形
I7
I6
I5
I4
I3
I2
I1
I0
I7
I6
I5
I4
I3
I2
I1
I0
abcdefg
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1