好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

9页
  • 卖家[上传人]:F****n
  • 文档编号:98761524
  • 上传时间:2019-09-14
  • 文档格式:DOC
  • 文档大小:621KB
  • / 9 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 十六进制七段数码显示译码器一、实验目的:学习7段数码显示器的Verilog硬件设计二、实验原理:7段数码显示器是纯组合电路通常的小规模专用IC,如74或4000系列的器件只能做十进制BCD码译码器(其真值表如图(1)所示),然而数字系统中的数据处理和运算都是二进制的,所以输出表达式都是十六进制的,为了满足十六进制的译码显示,最方便的方法就是利用Verilog译码程序在FPGA/CPLD中来实现所以首先要设计一段程序设输入的4位码为A[3:0],输出控制7段共阴数码管(如图(2)所示)的7位数据为LED7S[6:0]输出信号LED7S的7位接共阴数码管的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段共阴数码管三、实验任务:将设计好的Verilog译码器程序在Quartus II上进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形图(注意仿真波形输入激励信号的设置)。

      提示:设定仿真激励信号是用输入总线的方式给出输入信号的仿真数据四、实验步骤:(一)、建立工作库文件和编辑设计文文件      任何一项设计都是一项Project(工程),而把一个工程下的所有文件放在一个文件夹内是一个非常好的习惯,以便于我们整理,利用和提取不同工程下的文件,而此文件夹将被EDA软件默认为Work Library(工作库),所以第一步先根据自己的习惯,建立个新的文件夹      (1)新建文件夹:我的习惯在D盘建立并保存工程,我将文件夹取名Test,    (2)输入源程序:打开Quartus II,选择菜单File-->New-->Design Files-->VerilogHDL File-->OK(如图1所示)代码如下:module DECL7S(A,LED7S); input[3:0] A; output[6:0] LED7S; reg[6:0] LED7S; always@(A ) case(A) 4'b0000 :LED7S<=7'b; 4'b0001 :LED7S<=7'b; 4'b0010 :LED7S<=7'b; 4'b0011 :LED7S<=7'b; 4'b0100 :LED7S<=7'b; 4'b0101 :LED7S<=7'b; 4'b0110 :LED7S<=7'b; 4'b0111 :LED7S<=7'b; 4'b1000 :LED7S<=7'b; 4'b1001 :LED7S<=7'b; 4'b1010 :LED7S<=7'b; 4'b1011 :LED7S<=7'b; 4'b1100 :LED7S<=7'b; 4'b1101 :LED7S<=7'b; 4'b1110 :LED7S<=7'b; 4'b1111 :LED7S<=7'b; default :LED7S<=7'b; endcaseendmodule(3)保存文件:完成一步就保存一步是一个好习惯,这样即使出现意外情况,也不至于以前的努力付诸东流。

      选择File-->Save as,选择保存路径,即刚才新建的文件夹Test,文件名应与实体名保持一致,即DECL7S,点击保存后会跳出“Do you want to create a new project with this file?”选择“是”,则进入如下界面点击Next,进入“工程设置”对话框,如图所示 第一行 表示工程所在的文件夹,第二行为工程名,可以与顶层文件的实体名保持一致,也可以另取别的名字,第三行为当前工程顶层文件的实体名点击next,进入ADD FILE对话框,如图所示,单击Add All 按钮,将工程相关的所有VHDL文件加进工程,也可以单击“Add  ...”选择性加入,按此步骤建立工程,工程已经自动将所有文件加进去了,可以直接点击next,当先直接建立工程时,需要自己添加(4)选择目标芯片:我们选用的是CycloneIII系列的EP3C55F484C8,在Family栏选择芯片系列——CycloneIII,在窗口右边的三个下拉列表框选择过滤条件,分别选择Package为FBGA、Pin count为484和Speed grade为8,点击Next,如图所示 (5)工具设置:进入EDA工具设置窗口,有三个选项,分别是选择输入的HDL类型和综合工具、选择仿真工具、选择时序分析工具,这是除Quartus II自含的所有设计工具以外的外加的工具,如果不作选择的,表示仅选择Quartus II自含的所有设计工具,本次不需要其他的设计工具,可以直接点击Next  (6)结束设置:进入“工程设置统计”窗口,列出了与此工程相关的设置情况,设置完成,点击Finish(二)、编译    配置好后就可以进行编译了,点击ProcessingàStart Compilation命令 启动全程编译   编译成功后的界面如图所示(三)时序仿真      (1)打开波形编辑器:File-->New-->Verification/Debugging Files-->Vector Waveform-->OK,即出现空白的波形编辑器,如图所示       (2)设置仿真时间区域:Edit-->End Time在Time栏中输入50,单位选择“us”,点击确定并保存波形文件(3)将工程DECL7S的端口信号名选入波形编辑器中:View-->Utility windows-->Node Finder,在Filter框中选Pins:all(通常是默认选项),然后点击List,则显示出了所有引脚,如图所示将重要的端口名拖进波形编辑器后关闭窗口(4)编辑输入波形:首先进行总线数据格式设置和参数设置:点击输入数据信号A的左边的+号,能展开此总线中的所有信号;如果双击此+号左边的信号标记,将弹出对该信号数据格式设置的Node Properties对话框,在该对话框的Radix下拉列表中有四种选择,这里可选择十六进制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在右侧的Simulation 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,提前练习程序编写应该有很大帮助。

      在清洗液中硅表面为负电位有些颗粒也为负电位,由于两者的电的排斥力作用可防止粒子向晶片表面吸附,但也有部分粒子表面是正电位,由于两者电的吸引力作用,粒子易向晶片表面吸附。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.