收藏 分销(赏)

FPGA与数字系统设计:实验六 7段数码显示译码器设计.doc

上传人:二*** 文档编号:4479688 上传时间:2024-09-24 格式:DOC 页数:24 大小:2.05MB 下载积分:5 金币
下载 相关 举报
FPGA与数字系统设计:实验六 7段数码显示译码器设计.doc_第1页
第1页 / 共24页
本文档共24页,全文阅读请下载到手机保存,查看更方便
资源描述
7段数码显示译码器设计 1、实验目的 熟悉ISE系列软件的设计流程和基本工具使用,学习7段数码显示译码器设计,学习VHDL的CASE语句应用。 2、实验内容 7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中实现。本实验中,7段译码器的数码管采用共阴数码管,而且不考虑小数点的发光管。其输出信号LED7S的7位分别接数码管的7个段,高电平有效。例如,当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。 3、实验器材 Spartan 3E开发板。 4、实验说明 实验中所需要的源文件在本报告附录中。 5、实验步骤 步骤1:创建ISE工程 (1)启动桌面上的ISE9.1图标,在Project Navigator中选择File→New Project。 (2)在弹出的对话框(见图1)中,设置工程名为ymq7s,工程存放路径为E:\work\,顶层模块类型选择HDL,并单击Next按钮。 图1 ISE工程属性对话框 (3)出现图2所示对话框,目标器件选择spartan3E,具体设计如下图。 图2 ISE工程属性对话框 (4)一直点击Next,直到出现图3(即是刚才所设定的),最后点击Finish。 图3 工程设计总表 出现图4,这就是所建立的工程,现在我们需要在里面完成我们的设计。 图4 ISE工程属性对话框 步骤2:创建新的VHDL设计文件 (1)在ISE用户界面中,选择Project→New Source。 (2)在弹出的对话框(见图5)中,选择VHDL Module作为源程序类型,设置文件名为ymq7s,并单击“下一步”按钮。 图5 VHDL的 New Source Wizard (3)点击Next,直到出现图6,直到Finish。 图6 程序总结 (4)点击Finish之后出现程序编辑窗口,在窗口中进行程序编辑。输入7段数码显示译码程序并保存(程序见附录),编辑窗口如图7。 图7 保存后的程序编辑窗口 步骤3:利用XST进行设计综合并仿真 (1)点击processes目录下的synthesize-XST可以实现综合。单击synthesize-XST左边的可以展开它。综合后可以点击生成相应的文件并观察。如图8所示。 (2)综合过后,在信息显示窗口中会显示Process "Synthesize" completed successfully即综合成功。成功后会在相应的地方打勾,即。如果有警告会出现感叹号,若为错误会出现叉号,可以点击Transoript下的Errors查看错误信息并修改,警告信息可以忽略。 (3)仿真。在资源窗的source for右面的复选框中选择第二个Behavioral simulation,如图9, 图9 资源管理窗的仿真复选窗口 选择Behavioral simulation之后,界面如图10所示, 图10 仿真界面 (4)建立仿真文件,双击Creat new source。 (5)如图11,选择建立的文件类型为test bench waveform,输入仿真文件名字为ymq7s_tbw,其后缀为.tbw,点击Next。 图11 仿真波形的原文件向导 (6)点击Next,出现图12,选择你的波形文件连接对象,这里选择头文件。 图12 波形连接源文件 (7)点击Next,进入Finish对话框,完成添加波形文件的操作。进入如13所示界面,可以设置你的设计是逻辑电路还是时序电路,对时序电路,可以对CLK进行相关的设置。 图13 初始时序设置向导 (8)点击Finish,就会产生波形文件了,如图14。在右侧的可以对波形文件进行编辑,可以设置其输入,输入可以自己设置。并保存。保存后就会在左边的对话框中显示TBW文件。选中它,点击processes中的XILINX ISE simulator下的Simulate Behavioral Model。 图14 仿真之前的初始输入波形 (9)仿真完成后,结果如图15所示,读者可根据其结果来验证程序的正确性。可以改变相应输入,再次仿真。 图15 仿真后的波形结果 步骤4:设计实现 (1)查看设计 双击Design Utilities目录下的Creat Schematic Symbol,创建原理图,创建完成之后,信息窗口中如图16所示。 图16 创建原理图后的信息窗口 点击工具栏的按钮,选择count.SYM,注意是以.SYM结尾的,如图17所示, 图17 打开原理图的窗口 点击打开,如图18所示, 图18 原理图 (2)创建用户约束文件 a:在processes框中选择user constraints,打开其+号,选择下拉菜单中的create area constraints,双击它来添加约束。 b:会出现一个问你是否创建约束文件的窗口,点击YES,出现一个窗口,点击右侧的package view。 c:在左下的窗口中可以定义输入输出与引脚的连接。具体的设置如图19,设置后点击保存并关闭窗口。完成上述步骤后,约束文件就已经创建好了。 图19 分配引脚后的封装图 具体的约束条件为: NET "A<0>" LOC = "L14" ; NET "A<1>" LOC = "L15" ; NET "A<2>" LOC = "H18" ; NET "A<3>" LOC = "N17" ; NET "LED7S<0>" LOC = "F12" ; NET "LED7S<1>" LOC = "E12" ; NET "LED7S<2>" LOC = "E11" ; NET "LED7S<3>" LOC = "F11" ; NET "LED7S<4>" LOC = "C11" ; NET "LED7S<5>" LOC = "D11" ; NET "LED7S<6>" LOC = "E9" ; 步骤5:生成下载配置文件 (1)点击processes中的implement design,完成实现设计的三个步骤,即转换、映射和布局布线,如图20, 图20 完成实现的工程界面 (2)继续点击下一步Generate Program File可以生成位流文件,关闭弹出的对话框。 (3)将板子的电源和数据线连接好,点击Generate Program File的+号,在下拉菜单中选择generate PROM,ACE,or,JTAG File ,并双击。出现图21,并选择如下配置。 图21 iMPACT界面 (4)点击Next,出现图22, 图22 PROM文件 (5)点击Next,选择一个PROM。如图23, 图23 具体的Xilinx PROM器件 (7)点击Next,直到点击Finish,完成,出现下图24, 图24 文件生成总结 (8)点击完成之后,如图25所示, 图25 配置文件 (9)点击OK ,添加位流文件,如图26所示, 图26 添加位流文件 (10)选中ymq7s.bit文件,打开它,在接下弹出的窗口中点击NO,如图27所示。 图27 增加器件 (11)点击No之后,出现图28, 图28 增加器件 (12)如图29所示, 图29 PROM 文件格式 (13)双击source框中的最后一个PROM File Formatter,在Processes中双击Generate File,生成以.MCS结尾的文件,如图30所示, 图30 生成PROM文件 (14)双击source框中的第一个boundary scan,并在最右侧的空白处右击选择Initialize Chain,如图31所示, 图31 初始化文件 (15)在弹出的选择添加ymq7s.bit,和Untitled.mcs,后面1个不添加,如图32所示, 图32 添加器件之后的图 (16)右击top.bit文件选择program命令,如图33, 图33 (17)Program之后,会出现下图34: 图34 (18)在弹出的Program Succeeded上点击OK (19)同样,按照下图35所示,下载程序 图35 (20)在弹出的Program Succeeded上点击OK (21)把设计下载到板子中,在板子上可以看到效果。 注意:板子断电后必须重新载入程序。 6、实验现象 拨动四个开关,LED的各位亮、灭与期望结果相同,一位相当于7段译码器的一个段,所以7位亮、灭代表了7段译码器显示的数字。 7、结语 本实验主要是对ISE软件的熟悉,了解下载的流程。在做此实验的过程时可以相应的看下其他各种命令会产生什么结果。熟悉ISE能完成的相关功能,并了解相关设置的含义,以及板子的使用等等。 附录: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity DECL7S is PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); end DECL7S; architecture Behavioral of DECL7S is begin PROCESS(A) BEGIN CASE A IS WHEN "0000"=>LED7S<="0111111"; WHEN "0001"=>LED7S<="0000110"; WHEN "0010"=>LED7S<="1011011"; WHEN "0011"=>LED7S<="1001111"; WHEN "0100"=>LED7S<="1100110"; WHEN "0101"=>LED7S<="1101101"; WHEN "0110"=>LED7S<="1111101"; WHEN "0111"=>LED7S<="0000111"; WHEN "1000"=>LED7S<="1111111"; WHEN "1001"=>LED7S<="1101111"; WHEN "1010"=>LED7S<="1110111"; WHEN "1011"=>LED7S<="1111100"; WHEN "1100"=>LED7S<="0111001"; WHEN "1101"=>LED7S<="1011110"; WHEN "1110"=>LED7S<="1111001"; WHEN "1111"=>LED7S<="1110001"; WHEN OTHERS=>NULL; END CASE; END PROCESS; end Behavioral;
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服