实验四 32位计数器.docx

上传人:b****0 文档编号:9360836 上传时间:2023-05-18 格式:DOCX 页数:21 大小:1.31MB
下载 相关 举报
实验四 32位计数器.docx_第1页
第1页 / 共21页
实验四 32位计数器.docx_第2页
第2页 / 共21页
实验四 32位计数器.docx_第3页
第3页 / 共21页
实验四 32位计数器.docx_第4页
第4页 / 共21页
实验四 32位计数器.docx_第5页
第5页 / 共21页
实验四 32位计数器.docx_第6页
第6页 / 共21页
实验四 32位计数器.docx_第7页
第7页 / 共21页
实验四 32位计数器.docx_第8页
第8页 / 共21页
实验四 32位计数器.docx_第9页
第9页 / 共21页
实验四 32位计数器.docx_第10页
第10页 / 共21页
实验四 32位计数器.docx_第11页
第11页 / 共21页
实验四 32位计数器.docx_第12页
第12页 / 共21页
实验四 32位计数器.docx_第13页
第13页 / 共21页
实验四 32位计数器.docx_第14页
第14页 / 共21页
实验四 32位计数器.docx_第15页
第15页 / 共21页
实验四 32位计数器.docx_第16页
第16页 / 共21页
实验四 32位计数器.docx_第17页
第17页 / 共21页
实验四 32位计数器.docx_第18页
第18页 / 共21页
实验四 32位计数器.docx_第19页
第19页 / 共21页
实验四 32位计数器.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验四 32位计数器.docx

《实验四 32位计数器.docx》由会员分享,可在线阅读,更多相关《实验四 32位计数器.docx(21页珍藏版)》请在冰点文库上搜索。

实验四 32位计数器.docx

实验四32位计数器

32位计数器

1、实验目的

熟悉ISE系列软件的设计流程和基本工具使用。

2、实验内容

(1)创建ISE工程。

(2)VHDL语言设计输入。

(3)完成简单的设计约束,设计综合和设计实现,并生成下载配置文件。

(4)在Spartan3E开发板上实现32位计数器的计数的显示。

3、实验器材

Spartan3E开发板。

4、实验说明

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

5、实验步骤

步骤1:

创建ISE工程

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

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

(2)在弹出的对话框(见图1)中,设置工程名为count32,工程存放路径为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作为源程序类型,设置文件名为count32,并单击“下一步”按钮。

图5VHDL的NewSourceWizard

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

图6程序总结

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

输入32位计数器程序并保存(程序见附录),编辑窗口如图7。

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

步骤3:

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

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

单击synthesize-XST左边的

可以展开它。

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

如图8所示。

(必须!

图8综合后的程序编辑窗口

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

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

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

(3)仿真。

(可不仿真)

步骤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"clk"LOC="C9";--系统时钟,50Mhz

NET"cnt<0>"LOC="F12";--LED0

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

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

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

步骤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)选中count.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)在弹出的选择添加count32.bit,和Untitled.mcs,后面1个不添加,如图32所示,

图32添加器件之后的图

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

图33

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

图34

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

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

图35

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

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

注意:

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

6、实验现象

通过把程序下载到Spartan3E板上,可以看到LED发光二极管的低四位按照顺序发光。

7、结语

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

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

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

附录:

libraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;

useIEEE.STD_LOGIC_ARITH.ALL;

useIEEE.STD_LOGIC_UNSIGNED.ALL;

entitycountis

Port(clk:

inSTD_LOGIC;

cnt:

outSTD_LOGIC_VECTOR(3downto0)

);

endcount;

architectureBehavioralofcountis

signalcounter:

std_logic_vector(31downto0):

=(others=>'0');

begin

process(clk)

begin

if(clk'eventandclk='1')then

counter<=counter+1;

endif;

endprocess;

cnt<=counter(31downto28);

endBehavioral;

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2