基于Libero的数字逻辑设计仿真及验证实验实验报告
- 格式:doc
- 大小:1.58 MB
- 文档页数:43
一、实验目的1. 理解数字逻辑的基本概念和基本原理。
2. 掌握数字逻辑电路的基本分析方法,如真值表、逻辑表达式等。
3. 熟悉常用数字逻辑门电路的功能和应用。
4. 提高数字电路实验技能,培养动手能力和团队协作精神。
二、实验原理数字逻辑电路是现代电子技术的基础,它主要研究如何用数字逻辑门电路实现各种逻辑功能。
数字逻辑电路的基本元件包括与门、或门、非门、异或门等,这些元件可以通过组合和连接实现复杂的逻辑功能。
1. 与门:当所有输入端都为高电平时,输出端才为高电平。
2. 或门:当至少有一个输入端为高电平时,输出端为高电平。
3. 非门:将输入端的高电平变为低电平,低电平变为高电平。
4. 异或门:当输入端两个高电平或两个低电平时,输出端为低电平,否则输出端为高电平。
三、实验内容1. 实验一:基本逻辑门电路的识别与测试(1)认识实验仪器:数字电路实验箱、逻辑笔、示波器等。
(2)识别与测试与门、或门、非门、异或门。
(3)观察并记录实验现象,分析实验结果。
2. 实验二:组合逻辑电路的设计与分析(1)设计一个简单的组合逻辑电路,如加法器、减法器等。
(2)根据真值表列出输入输出关系,画出逻辑电路图。
(3)利用逻辑门电路搭建电路,进行实验验证。
(4)观察并记录实验现象,分析实验结果。
3. 实验三:时序逻辑电路的设计与分析(1)设计一个简单的时序逻辑电路,如触发器、计数器等。
(2)根据电路功能,列出状态表和状态方程。
(3)利用触发器搭建电路,进行实验验证。
(4)观察并记录实验现象,分析实验结果。
四、实验步骤1. 实验一:(1)打开实验箱,检查各电路元件是否完好。
(2)根据电路图连接实验电路,包括与门、或门、非门、异或门等。
(3)使用逻辑笔和示波器测试各逻辑门电路的输出,观察并记录实验现象。
2. 实验二:(1)根据实验要求,设计组合逻辑电路。
(2)列出真值表,画出逻辑电路图。
(3)根据逻辑电路图连接实验电路,包括所需逻辑门电路等。
一、实验目的1. 理解和掌握数字逻辑设计的基本原理和方法。
2. 熟悉数字电路的基本门电路和组合逻辑电路。
3. 培养动手能力和实验技能,提高逻辑思维和解决问题的能力。
4. 熟悉数字电路实验设备和仪器。
二、实验原理数字逻辑设计是计算机科学与技术、电子工程等领域的基础课程。
本实验旨在通过实际操作,让学生掌握数字逻辑设计的基本原理和方法,熟悉数字电路的基本门电路和组合逻辑电路。
数字逻辑电路主要由逻辑门组成,逻辑门是数字电路的基本单元。
常见的逻辑门有与门、或门、非门、异或门等。
根据逻辑门的功能,可以将数字电路分为组合逻辑电路和时序逻辑电路。
组合逻辑电路的输出只与当前输入有关,而时序逻辑电路的输出不仅与当前输入有关,还与之前的输入有关。
三、实验内容1. 逻辑门实验(1)实验目的:熟悉逻辑门的功能和特性,掌握逻辑门的测试方法。
(2)实验步骤:① 将实验箱中的逻辑门连接到测试板上。
② 根据实验要求,将输入端分别连接高电平(+5V)和低电平(0V)。
③ 观察输出端的变化,记录实验数据。
④ 分析实验结果,验证逻辑门的功能。
2. 组合逻辑电路实验(1)实验目的:掌握组合逻辑电路的设计方法,熟悉常用组合逻辑电路。
(2)实验步骤:① 根据实验要求,设计组合逻辑电路。
② 将电路连接到实验箱中。
③ 根据输入端的不同组合,观察输出端的变化,记录实验数据。
④ 分析实验结果,验证电路的功能。
3. 时序逻辑电路实验(1)实验目的:掌握时序逻辑电路的设计方法,熟悉常用时序逻辑电路。
(2)实验步骤:① 根据实验要求,设计时序逻辑电路。
② 将电路连接到实验箱中。
③ 观察电路的输出变化,记录实验数据。
④ 分析实验结果,验证电路的功能。
四、实验结果与分析1. 逻辑门实验结果:通过实验,验证了逻辑门的功能和特性,掌握了逻辑门的测试方法。
2. 组合逻辑电路实验结果:通过实验,掌握了组合逻辑电路的设计方法,熟悉了常用组合逻辑电路。
3. 时序逻辑电路实验结果:通过实验,掌握了时序逻辑电路的设计方法,熟悉了常用时序逻辑电路。
数字逻辑实验报告一、引言数字逻辑实验是电子信息类专业的一门重要实践课程。
本实验报告旨在记录和总结我在数字逻辑实验中的学习和实践经验,分享我对数字逻辑的理解和应用。
二、实验概述本次数字逻辑实验的主题是设计一个简单的加法器电路。
实验目的是通过实践操作和设计,加深对数字逻辑电路的理解,并掌握逻辑门的使用和联接方式。
三、实验步骤1. 学习并熟悉逻辑门的基本原理和真值表。
2. 根据加法器的要求,确定所需的逻辑门类型和数量。
3. 使用逻辑门芯片进行电路设计和布线。
4. 连接电路连接线,确保电路的正常工作。
5. 使用示波器验证电路的正确性。
6. 总结实验过程中的问题和解决方法。
四、实验结果经过设计和调试,成功实现了一个4位全加器电路。
通过输入不同的二进制数值,成功实现了两个四位数的相加运算,并正确输出结果。
实验结果表明,逻辑门的正确使用和连接方式能够实现复杂的算术运算。
五、实验心得数字逻辑实验是一门非常实用的实践课程。
通过本次实验,我深刻理解了数字逻辑的基本原理和应用方法。
实验中,我了解了逻辑门的分类和功能,并学会了逐级联接逻辑芯片的技巧。
同时,实验还培养了我解决问题的能力和动手操作的实践技能。
在实验过程中,我遇到了一些问题,如逻辑门连接不正确、芯片损坏等。
但通过仔细检查和重新设计,最终找到了解决问题的方法。
这使得我更加珍惜实验中出现的错误和挑战,因为它们实际上是对我们思维和创造力的锻炼和考验。
通过本次实验,我还意识到数字逻辑的应用范围非常广泛。
数字逻辑不仅仅应用于电子电路中,还可以用于计算机设计、数字通信、自动控制等领域。
数字逻辑的深入学习对我们今后的专业发展非常重要。
总之,数字逻辑实验是一门非常有意义和实践性的课程。
通过实验,我不仅加深了对数字逻辑的理解,还培养了动手操作和解决问题的能力。
我相信通过持续的实践和学习,我将进一步提高数字逻辑的应用水平,为未来的专业发展打下坚实基础。
六、结语通过本次数字逻辑实验的学习和实践,我对数字逻辑有了更深的了解和认识。
一、实验背景数字逻辑是电子技术与计算机科学的基础课程,它研究数字电路的设计与实现。
为了加深对数字逻辑电路的理解,我们进行了本次实验,通过实际操作和仿真,验证数字逻辑电路的理论知识,并掌握数字逻辑电路的设计与实现方法。
二、实验目的1. 理解数字逻辑电路的基本原理和组成。
2. 掌握逻辑门电路、组合逻辑电路和时序逻辑电路的设计方法。
3. 通过实验验证数字逻辑电路的功能,提高动手能力和分析问题能力。
三、实验内容1. 逻辑门电路实验(1)实验目的:学习分析基本的逻辑门电路的工作原理,掌握与门、或门、非门等基本逻辑门电路的逻辑功能。
(2)实验步骤:①按照实验指导书的要求,连接实验电路;②根据输入信号,观察输出信号,验证逻辑门电路的逻辑功能;③记录实验结果,分析实验现象。
(3)实验结果与分析:实验结果显示,与门、或门、非门等基本逻辑门电路的逻辑功能符合预期。
通过实验,我们加深了对逻辑门电路工作原理的理解。
2. 组合逻辑电路实验(1)实验目的:掌握组合逻辑电路的设计方法,验证组合逻辑电路的功能。
(2)实验步骤:①根据实验要求,设计组合逻辑电路;②按照实验指导书的要求,连接实验电路;③根据输入信号,观察输出信号,验证组合逻辑电路的功能;④记录实验结果,分析实验现象。
(3)实验结果与分析:实验结果显示,设计的组合逻辑电路功能符合预期。
通过实验,我们掌握了组合逻辑电路的设计方法,提高了逻辑思维能力。
3. 时序逻辑电路实验(1)实验目的:掌握时序逻辑电路的设计方法,验证时序逻辑电路的功能。
(2)实验步骤:①根据实验要求,设计时序逻辑电路;②按照实验指导书的要求,连接实验电路;③根据输入信号,观察输出信号,验证时序逻辑电路的功能;④记录实验结果,分析实验现象。
(3)实验结果与分析:实验结果显示,设计的时序逻辑电路功能符合预期。
通过实验,我们掌握了时序逻辑电路的设计方法,提高了逻辑思维能力。
四、实验总结通过本次实验,我们完成了以下任务:1. 理解了数字逻辑电路的基本原理和组成;2. 掌握了逻辑门电路、组合逻辑电路和时序逻辑电路的设计方法;3. 通过实验验证了数字逻辑电路的功能,提高了动手能力和分析问题能力。
一、实习目的本次数字逻辑实习的主要目的是通过实际操作和理论学习,加深对数字逻辑电路基本原理的理解,掌握数字逻辑电路的设计、分析和仿真方法,提高解决实际问题的能力。
二、实习内容1. 数字逻辑电路基本原理的学习在实习过程中,我们首先学习了数字逻辑电路的基本原理,包括逻辑门、触发器、计数器、寄存器等基本逻辑元件及其组合逻辑和时序逻辑电路的设计方法。
2. 逻辑门电路的设计与仿真通过Logisim软件,我们设计并仿真了各种逻辑门电路,如与门、或门、非门、异或门等。
通过实验,我们验证了所设计的逻辑门电路的正确性。
3. 触发器电路的设计与仿真我们学习了D触发器、JK触发器、T触发器等基本触发器电路的设计方法,并利用Logisim软件进行仿真,验证了所设计的触发器电路的功能。
4. 计数器电路的设计与仿真我们学习了同步计数器、异步计数器等计数器电路的设计方法,并利用Logisim软件进行仿真,验证了所设计的计数器电路的正确性。
5. 寄存器电路的设计与仿真我们学习了移位寄存器、同步寄存器等寄存器电路的设计方法,并利用Logisim软件进行仿真,验证了所设计的寄存器电路的功能。
三、实习过程1. 实验准备在实习开始前,我们查阅了相关资料,了解了数字逻辑电路的基本原理和设计方法。
同时,我们预习了实验指导书,明确了实验目的、内容和步骤。
2. 实验操作在实验过程中,我们按照实验指导书的要求,利用Logisim软件设计并仿真了各种数字逻辑电路。
在实验过程中,我们遇到了一些问题,通过查阅资料、请教老师等方式解决了这些问题。
3. 结果分析通过对所设计的数字逻辑电路进行仿真,我们验证了电路的正确性。
同时,我们分析了电路的性能,如速度、功耗等。
四、实习收获1. 提高了数字逻辑电路设计能力通过本次实习,我们掌握了数字逻辑电路的设计方法,提高了数字逻辑电路的设计能力。
2. 增强了实践操作能力在实习过程中,我们学会了使用Logisim软件进行数字逻辑电路的仿真,提高了实践操作能力。
实验报告课程名称_数字逻辑及系统设计实验学生学院____计算机____________ 专业班级 _ 学号学生姓名指导教师年月日一、 实验目的1. 熟练掌握基本门电路的主要用途以及验证它们的逻辑功能。
2. 熟练掌握常用组合逻辑电路的基本原理及其逻辑电路功能。
3. 熟练掌握常用时序逻辑电路的基本原理及其逻辑电路功能。
4. 掌握Libero IDE 基于FPGA 的设计流程。
5. 熟悉FPGA 的设计与开发流程。
熟悉芯片烧录的流程及步骤。
二、 实验要求1. 要求每人能独立完成实验。
严禁抄袭。
2. 能独立搭建Libero IDE 软件基础环境,掌握FPGA 的开发流程。
3. 按照实验指导书中P56-69的实验步骤进行设计,每一步骤均需要截图显示。
4. 完成3次仿真(综合前,综合后,布局布线后),并将仿真波形截图显示。
5. 将程序烧录到Actel Proasic3 A3P030 FPGA 核心板,在数字逻辑及系统实验箱上完成连线,验证代码的正确性。
6. 纸制版的封面单面打印,其他页面必须双面打印。
全班刻一张光盘。
三、 实验内容1. 设计题目:用3-8译码器74HC138实现举重比赛的裁判表决电路的组合逻辑函数,写出模块代码和测试平台代码。
2. 74HC138功能表参照教材中P53表2-9,引脚图参照实验指导书中P30图2-16。
3. 把每一个步骤的实验结果截图,按实验指导书中P6图1-7中所列FPGA 引脚,手工分配引脚,最后通过烧录器烧录至FPGA 核心板上。
4. 按分配的引脚连线,实测相应功能并记录结果。
四、 实验结果与截图1. 模块及测试平台代码清单。
AC BC AB Y ++=2. 第一次仿真结果。
(将波形窗口背景设为白色..,调整窗口至合适大小,使波形能完整显示,对窗口截图..。
)3. 综合结果(截图..)。
(将相关窗口调至合适大小,使RTL图能完整显示,对窗口截图。
)..)。
回答输出信号是否有延迟,延迟时间约为多少答:有延迟, 延迟时间约为400ps5.第三次仿真结果(布局布线后)(截图..)。
_计算机__学院网络工程专业 2 班________组、学号3110006512 姓名杨远军协作者______________ 教师评定_________________ 实验题目___________基于Libero的数字逻辑设计仿真实验_____________1.基本门电路2.组合逻辑电路3.时序逻辑电路4.补充实验(选做)实验报告基本门电路一、实验目的1、了解基于Verilog的基本门电路的设计及其验证。
2、熟悉利用EDA工具进行设计及仿真的流程。
二、实验环境Libero仿真软件(参考附录C)。
三、实验内容1、参考附录C掌握Libero软件的使用方法。
2、参考附录C中“一个完整的例子”,进行针对74系列基本门电路的设计,并完成相应的仿真实验。
3、参考附录D的设计代码、测试平台代码(可自行编程)及附录C的步骤,完成74HC00、74HC02、74HC04、74HC08、74HC32、74HC86相应的设计、综合及仿真。
4、提交针对74HC00、74HC02、74HC04、74HC08、74HC32、74HC86(任选一个)的综合结果,以及相应的功能仿真结果。
四、实验结果和数据处理1、模块及测试平台代码清单module HC00(A,B,Y); input [4:1]A,B; output[4:1]Y;assign Y=~(A&B); endmodule`timescale 1ns/1ns module testbench;reg a,b;wire y; HC00 test(a,b,y);initialbegina=0;b=0;#5 a=1;#5 b=1;#5 a=0;#5 b=0;end endmodule2、第一次仿真结果。
(将相关窗口调至合适大小,使波形能完整显示,对窗口截图。
1后面实验中的仿真使用相同方法处理)3、综合结果。
(将相关窗口调至合适大小,使RTL图能完整显示,对窗口截图,后面实验中的综合使用相同方法处理)4、第二次仿真结果(综合后)。
基于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.模块及测试平台代码清单(a) 74HC32:(b)模块代码// main.vmodule HC32(a,b,y);input [4:1]a,b;output[4:1]y;assign y=a|b;endmodule(c)测试平台代码// testbench.v`timescale 1ns/1nsmodule testbench;reg [4:1]a,b;wire [4:1]y;HC32 ul(a,b,y);initialbegina=4'b0000;b=4'b0001;#10 b=b<<1;#10 b=b<<1;#10 b=b<<1;#10 b=b<<1;endendmodule2.第三次仿真结果(布局布线后)2.组合逻辑电路一、实验目的1.了解基于Verilog的组合逻辑电路的设计及其验证。
2.熟悉利用EDA工具进行设计及仿真的流程。
二、实验环境Libero仿真软件。
三、实验内容1.参考74HC00的实验, 完成74HC283.74HC85.74HC138、74HC148、74HC15.相应的设计、综合及仿真。
2、记录74HC85的综合结果, 以及相应的功能仿真结果。
第1篇一、实验目的1. 掌握数字逻辑电路的基本原理和设计方法。
2. 熟悉数字电路实验设备的使用。
3. 提高数字电路的仿真和调试能力。
4. 培养学生分析问题和解决问题的能力。
二、实验内容1. 组合逻辑电路设计(1)2选1多路选择器设计:根据教材5.1节的流程,利用Quartus II完成2选1多路选择器的文本编辑输入(MUX21.v)和仿真测试等步骤,给出仿真波形。
在实验系统上硬件测试,验证此设计的功能。
(2)三人表决电路设计:根据教材5.1节的流程,利用Quartus II完成三人表决电路的文本编辑输入(图5-36)和仿真测试等步骤,给出仿真波形。
在实验系统上硬件测试,验证此设计的功能。
2. 时序逻辑电路设计(1)数字显示电子钟设计:根据任务要求,设计一个数字显示电子钟,时钟的时、分、秒要求各用两位显示,上、下午用发光管作为标志。
整个系统要有校时部分和闹钟部分,声音要响5秒。
(2)脉冲波形的变换与产生:设计单稳态触发器,555定时器及其应用电路,实现脉冲波形的变换与产生。
3. 数字逻辑电路仿真与调试(1)使用Logisim软件进行无符号数的乘法器设计,实现两个无符号的4位二进制数的乘法运算。
(2)使用Logisim软件进行无符号数的除法器设计,实现两个无符号的4位二进制数的除法运算。
三、实验过程1. 组合逻辑电路设计(1)2选1多路选择器设计:首先,分析2选1多路选择器的逻辑功能,确定输入输出关系。
然后,利用Quartus II软件编写Verilog HDL代码,完成2选1多路选择器的文本编辑输入。
接着,进行仿真测试,观察仿真波形,验证设计功能。
最后,在实验系统上硬件测试,验证设计功能。
(2)三人表决电路设计:首先,分析三人表决电路的逻辑功能,确定输入输出关系。
然后,利用Quartus II软件编写Verilog HDL代码,完成三人表决电路的文本编辑输入。
接着,进行仿真测试,观察仿真波形,验证设计功能。
计算机学院软件工程专业 4 班____组、学号3111006219 姓名党杰协作者__________ 教师评定____________实验题目基于实验箱的数字逻辑实验实验报告基本门电路及门电路综合实验一、实验目的1. 了解基本门电路的主要用途以及验证它们的逻辑功能。
2. 熟悉数字电路实验箱的使用方法。
3. 掌握利用基本门电路来实现具体电路的方法。
二、实验仪器及器件1. DIGILOGIC-2011数字逻辑及系统实验箱。
2. 器件:74HC00、74HC02、74HC04、74HC08、74HC32、74HC86。
三、实验结果和数据处理表2-1 74HC00(与非)输入输出状态输入端输出端YA B LED(亮/灭)逻辑状态0 0 亮 10 1 亮 11 0 亮 11 1 灭0表2-2 74HC02(或非)输入输出状态输入端输出端YA B LED(亮/灭)逻辑状态0 0 亮 10 1 灭01 0 灭01 1 灭0表2-3 74HC04(非)输入输出状态输入端输出端YA LED (亮/灭)逻辑状态0 亮 1 1灭表2-7 举重比赛裁判表决电路输入输出状态(方案一)输入端 输出端A B C Y 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 111 表2-8 举重比赛裁判表决电路输入输出状态(方案二)输入端 输出端A B C Y 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 11 11组合逻辑电路一、实验仪器及器件1. DIGILOGIC-2011数字逻辑及系统实验箱。
2. 器件:74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511、4数字共阴极八段显示数码管LN3461Ax 。
二、实验结果和数据处理表2-11 74HC148(8-3编码器)输入/输出状态控制 十进制数字信号输入 二进制数码输出 状态输出EI 0I1I 2I 3I 4I 5I 6I 7I2A 1A 0A GS EO 1 X X X X X X X X 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 X X X X X X X 0 0 0 0 0 1 0XXXXXX111控制十进制数字信号输入二进制数码输出状态输出EI0A GS EOA0I1I2I3I4I5I6I7I2A10 X X X X X 0 1 1 0 1 0 0 10 X X X X 0 1 1 1 0 1 1 0 10 X X X 0 1 1 1 1 1 0 0 0 10 X X 0 1 1 1 1 1 1 0 1 0 10 X 0 1 1 1 1 1 1 1 1 0 0 10 0 1 1 1 1 1 1 1 1 1 1 0 1注:X为任意状态表2-12 74HC138(3-8译码器)输入/输出状态使能输入数据输入译码输出E2E E3A2A1A00Y1Y2Y3Y4Y5Y6Y7Y 11 X X X X X 1 1 1 1 1 1 1 1 X 1 X X X X 1 1 1 1 1 1 1 1 X X 0 X X X 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0表2-13 74 HC153(数据选择器)输入/输出状态选择输入数据输入输出使能输入输出S1S01I01I11I21I3E11YX X X X X X 1 00 0 0 X X X 0 00 0 1 X X X 0 11 0 X X 0 X 0 01 0 X X 1 X 0 10 1 X 0 X X 0 00 1 X 1 X X 0 11 1 X X X 0 0 01 1 X X X 1 0 1注:X为任意状态表2-16 74HC4511(数码显示管)输入/输出状态使能输入数据输入译码输出显示字形LTBILE D C B A 0 X X X X X X 8 1 0 X X X X X 无 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 1 0 2 1 1 0 0 0 1 1 3 1 1 0 0 1 0 0 4 1 1 0 0 1 0 1 5 1 1 0 0 1 1 0 6 1 1 0 0 1 1 1 7 1 1 0 1 0 0 0 8 1 1 0 1 0 0 1 9 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 无 111111无时序逻辑电路一、实验仪器及器件1. DIGILOGIC-2011数字逻辑及系统实验箱。
计算机学院专业班__组、学号姓名协作者______________ 教师评定_________________实验题目基于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、提交针对基本门电路的综合结果,以及相应的仿真结果。
四、实验结果和数据处理1、门电路...模块及测试平台代码清单注:文件命名要求。
工程(project)名要求:学号末4位+下划线+BasGate,例如陈静(3212005896)的工程名为“5896_BasGate”。
设计代码文件名1:要求同上,即“5896_BasGate.v”。
测试平台文件名:自己定义。
(1)// 模块一:2输入与门、或门、与非、或非、异或门各一,输入信号(1位A,1位B),输出信号(Y1,Y2,Y3,Y4,Y5)module gates_1(A,B,Y1,Y2,Y3,Y4,Y5);input A,B;output Y1,Y2,Y3,Y4,Y5;assign Y1=A&B;assign Y2=A|B;assign Y3=~(A&B);assign Y4=~(A|B);assign Y5=A^B;endmodule(2)// 模块二:6个非门(同74HC04)module gates_2(A,Y);input [1:6]A;output [1:6]Y;assign Y=~A;endmodule(3)测试平台代码`timescale 1ns/1nsmodule testgates_1();reg A,B;wire Y1,Y2,Y3,Y4,Y5;gates_1 v1(A,B,Y1,Y2,Y3,Y4,Y5);initialbeginA=0;B=0;#10 B=1;#10 A=1;#10 B=0;#10;endendmodulemodule testgates_2();reg [1:6]A;wire [1:6]Y;gates_2 v2(A,Y);initialbeginA=000001;#10 A=A<<1;#10 A=A<<1;#10 A=A<<1;#10 A=A<<1;#10 A=A<<1;endendmodule2、模块一第一次仿真结果(截图..,调整窗口至合适大..)。
将波形窗口背景设为白色小,使波形能完整显示,对窗口截图..。
后面实验中的仿真使用相同方法处理)模块二第一次仿真结果(截图..)3、模块一综合结果(截图..)。
(将相关窗口调至合适大小,使RTL图能完整显示,对窗口截图,后面实验中的综合使用相同方法处理)4、模块一第二次仿真结果(综合后)(截图..)。
回答输出信号是否有延迟,延迟时间约为多少?延迟约为300ps左右。
6、模块一第三次仿真结果(布局布线后)(截图..)。
回答输出信号是否有延迟,延迟时间约为多少?分析是否有出现竞争冒险。
延迟时间约为4500ps左右,无竞争冒险。
6、模块一布局布线的引脚分配(截图..)。
7、烧录(请老师检查)。
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两数,分别依次为本人学号的奇数位和偶数位(例如,当学号为3212005896时,A数依次取学号从左到右的奇数位,即数字3、1、0、5、9,B数依次取学号从左到右的偶数位,即数字2、2、0、8、6),验证A、B的比较结果。
注意:若两数相等,需考虑级联输入(级联输入的各种取值情况均需包括)。
5、74HC4511设计成扩展型的,即能显示数字0~9、字母a~f。
6、提交针对74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511(任.选一个...)的综合、布局布线结果,以及相应的仿真结果。
7、完成课堂布置实验的Vierilog代码,并实现综合前仿真。
四、实验结果和数据处理1、所有..模块及测试平台代码清单注:文件命名要求。
工程(project)名要求:学号末4位+下划线+comb,例如陈静(3212005896)芯片的工程名为“5896_comb”。
设计代码文件,要求每个模块对应一个文件,文件名要求:学号末4位+下划线+芯片名,如74HC148芯片文件命名为“5896_74HC148.v”。
测试平台文件名:自己定义。
//74HC148代码module HC148(EI,I,A,GS,EO);input EI;input [7:0]I;output [2:0]A;output GS,EO;reg [2:0]A;reg GS,EO;integer j;always @ (EI,I)beginif(EI)begin{A,GS,EO}=5'b11111;endelse if(I==8'b11111111)begin{A,GS,EO}=5'b11110;endelsefor(j=0;j<8;j=j+1)beginif(~I[j])beginA=~j;GS=0;EO=1;endendendendmodule//74HC148测试平台代码`timescale 1ns/1nsmodule test_HC148;reg ei;reg [7:0]i;wire [2:0]a;wire gs,eo;HC148 u1(ei,i,a,gs,eo);initialbeginei=1;#20ei=0;i=8'b11111111;#20 i=8'b11111110;#20 i=8'b11111101;#20 i=8'b11111011;#20 i=8'b11110111;#20 i=8'b11101111;#20 i=8'b11011111;#20 i=8'b10111111;#20 i=8'b01111111;endendmodule//74HC138代码module HC138(E1,E2,E3,A,Y);input E1,E2,E3;input [2:0]A;output [7:0]Y;reg [7:0]Y;integer I;always@(E1,E2,E3,A)beginif(E1==1||E2==1||E3==0)Y=8'b11111111;elseY=1'b1<<A;endendmodule//74HC138测试平台代码module test_HC138;reg e1,e2,e3;reg [2:0]a;wire [7:0]y;HC138 u2(e1,e2,e3,a,y);initialbegina=0;repeat(20)#20 a=$random;endinitialbegine1=1;#10 e2=1;#10 e3=0;#10 e1=0;#10 e2=0;#10 e3=1;endendmodule//74HC153代码module HC153(S,I1,I2,E1,E2,Y1,Y2);input [1:0]S;input [3:0]I1;input [3:0]I2;input E1,E2;output Y1,Y2;reg Y1,Y2;always@(S,I1,I2,E1,E2)beginif(E1)Y1=0;elseY1=I1[S];if(E2)Y2=0;elseY2=I2[S];endendmodule//74HC153测试平台代码module test_HC153;reg [1:0]s;reg[3:0]i1;reg[3:0]i2;reg e1,e2;wire y1,y2;HC153 u3(s,i1,i2,e1,e2,y1,y2);initialbegine1=1;e2=1;#15 e1=0;e2=0;endinitialbegins=0;i1=0;i2=0;#10 i1=4'b1001;i2=4'b1100;#10 s=1;#10 s=2;#10 s=3;endendmodule//74HC85代码module HC85(A,B,I,Q);input [3:0]A,B;input [2:0]I;output [2:0]Q;reg [2:0]Q;always@(A,B)beginif(A>B)Q=3'b100;else if(A<B)Q=3'b001;else if(I[1]==1)Q=3'b010;else if(I==3'b101)Q=3'b000;else if(I==0)Q=3'b101;elseQ=I;endendmodule//74HC85测试平台代码module test_HC85;reg [3:0]a,b;reg [2:0]i;wire [2:0]q;HC85 u4(a,b,i,q);initialbegini=0;repeat(4)#10 i=$random;endinitialbegina=3;b=1;#10a=1;b=4;#10a=0;b=0;#10a=6;b=1;#10a=5;b=9;endendmodule//74HC283代码module HC283(CIN,A,B,COUT,S);input CIN;input [3:0]A,B;output COUT;output [3:0]S;reg COUT;reg [3:0]S;always@(CIN,A,B)begin{COUT,S}=CIN+A+B;endendmodule//74HC283测试平台代码module test_HC283;reg cin;reg [3:0]a,b;wire cout;wire [3:0]s;HC283 u5(cin,a,b,cout,s);initialbegincin=0;repeat(20)#15 cin=$random;endinitialbegina=0;repeat(20)#10 a=$random;endinitialbeginb=0;repeat(20)#10 b=$random;endendmodule//74HC4511代码module HC4511(LE,BI,LT,A,Y);input LE,BI,LT;input [3:0]A;output [6:0]Y;reg [6:0]Y;always@(LE,BI,LT,A)beginif(!LT)Y=7'b1111111;else if(!BI)Y=0;else if(LE)Y=Y;elsecase (A)4'd0:Y=7'b1111110;//数字按abcdefg顺序4'd1:Y=7'b0110000;4'd2:Y=7'b1101101;4'd3:Y=7'b1111001;4'd4:Y=7'b0110011;4'd5:Y=7'b1011011;4'd6:Y=7'b1011111;4'd7:Y=7'b1110000;4'd8:Y=7'b1111111;4'd9:Y=7'b1111011;4'd10:Y=7'b1110111;4'd11:Y=7'b0011111;4'd12:Y=7'b1001110;4'd13:Y=7'b0111101;4'd14:Y=7'b1001111;4'd15:Y=7'b1000111;default:;endcaseendendmodule//74HC4511测试平台代码module test_HC4511;reg le,bi,lt;reg [3:0]a;wire [6:0]y;HC4511 u6(le,bi,lt,a,y);initialbeginlt=0;#10lt=1;bi=0;#10bi=1;le=1;#10le=0;endinitialbegina=0;repeat(30)#20 a=$random;endendmodule3、第一次仿真结果截图(任选一个模块,请注明)74HC85:4、综合结果(截图)5、第二次仿真结果(综合后仿真截图)。