1、 实 验 报 告课程名称_数字逻辑及系统设计实验学生学院_计算机_专业班级 软件 2012(2)班 _学 号 3112006177 学生姓名 陈海兵 指导教师_林小平 _2013 年 12 月 24 日一、 实验目的1. 熟练掌握基本门电路的主要用途以及验证它们的逻辑功能。2. 熟练掌握常用组合逻辑电路的基本原理及其逻辑电路功能。3. 熟练掌握常用时序逻辑电路的基本原理及其逻辑电路功能。4. 掌握 Libero IDE 基于 FPGA 的设计流程。5. 熟悉 FPGA 的设计与开发流程。熟悉芯片烧录的流程及步骤。二、 实验要求1. 要求每人能独立完成实验。严禁抄袭。2. 能独立搭建 Liber
2、o IDE 软件基础环境,掌握 FPGA 的开发流程。3. 按照实验指导书中 P56-69 的实验步骤进行设计,每一步骤均需要截图显示。4. 完成 3 次仿真(综合前,综合后,布局布线后) ,并将仿真波形截图显示。5. 将程序烧录到 Actel Proasic3 A3P030 FPGA 核心板,在数字逻辑及系统实验箱上完成连线,验证代码的正确性。6. 纸制版的封面单面打印,其他页面必须双面打印。全班刻一张光盘。三、 实验内容1. 设计题目:用 3-8 译码器 74HC138 实现举重比赛的裁判表决电路的组合逻辑函数,写出模块代码和测试平台代码。2. 74HC138 功能表参照教材中 P53 表
3、 2-9,引脚图参照实验指导书中 P30 图 2-16。3. 把每一个步骤的实验结果截图,按实验指导书中 P6 图 1-7 中所列 FPGA 引脚,手工分配引脚,最后通过烧录器烧录至 FPGA 核心板上。4. 按分配的引脚连线,实测相应功能并记录结果。四、 实验结果与截图1. 模块及测试平台代码清单。模块代码/ 74HC138.vmodule decoder3_8_1(DataIn,Enable1,Enable2,Enable3,Eq,y);input 2:0DataIn;input Enable1,Enable2,Enable3;output 7:0Eq;reg 7:0Eq;output y
4、;reg y;integer I;always (DataIn or Enable1 or Enable2 or Enable3)beginif(Enable1|Enable2|!Enable3)Eq=0;ACBYelsefor(I=0;I=7;I=I+1)if(DataIn=I)EqI=1;elseEqI=0;if(Eq3|Eq5|Eq6|Eq7)y=1;elsey=0; endendmodule平台代码/ testbench.vtimescale 1ns/10psmodule testbench;reg2:0 in;reg enable1,enable2,enable3;wire7:0 e
5、q;wire y;decoder3_8_1 u1(in,enable1,enable2,enable3,eq,y);initialbeginin=0;repeat(20)#20 in=$random;endinitialbeginenable1=0; enable2=0;enable3=1;#200 enable3=0;endendmodule2. 第一次仿真结果。 (将波形窗口背景设为白色,调整窗口至合适大小,使波形能完整显示,对窗口截图。 )3. 综合结果(截图) 。 (将相关窗口调至合适大小,使 RTL 图能完整显示,对窗口截图。 )4. 第二次仿真结果(综合后) (截图) 。回答输出信
6、号是否有延迟,延迟时间约为多少?有延迟,约为 400ps5. 第三次仿真结果(布局布线后) (截图) 。回答输出信号是否有延迟,延迟时间约为多少?分析是否有出现竞争冒险。延迟约 4191ps,因为存在毛刺,故有竞争冒险6. 画出 74HC138 实现逻辑函数的输入输出状态表(参照表 2-12) 。使能输入 数据输入 译码输出1E2E3 A2 A1 A0 Y1234Y567Y1 X X X X X 1 1 1 1 1 1 1 1 0X 1 X X X X 1 1 1 1 1 1 1 1 0X X 0 X X X 1 1 1 1 1 1 1 1 00 0 1 0 0 0 0 1 1 1 1 1 1
7、 1 00 0 1 0 0 1 1 0 1 1 1 1 1 1 00 0 1 0 1 0 1 1 0 1 1 1 1 1 00 0 1 0 1 1 1 1 1 0 1 1 1 1 10 0 1 1 0 0 1 1 1 1 0 1 1 1 00 0 1 1 0 1 1 1 1 1 1 0 1 1 10 0 1 1 1 0 1 1 1 1 1 1 0 1 10 0 1 1 1 1 1 1 1 1 1 1 1 0 1注:X 为任意状态五、 结论与体会通过本次实验,基本掌握了基本门电路的主要用途以及验证它们的逻辑功能。理解了常用组合逻辑电路的基本原理及其逻辑电路功能。对常用时序逻辑电路的基本原理及其逻辑电路功能有了更清晰的认识。学会了 Libero IDE 基于 FPGA 的设计流程。熟悉 FPGA 的设计与开发流程。熟悉芯片烧录的流程及步骤。