实验六 7段数码显示译码器设计.docx

上传人:b****6 文档编号:6127163 上传时间:2023-01-04 格式:DOCX 页数:24 大小:1.82MB
下载 相关 举报
实验六 7段数码显示译码器设计.docx_第1页
第1页 / 共24页
实验六 7段数码显示译码器设计.docx_第2页
第2页 / 共24页
实验六 7段数码显示译码器设计.docx_第3页
第3页 / 共24页
实验六 7段数码显示译码器设计.docx_第4页
第4页 / 共24页
实验六 7段数码显示译码器设计.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

实验六 7段数码显示译码器设计.docx

《实验六 7段数码显示译码器设计.docx》由会员分享,可在线阅读,更多相关《实验六 7段数码显示译码器设计.docx(24页珍藏版)》请在冰豆网上搜索。

实验六 7段数码显示译码器设计.docx

实验六7段数码显示译码器设计

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、实验器材

Spartan3E开发板。

4、实验说明

实验中所需要的源文件在本报告附录中。

5、实验步骤

步骤1:

创建ISE工程

(1)启动桌面上的ISE9.1

图标,在ProjectNavigator中选择File→NewProject。

(2)在弹出的对话框(见图1)中,设置工程名为ymq7s,工程存放路径为E:

\work\,顶层模块类型选择HDL,并单击Next按钮。

图1ISE工程属性对话框

(3)出现图2所示对话框,目标器件选择spartan3E,具体设计如下图。

图2ISE工程属性对话框

(4)一直点击Next,直到出现图3(即是刚才所设定的),最后点击Finish。

图3工程设计总表

出现图4,这就是所建立的工程,现在我们需要在里面完成我们的设计。

图4ISE工程属性对话框

步骤2:

创建新的VHDL设计文件

(1)在ISE用户界面中,选择Project→NewSource。

(2)在弹出的对话框(见图5)中,选择VHDLModule作为源程序类型,设置文件名为ymq7s,并单击“下一步”按钮。

图5VHDL的NewSourceWizard

(3)点击Next,直到出现图6,直到Finish。

图6程序总结

(4)点击Finish之后出现程序编辑窗口,在窗口中进行程序编辑。

输入7段数码显示译码程序并保存(程序见附录),编辑窗口如图7。

图7保存后的程序编辑窗口

步骤3:

利用XST进行设计综合并仿真

(1)点击processes目录下的synthesize-XST可以实现综合。

单击synthesize-XST左边的

可以展开它。

综合后可以点击生成相应的文件并观察。

如图8所示。

(2)综合过后,在信息显示窗口中会显示Process"Synthesize"completedsuccessfully即综合成功。

成功后会在相应的地方打勾,即

如果有警告会出现感叹号,若为错误会出现叉号,可以点击Transoript下的Errors查看错误信息并修改,警告信息可以忽略。

(3)仿真。

在资源窗的sourcefor右面的复选框中选择第二个Behavioralsimulation,如图9,

图9资源管理窗的仿真复选窗口

选择Behavioralsimulation之后,界面如图10所示,

图10仿真界面

(4)建立仿真文件,双击Creatnewsource。

(5)如图11,选择建立的文件类型为testbenchwaveform,输入仿真文件名字为ymq7s_tbw,其后缀为.tbw,点击Next。

图11仿真波形的原文件向导

(6)点击Next,出现图12,选择你的波形文件连接对象,这里选择头文件。

图12波形连接源文件

(7)点击Next,进入Finish对话框,完成添加波形文件的操作。

进入如13所示界面,可以设置你的设计是逻辑电路还是时序电路,对时序电路,可以对CLK进行相关的设置。

图13初始时序设置向导

(8)点击Finish,就会产生波形文件了,如图14。

在右侧的可以对波形文件进行编辑,可以设置其输入,输入可以自己设置。

并保存。

保存后就会在左边的对话框中显示TBW文件。

选中它,点击processes中的XILINXISEsimulator下的SimulateBehavioralModel。

图14仿真之前的初始输入波形

(9)仿真完成后,结果如图15所示,读者可根据其结果来验证程序的正确性。

可以改变相应输入,再次仿真。

图15仿真后的波形结果

步骤4:

设计实现

(1)查看设计

双击DesignUtilities目录下的CreatSchematicSymbol,创建原理图,创建完成之后,信息窗口中如图16所示。

图16创建原理图后的信息窗口

点击工具栏的

按钮,选择count.SYM,注意是以.SYM结尾的,如图17所示,

图17打开原理图的窗口

点击打开,如图18所示,

图18原理图

(2)创建用户约束文件

a:

在processes框中选择userconstraints,打开其+号,选择下拉菜单中的createareaconstraints,双击它来添加约束。

b:

会出现一个问你是否创建约束文件的窗口,点击YES,出现一个窗口,点击右侧的packageview。

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="F12";--LED0

NET"LED7S<1>"LOC="E12";--LED1

NET"LED7S<2>"LOC="E11";--LED2

NET"LED7S<3>"LOC="F11";--LED3

NET"LED7S<4>"LOC="C11";--LED4

NET"LED7S<5>"LOC="D11";--LED5

NET"LED7S<6>"LOC="E9";--LED6

步骤5:

生成下载配置文件

(1)点击processes中的implementdesign,完成实现设计的三个步骤,即转换、映射和布局布线,如图20,

图20完成实现的工程界面

(2)继续点击下一步GenerateProgramFile可以生成位流文件,关闭弹出的对话框。

(3)将板子的电源和数据线连接好,点击GenerateProgramFile的+号,在下拉菜单中选择generatePROM,ACE,or,JTAGFile,并双击。

出现图21,并选择如下配置。

图21iMPACT界面

(4)点击Next,出现图22,

图22PROM文件

(5)点击Next,选择一个PROM。

如图23,

图23具体的XilinxPROM器件

(7)点击Next,直到点击Finish,完成,出现下图24,

图24文件生成总结

(8)点击完成之后,如图25所示,

图25配置文件

(9)点击OK,添加位流文件,如图26所示,

图26添加位流文件

(10)选中ymq7s.bit文件,打开它,在接下弹出的窗口中点击NO,如图27所示。

图27增加器件

(11)点击No之后,出现图28,

图28增加器件

(12)如图29所示,

图29PROM文件格式

(13)双击source框中的最后一个PROMFileFormatter,在Processes中双击GenerateFile,生成以.MCS结尾的文件,如图30所示,

图30生成PROM文件

(14)双击source框中的第一个boundaryscan,并在最右侧的空白处右击选择InitializeChain,如图31所示,

图31初始化文件

(15)在弹出的选择添加ymq7s.bit,和Untitled.mcs,后面1个不添加,如图32所示,

图32添加器件之后的图

(16)右击top.bit文件选择program命令,如图33,

图33

(17)Program之后,会出现下图34:

图34

(18)在弹出的ProgramSucceeded上点击OK

(19)同样,按照下图35所示,下载程序

图35

(20)在弹出的ProgramSucceeded上点击OK

(21)把设计下载到板子中,在板子上可以看到效果。

注意:

板子断电后必须重新载入程序。

6、实验现象

拨动四个开关,LED的各位亮、灭与期望结果相同,一位相当于7段译码器的一个段,所以7位亮、灭代表了7段译码器显示的数字。

7、结语

本实验主要是对ISE软件的熟悉,了解下载的流程。

在做此实验的过程时可以相应的看下其他各种命令会产生什么结果。

熟悉ISE能完成的相关功能,并了解相关设置的含义,以及板子的使用等等。

 

附录:

libraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;

useIEEE.STD_LOGIC_ARITH.ALL;

useIEEE.STD_LOGIC_UNSIGNED.ALL;

entityDECL7Sis

PORT(A:

INSTD_LOGIC_VECTOR(3DOWNTO0);

LED7S:

OUTSTD_LOGIC_VECTOR(6DOWNTO0));

endDECL7S;

architectureBehavioralofDECL7Sis

begin

PROCESS(A)

BEGIN

CASEAIS

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";

WHENOTHERS=>NULL;

ENDCASE;

ENDPROCESS;

endBehavioral;

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

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1