ISE开发流程 2.docx
- 文档编号:25817245
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:30
- 大小:2.74MB
ISE开发流程 2.docx
《ISE开发流程 2.docx》由会员分享,可在线阅读,更多相关《ISE开发流程 2.docx(30页珍藏版)》请在冰豆网上搜索。
ISE开发流程2
ISE10.1的使用流程
1.ISE简介
ISE的主要功能包括设计输入、综合、仿真、实现和下载,涵盖了可编程逻辑器件开发的全过程,从功能上讲,完成CPLD/FPGA的设计流程无需借助任何第三方EDA软件。
下面简要说明各功能的作用:
设计输入:
ISE提供的设计输入工具包括用于HDL代码输入和查看报告的ISE文本编辑器(TheISETextEditor),用于原理图编辑的工具ECS(TheEngineeringCaptureSystem),用于生成IPCore的CoreGenerator,用于状态机设计的StateCAD以及用于约束文件编辑的ConstraintEditor等。
综合:
ISE的综合工具不但包含了Xilinx自身提供的综合工具XST,同时还可以内嵌MentorGraphics公司的LeonardoSpectrum和Synplicity公司的Synplify,实现无缝链接。
仿真:
ISE本身自带了一个具有图形化波形编辑功能的仿真工具HDLBencher,同时又提供了使用ModelTech公司的Modelsim进行仿真的接口。
实现:
此功能包括了翻译、映射、布局布线等,还具备时序分析、管脚指定以及增量设计等高级功能。
下载:
下载功能包括了BitGen,用于将布局布线后的设计文件转换为位流文件,还包括了IMPACT,功能是进行芯片配置和通信,控制将程序烧写到FPGA芯片中去。
2ISE的界面介绍
2.1ISE10.1的主窗口
ISE的主窗口如图1所示。
其中左上角的窗口是源(source)文件窗,设计工程所包括的文件以分层的形式列出。
在该子窗口的下面是处理(process)窗,该窗口描述的是对于选定的设计文件可以使用的处理流程。
在ISE主界面最下面是脚本(transcript)窗,在该窗口中显示了消息、错误和警告的状态。
同时还有Tcl脚本的交互和文件中查找的功能。
在ISE的右边是多工作(workspace)区窗,该窗可以查看html的报告,ASCII码文件、原理图和仿真波形。
通过选择View->RestoreDefaultLayout可以恢复界面的原始设置。
图1ISE的主窗口
各子窗口的功用如下:
源(source)窗:
这个窗口有三个标签,源(Source)、Snapshots(快照)和Library(库)。
源标签内显示工程名、指定的芯片和设计相关文档。
在设计视图的每一个文件都有一个相关的图标,这个图标显示的是文件的类型(HDL文件、原理图、IP核和文本文件)。
‘+’表示该设计文件包含了更低层次的设计模块。
标签内显示的是目前所打开文件快照。
一个快照是在该工程里所有文件的一个拷贝。
通过该标签可以察看报告、用户文档和源文件。
该标签下所有的信息只读。
库标签内显示与当前工程相关的库。
处理(process)窗:
在该窗口只有一个标签——“处理”。
在该窗口内可以进行下列工作:
添加已有文件;创建新文件;察看设计总结(访问符号产生工具,例化模板,察看命令行历史和仿真库编辑);用户约束文件(访问和编辑位置和时序约束);综合(检查语法、综合、察看RTL和综合报告);设计实现(访问实现工具,设计流程报告和其它一些工具);产生可编程文件(访问配置工具和产生比特流文件)。
脚本(transcript)窗:
该窗口有5个默认标签:
Console,Error,Warnings,Tclshell,Findinfile。
选中Console标签,可显示错误、警告和其他信息,其中错误用X表示,警告用!
表示。
选中Warning标签,可专门显示警告消息。
选中Error标签,可专门显示错误消息。
Tclshell标签是与设计人员的交互控制台。
除了显示错误、警告和信息外,还允许输入ISE特定命令。
Findinfile标签显示的是选择Edit>FindinFile操作后的查询结果。
工作区(Workspace)窗:
工作区子窗口提供了设计总结、文本编辑器、ISE仿真器/波形编辑器、原理图编辑器功能。
设计总结提供了关于该设计工程的更高级信息,包括信息概况、芯片资源利用报告、与布局布线相关性能数据、约束信息和总结信息等。
源文件和其它文本文件可以通过设计人员指定的编辑工具打开。
编辑工具的选择由Edit->Preference属性决定,默认ISE的文本编辑器,通过该编辑器可以编辑源文件和用户文档,也可以访问语言模板。
2.2ISE10.1的设计流程
启动ISE10.1:
从windows的“开始”菜单中选中“程序”,之后选“XilinxISEDesignSuite10.1”,再选“ISE”,最后选中“ProjectNavigator”并双击之。
或者,如果您的计算机桌面上有ISE10.1的图标的话,可直接双击该图标。
该过程如图2所示。
图2ISE的启动
启动后的ISE10.1的版面如图3所示。
点击TipoftheDay上的
或OK,关闭该Tip,以便进行后面的操作。
图3启动后的ISE页面
下面是打开后的ISE页面,如图-所示。
若以前使用过该软件,会默认打开上一个工程。
图4打开后的ISE10.1的页面
创建一个新工程:
从file的下拉菜单中选中newproject并点击之。
随之会弹出一个新建工程(NewProjectWizard)对话框,如图5所示。
在该对话框中的工程名(ProjectName)一栏中,输入工程名,如m10_counter。
此时在工程路径(ProjectLocation)一栏中,会按用户指定的盘符自动地生成一个文件夹,该文件夹的名字与工程的名字相同,新建的工程就被放在这个文件夹中。
注意工程名中不要有汉字和空格,也不要以阿拉伯数字起头,如“模10counter”或“10counter”。
最后在顶层源文件类型(Top-levelsourcetype)一栏中选HDL。
点击“Next”进入下一页。
图5新建一个工程
工程路径也可以通过路径选择来确定,即通过点击路径选择,打开一个如图6所示的选择框。
按图中所示进行操作。
(注意:
在有的计算机上会要求建两层文件夹。
)
图6文件夹的路径选择
接下来的这一页是选择所使用的芯片类型、源文件的输入方式、综合、仿真工具和输入语言。
计算机上所安装的所有用于仿真和综合的第三方EDA工具都可以在下拉菜单中找到,如图5-所示。
在图中,我们选用了Spartan3AandSpartan3AN系列的XC3S200A芯片,并且指定综合工具为XST(VHDL/Verilog),仿真工具选为ModelSin-SEmixed。
另外将设计输入所用的语言定为VHDL。
当各个选项确定后,点击Next,进入下一页。
图7工程属性的选择
在这一页里点击NewSource可以新建一个源文件。
这个过程也可以在工程属性建立完成后再进行。
接下来点击Next,进入下一页。
图8建立新的源文件
在这一页里点击AddSource可以新添一个源文件。
这个过程也可以在工程属性建立完成后再进行。
接下来点击Next,进入下一页。
图9添加新的源文件
到这一步,新工程的建立过程就基本完成了,软件会给出一个工程属性的小结,如图所示。
如果发现其上的哪一处与你的构想不一致,可点击Back,返回到需要修改的那一面。
接下来点击Finish,结束该工程的建立过程。
图10工程小结
工程建立后的ISE界面如下图所示。
此时在Sources窗口中显示的是工程文件夹以及工程所用芯片。
图11工程建立后的ISE界面
新建源文件:
有两种新建源文件的方法,其操作过程如图所示。
其一为:
在Sources窗中任意位置单击鼠标右键,在随后弹出的下拉菜单中选NewSource并单击之。
其二为:
在ISE的菜单栏中选中Project菜单,在随之弹出的下拉菜单中选中NewSource并单击之。
图12新建源文件
在随后弹出的选择框内,可根据不同的设计需求选择文件类型并输入对应的文件名字。
注意文件名中不要有汉字和空格,也不要以阿拉伯数字起头,如“模10counter”或“10counter”。
本例中文件类型选VHDLModule,文件名为m10_counter,之后点击Next,进入下一页的设置。
其过程如图13所示。
图13确定文件类型、输入文件名
在这一页面上可给实体(Entity)确定端口。
端口的输入也可以等到文本编辑器打开后再进行。
注意,ISE自动地把文件名与实体名关联起来了,也就是说文件名与实体名是同一个――m10_counter。
端口名和端口类型确定后,点击之后点击Next,进入下一页。
其过程如图14所示。
图14确定实体端口
接下来的一页是一个小结,是新建文件的一个概况,如图15所示。
如果发现其上的哪一处与你的构想不一致,可点击Back,返回到需要修改的那一面。
接下来点击Finish,结束该文件的建立过程。
图15对新建文件的小结
接下来ISE会在其工作区自动的弹出一个文本编辑器。
该文本编辑器上的文档已有一个写好了的模版以方便设计者得使用,如图16所示。
图16-ISE自动生成的模版
添加VHDL代码和注释文字:
按图17所示的例子输入VHDL代码(verilog的用户可参考后面附录中的代码)。
该设计利用实验板上的按键开关KEY-1做计数时钟(clk)输入,用KEY-8做复位(rst)开关,用拨码开关SWITCH-A1做进位输入(carry_in),用四个发光二极管LED8~5作为计数输出(count),用一个发光二极管LED1作为进位输出(carry_out)。
注意该实验板上的led是共阳联接的;按键开关平时为高电平,按下时为低电平。
输入完成后,一个完整的VHDL设计也就结束了。
接下来就是对该设计的处理了。
图17一个完整的VHDL设计实体
在ISE中对设计进行处理主要包括以下项目:
综合、限制编辑、实现、生成bit文件和下载。
如图18所示。
图18对设计进行的几种处理
设计的综合:
在进行综合之前一般应对录入后的源文件进行语法检查。
其过程为:
先在源窗中选中要进行处理的文件,再在处理窗中选中Synthesize-XST,之后用鼠标左键单击其端头的
号,随后会弹出一个下拉菜单,在该菜单中选中CheckSyntax并双击之。
如图19所示。
图19-对文本检查语法
ISE会自动检查该段源文件的语法。
若无语法错误,在CheckSyntax的左端会出现一个绿色的
,并在脚本窗,当选中Console标签后,显示出Process"CheckSyntax"completedsuccessfully。
如图20所示。
图20语法无误
若有语法错误,则会出现一个红色的
,并在脚本窗,当选中Console或Error标签后,显示出对应的错误类型和出错的大致行数。
如图21所示
图21语法有错及其提示
当已确定无语法错误后即可对源文件进行综合了。
所谓综合,就是将HDL语言、原理图等设计输入翻译成由与、或、非门、RAM和触发器等基本逻辑单元的逻辑连接(网表),并根据目标和要求(约束条件)优化所生成的逻辑连接,生成EDF文件
下面介绍综合的操作。
在处理窗中选中Synthesize-XST并双击之。
若综合成功,则在Synthesize-XST的左端会出现一个绿色的
,若综合出错,则会出现一个红色的
,以上两种情况下脚本窗中都会出现对应的提示文字。
如图5所示
在Synthesize-XST的左端会出现一个绿色的
,若综合出错,则会出现一个红色的
,以上两种情况下脚本窗中都会出现对应的提示文字。
如图22所示
图22综合的结果
综合成功后,不必急于进行其他项目的处理,例如限制编辑等。
为了确保设计的功能是符合设计要求的,可以先对源文件进行仿真,以便检查出更深层次的错误,例如某些设计原理上的缺陷。
仿真部分的内容请参见《modelsim仿真流程》。
当通过仿真确定设计符合要求后,就可以进行引脚的约束了。
要进行引脚约束,先要有引脚约束文件。
下面就介绍该文件的添加过程。
按图39所示,在源窗中的“Sourcesfor:
”处,将原先的BehavioralSimulation切换回Implementation。
图39切换成Implementation。
之后添加新的源文件,如图40所示。
图40添加引脚约束文件的过程
接下来的是一个小结,如图41所示。
点击Finish,换到下一页的设置。
图41对约束文件的小结
在处理窗展开UserConstraints,如图42所示。
图42展开UserConstraints
接下来,选中FloorplanIO–Pre-Synthesis并双击之。
如图43所示,在随后弹出的提示框中单击OK。
图-43启动FloorplanIO–Pre-Synthesis
稍候片刻,ISE会切换成如图44所示的页面。
图44约束管脚的页面
下面在Processes窗中,按图45所示,在LOC处填入对应的管脚号。
之后存盘保存设置,这样就完成了对管脚的设置工作。
图45约束管脚
当需要查看或修改管脚的约束时,可先在源窗中选中m10counter.ucf,再在处理窗选Editconstraints(Text)并单击之,如图46所示,随后就可在ISE的工作区查看和修改约束结果了。
图46查看管脚约束
接下来可以进行实现的操作了。
所谓实现(Implement)是将综合输出的逻辑网表,翻译成所选器件的底层模块与硬件原语,将设计映射到器件结构上,进行布局布线,达到在选定器件上实现设计的目的。
其过程如图47所示。
在处理窗中选中ImplementDesign并双击之。
在展开后的ImplementDesign中可以看到,要完成实现实际上要经过三个过程,即翻译(Translate)、映射(Map)和布局布线。
在实现的过程中,ISE会依次进行这些项目的处理,每通过一个就会在其左边打上一个绿勾
,直至都打上绿勾。
如果在某一项的左边出现了红叉
,说明该项的处理失败了,应到脚本窗内查看错误的原因,并做出对应的修改。
这个过程可能会反复进行,直到无错为止。
图47设计实现
实现完成后就可以生成编程文件(因该文件的后缀为.bit,所以又被称为位流文件)了。
其过程为,在处理窗中选中GenerateProgrammingFile并双击之,如图48所示,随后会弹出三个提示框,第一个会自动消失,对后面的两个都不必理会,只须按图示分别点击OK和Cancel就行了。
该过程与实现的过程十分类似。
图48生成编程文件
编程文件产生后就到了设计的最后阶段了,即将该bit文件下载到目标器件上去。
先将下载电缆与实验板连接好,再接通实验板的电源,最后如图49所示,在处理窗内展开ConfigureTargetDevice。
图49展开ConfigureTargetDevice
接下来选中ManageConfigurationProject(iMPACT)并双击之,如图50所示,随后会弹出一个选择框。
默认该页面上的下载方式设置并点击Finish。
图50设置下载方式
在后面弹出的选择框里,如图51所示,选m10_counter.bit并点击Open。
这个过程就是选择编程文件的过程。
图51选择下载所需的文件
接着会再弹出一个类似于前图的对话框,如图52所示,不过这次不再是点击Open而是点击Bypass。
图52选择旁路
在接下来弹出的下载属性提示框中点击OK,如图53所示。
图53下载属性提示框
之后,ISE的页面会自动切换成如图54所示的样子,也就是说变成了下载页面。
图54下载页面
现在,在ISE的工作区选中器件xc3s200a,如图55所示,点击鼠标右键,会弹出一个菜单,在该菜单上选择programe,并单击之。
随后开始下载。
图55启动下载
接下来ISE会显示下载进度,如图56所示。
图56下载进度
最后,当下载完毕后,上图中的进度框会自动消失人。
下载成功的话,ISE会有如图57所示的提示,
图57成功下载的提示
如果下载失败,ISE也会给出警示,如图58所示,并会提示出错的大致原因,按照这些提示,最终总是可以排除故障,成功下载的。
图58下载失败的提示
至此ISE的开发环境和整个使用过程就介绍完毕了。
下载成功后,就进入了在开发板上进行实际验证调试的阶段了。
该设计的预期结果是:
按下按键开关KEY8(代表复位rst)后,四个发光二极管(代表计数结果count)LED8~5应熄灭;松开KEY8后,合上拨码开关(代表进位输入carry_in)SWITCH-A1,每按下一次按键开关KEY1(代表计数时钟clk),计数器就在原来的计数上加一,直到加到9,之后,计数器回0。
只要不断地按、放开关KEY1,这个过程会循环进行。
四个发光二极管LED8~5就按bcd码的形式,将计数结果显示出来,当计数器计到9时,LED1(代表进位输出carry_out)会亮。
当SWITCH-A1断开后,计数停止,四个发光二极管将保持开关断开前的最后一次计数结果。
此时,再按KEY1,发光二极管将不再随之改变了。
附录(verilog参考代码)
`timescale1ns/1ps
modulem10_counter(bcd_code,carry_out,carry_in,clk,rst);
//以下为端口申明
inputclk,rst,carry_in;
output[3:
0]bcd_code;
outputcarry_out;
//以下为寄存器和线段申明
reg[3:
0]c_state,n_state;
//以下为模10计数器的描述
/***************************************************************/
always@(negedgeclkornegedgerst)
if(!
rst)
c_state<=4'b0;//时序进程
else
c_state<=n_state;
/***************************************************************/
always@(c_stateorcarry_in)
if(!
carry_in)
if(c_state==4'b1001)
n_state<=4'b0;//组合进程
else
n_state<=c_state+1'b1;
else
n_state<=c_state;
/*************************************************************************/
assigncarry_out=((c_state==4'b1001)&(!
carry_in))?
0:
1;//持续赋值(并行语句)
assignbcd_code=~c_state;//持续赋值(并行语句)
/**********************************************************************/
endmodule
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ISE开发流程 ISE 开发 流程