logo资料库

实验二7段数码显示译码器.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
实验二 7段数码显示译码器
【实验目的】
【实验内容】
【实验心得和体会】
《电子设计自动化》实验报告 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 页
分享到:
收藏