《电子设计自动化》实验报告
2013~2014 学年 第 二 学期 2011 级 电子信息工程 专业
班级: 2011143 班
学号:201114301
姓名:马立平
实验二 7 段数码显示译码器
【实验目的】
1.设计七段显示译码器,并在实验板上验证
2.学习Verilog HDL文本文件进行逻辑设计输入;
3.学习设计仿真工具的使用方法;
【实验内容】
1.实现 BCD/七段显示译码器的“ Verilog ”语言设计。
说明:7 段显示译码器的输入为:IN0…IN3 共 5 根, 7 段译码器的逻辑表同学自行设计,要求实现功能为:
输入“ 0…15 ”(二进制),输出“ 0…9…F ”(显示数码),输出结果应在数码管(共阴)上显示出来。
2. 使用工具为译码器建立一个元件符号
3. 设计仿真文件,进行验证。
4. 编程下载并在实验箱上进行验证。
【实验原理】
7 段数码是纯组合电路,通常的小规模专用 IC,如 74 或 4000 系列的器件只能作十进制 BCD 码译码,然而数
字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最
方便的方法就是利用译码程序在 FPGA/CPLD 中来实现。例如当 LED7S 输出为“1101101”时,数码管的 7 个段
g,f,e,d,c,b,a 分别接 1,1,0,1,1,0,1;接有高电平的段发亮,于是数码管显示“5”。这里没有考虑表示小数点的发光管,
如果要考虑,需要增加段 h,然后将 LED7S 改为 8 位输出。
【实验步骤】
1、 编辑和输入设计文件:新建文件夹——输入源程序——文件存盘
2、 创建工程:打开并建立新工程管理窗口——将设计文件加入工程中——选择目标芯片——工具设置——结束设置
3、 全程编译前约束项目设置:选择 FPGA 目标芯片——选择配置器件的工作方式——选择配置器件和编程方式——选
择目标器件引脚端口状态——选择 Verilog 语言版本
4、 全程综合与编译:Processing——Start Compilation 启动全程编译
5、 仿真测试:时序分析
延时分析及结果:
第 - 1 - 页 共 4 页
《电子设计自动化》实验报告
2013~2014 学年 第 二 学期 2011 级 电子信息工程 专业
班级: 2011143 班
学号:201114301
姓名:马立平
生成 RTL 原理图:
该实验的配置模式:
适配板布局图及实验仪 IO 脚与芯片的管脚对应关系:
第 - 2 - 页 共 4 页
《电子设计自动化》实验报告
2013~2014 学年 第 二 学期 2011 级 电子信息工程 专业
班级: 2011143 班
学号:201114301
姓名:马立平
【程序源代码】(加注释)
module led7s(DIN,LED7S);
[3:0]DIN;
input
output [6:0]LED7S;
reg [6:0]LED7S;
always @ (DIN)
begin: LED
case(DIN)
4'b0000: LED7S=7'b0111111;
4'b0001: LED7S=7'b0000110;
4'b0010: LED7S=7'b1011011;
4'b0011: LD7S=7'b1001111;
4'b0100: LED7S=7'b1100110;
4'b0101: LED7S=7'b1101101;
4'b0110: LED7S=7'b1111101;
4'b0111: LED7S=7'b0000111;
4'b1000: LED7S=7'b1111111;
4'b1001: LED7S=7'b1101111;
4'b1010: LED7S=7'b1110111;
4'b1011: LED7S=7'b1111100;
4'b1100: LED7S=7'b0111001;
4'b1101: LED7S=7'b1011110;
4'b1110: LED7S=7'b1111001;
4'b1111: LED7S=7'b1110001;
default: LED7S=7'b0111111;
endcase
end
endmodule
【仿真和测试结果】
7 段数码显示译码器顶层设计描述
//
//定义四位二进制输入变量 DIN
//定义寄存器变量用作内部元件间连线
//过程语句 DIN 为敏感变量
//如果输入为 0000 则数码管显示为 0
//如果输入为 0001 则数码管显示为 1
//如果输入为 0010 则数码管显示为 2
//如果输入为 0011 则数码管显示为 3
//如果输入为 0100 则数码管显示 4
//如果输入为 0101 则数码管显示为 5
//如果输入为 0110 则数码管显示为 6
//如果输入为 0111 则数码管显示为 7
//如果输入为 1000 则数码管显示为 8
//如果输入为 1001 则数码管显示为 9
//如果输入为 1010 则数码管显示为 A
//如果输入为 1011 则数码管显示为 B
//如果输入为 1100 则数码管显示为 C
//如果输入为 1101 则数码管显示为 D
//如果输入为 1110 则数码管显示为 E
//如果输入为 1111 则数码管显示为 F
//否则,则数码管显示为 0
第 - 3 - 页 共 4 页
《电子设计自动化》实验报告
2013~2014 学年 第 二 学期 2011 级 电子信息工程 专业
班级: 2011143 班
学号:201114301
姓名:马立平
【实验心得和体会】
通过本次试验的上机操作运行,让我切实感受到了 EDA 只是在实际生活中的广泛应用,作为初学者,初次上机
我感到自己知识的匮乏,有许多地方我还都不能独立地进行操作,必须依赖老师的讲解,不过结果还是好的,经过两
节课的努力,我和同组的同学还是成功的模拟并仿真了七段数码显示器,并成功地在 EDA6000 试验箱上进行了检验
验证。
本次试验过后我会充分的总结自己的不足之处,加强自己弱势方面的学习,用心学好 EDA 教科书上的知识,深入
地学习,相信下次试验情况会有很大程度的改观。
第 - 4 - 页 共 4 页