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 = "L13" ;--SW0
NET "A<1>" LOC = "L14" ;-- SW1
NET "A<2>" LOC = "H18" ; -- SW2
NET "A<3>" LOC = "N17" ; -- SW3
NET "LED7S<0>" LOC …… 此处隐藏:927字,全部文档内容请下载后查看。喜欢就下载吧 ……