十六进制七段数码显示译码器.docx

上传人:苏美尔 文档编号:8706473 上传时间:2020-12-23 格式:DOCX 页数:9 大小:563.10KB
返回 下载 相关 举报
十六进制七段数码显示译码器.docx_第1页
第1页 / 共9页
十六进制七段数码显示译码器.docx_第2页
第2页 / 共9页
十六进制七段数码显示译码器.docx_第3页
第3页 / 共9页
十六进制七段数码显示译码器.docx_第4页
第4页 / 共9页
十六进制七段数码显示译码器.docx_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《十六进制七段数码显示译码器.docx》由会员分享,可在线阅读,更多相关《十六进制七段数码显示译码器.docx(9页珍藏版)》请在三一文库上搜索。

1、十六进制七段数码显示译码器一、实验目的 :学习 7 段数码显示器的Verilog 硬件设计。二、实验原理: 7 段数码显示器是纯组合电路。通常的小规模专用IC,如 74或 4000 系列的器件只能做十进制 BCD码译码器(其真值表如图( 1)所示),然而数字系统中的数据处理和运算都是二进制的,所以输出表达式都是十六进制的,为了满足十六进制的译码显示,最方便的方法就是利用 Verilog 译码程序在FPGA/CPLD中来实现。所以首先要设计一段程序。设输入的 4 位码为 A3:0,输出控制 7 段共阴数码管(如图( 2)所示)的 7 位数据为 LED7S6:0。输出信号LED7S的 7 位接共阴

2、数码管的 7 个段,高位在左,低位在右。例如当 LED7S输出为“”时,数码管 7 个段 g、f、 e、 d、 c、 b、 a 分别接 1、1、 0、 1、 1、 0、 1;接有高电平的段发亮, 于是数码管显示 “5”。这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,然后将 LED7S改为 8 位输出。图( 1) 7 段译码器真值表输入码输入码代表数据输入码输入码代表数据00000100080001110019001021010A001131011B010041100C010151101D011061110E011171111F图( 2)7 段共阴数码管三、实验任务:将设计好的 Ve

3、rilog 译码器程序在 Quartus II 上进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形图(注意仿真波形输入激励信号的设置)。提示:设定仿真激励信号是用输入总线的方式给出输入信号的仿真数据。四、实验步骤:(一)、建立工作库文件和编辑设计文文件任何一项设计都是一项 Project(工程),而把一个工程下的所有文件放在一个文件夹内是一个非常好的习惯, 以便于我们整理, 利用和提取不同工程下的文件,而此文件夹将被 EDA 软件默认为 Work Library(工作库),所以第一步先根据自己的习惯,建立个新的文件夹。( 1)新建文件夹:我的习惯在 D 盘建立并保存工程,我将文件

4、夹取名 Test,( 2)输入源程序:打开 Quartus II,选择菜单 File-New-Design VerilogHDL File-OK(如图 1 所示 )代码如下:module DECL7S(A,LED7S);input3:0 A;output6:0 LED7S;reg6:0 LED7S;always(A )case(A)4b0000 :LED7S=7b0111111;4b0001 :LED7S=7b0000110;4b0010 :LED7S=7b1011011;4b0011 :LED7S=7b1001111;4b0100 :LED7S=7b1100110;4b0101 :LED7S

5、=7b1101101;4b0110 :LED7S=7b1111101;4b0111 :LED7S=7b0000111;4b1000 :LED7S=7b1111111;4b1001 :LED7S=7b1101111;4b1010 :LED7S=7b1110111;4b1011 :LED7S=7b1111100;4b1100 :LED7S=7b0111001;4b1101 :LED7S=7b1011110;4b1110 :LED7S=7b1111001;4b1111 :LED7S=7b1110001;default :LED7SSave as,选择保存路径,即刚才新建的文件夹 Test,文件名应与

6、实体名保持一致 ,即 DECL7S,点击保存后会跳出 “Do you want to create a new project with t his file? 选择”“是”,则进入如下界面点击 Next,进入 “工程设置 ”对话框,如图所示第一行 表示工程所在的文件夹,第二行为工程名,可以与顶层文件的实体名保持一致,也可以另取别的名字,第三行为当前工程顶层文件的实体名。点击 next,进入 ADD FILE对话框,如图所示,单击 Add All 按钮,将工程相关的所有 VHDL 文件加进工程,也可以单击 “Add. 选”择性加入,按此步骤建立工程,工程已经自动将所有文件加进去了, 可以直接点

7、击 next,当先直接建立工程时,需要自己添加( 4)选择目标芯片:我们选用的是 CycloneIII 系列的 EP3C55F484C8 ,在 Family栏选择芯片系列 CycloneIII ,在窗口右边的三个下拉列表框选择过滤条件,分别选择 Package 为 FBGA 、Pin count 为 484 和 Speed grade 为 8,点击 Next ,如图所示( 5)工具设置:进入 EDA 工具设置窗口, 有三个选项,分别是选择输入的HDL类型和综合工具、选择仿真工具、选择时序分析工具,这是除 Quartus II 自含的所有设计工具以外的外加的工具, 如果不作选择的, 表示仅选择

8、Quartus II 自含的所有设计工具,本次不需要其他的设计工具,可以直接点击Next(6)结束设置:进入 “工程设置统计 ”窗口,列出了与此工程相关的设置情况,设置完成,点击 Finish(二)、编译配置好后就可以进行编译了,点击 Processing Start Compilation 命令 启动全程编译编译成功后的界面如图所示(三)时序仿真( 1 ) 打 开 波 形 编 辑 器 : File-New-Verification/Debugging Vector Waveform-OK, 即出现空白的波形编辑器,如图所示(2)设置仿真时间区域: Edit-End Time 在 Time 栏

9、中输入 50 ,单位选择 “ us,”点击确定并保存波形文件( 3 )将工程DECL7S的端口 信号名选 入波 形编辑器 中 : View-Utilitywindows-Node Finder, 在 Filter 框中选 Pins :all(通常是默认选项),然后点击 List ,则显示出了所有引脚,如图所示将重要的端口名拖进波形编辑器后关闭窗口( 4)编辑输入波形:首先进行总线数据格式设置和参数设置:点击输入数据信号 A 的左边的 +号,能展开此总线中的所有信号;如果双击此 +号左边的信号标记,将弹出对该信号数据格式设置的 Node Properties 对话框,在该对话框的 Radix 下

10、拉列表中有四种选择,这里可选择十六进制 Hxadecimal 表达方式。其次输入波形数据: 由于 A 是 4 位待加载的输入数据, 需要设置输入数据。 用鼠标在图所示信号名 A 的某一数据区拖拉出来一块蓝色区域, 然后单击左侧工具栏的问号(?)按钮,在弹出窗口输入数据,如 0. 继而在不同区域设置不同数据。这里为方便观察,输入的数据依次是 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E。如图所示( 5)仿真仿真器参数仿真:选择 Assignment Settings 命令,在 Settings 窗口下选择 Category Simulator Settings 。在右侧的 Simu

11、lation mode 下拉列表中选择 Timing ,即选择时序仿真,并选择仿真激励文件名 DECL7S.vwf 。选择 Simulation Period 栏,确认选中了“ Run simulation until all vector stimuli are used ”。启 动 仿 真 器: Processing-Start Simulation , 直 至 出 现 Simulation was successful ,仿真结束,然后会自动弹出 “ Simulation Report ”,点击输出信号 “LED7S ”旁边的 “ +,”展开总线中的所有信号,可以更利于我们观察和分析波形,如图所示(四)应用 RTL 电路图观察器Tools-Netlist Viewers-RTL Viewer,结果如图所示五、实验总结经过几周的学习,我觉得FPGA的学习应该做好预习工作,最好提前安装一下Quartus II,提前练习程序编写应该有很大帮助。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1