ISE4.1i快速入门
- 格式:pdf
- 大小:1.13 MB
- 文档页数:30
4.1.4 ISE软件的基本操作1.ISE用户界面ISE9.1i的界面如图4-6所示,由上到下主要分为标题栏、菜单栏、工具栏、工程管理区、源文件编辑区、过程管理区、信息显示区、状态栏等8部分。
图4-6 ISE的主界面∙标题栏:主要显示当前工程的名称和当前打开的文件名称。
∙菜单栏:主要包括文件(File)、编辑(Edit)、视图(View)、工程(Project)、源文件(Source)、操作(Process)、窗口(Window)和帮助(Help)等8个下拉菜单。
其使用方法和常用的Windows软件类似。
∙工具栏:主要包含了常用命令的快捷按钮。
灵活运用工具栏可以极大地方便用户在ISE中的操作。
在工程管理中,此工具栏的运用极为频繁。
∙工程管理区:提供了工程以及其相关文件的显示和管理功能,主要包括源文件视图(Source View),快照视图(Snapshot View)和库视图(Library View)。
其中源文件视图比较常用,显示了源文件的层次关系。
快照是当前工程的备份,设计人员可以随时备份,也可以将当前工程随时恢复到某个备份状态。
快照视图用于查看当前工程的快照。
执行快照功能的方法是选择菜单项Project |Take Snapshot。
库视图则显示了工程中用户产生的库的内容。
∙源文件编辑区:源文件编辑区提供了源代码的编辑功能。
∙过程管理区:本窗口显示的内容取决于工程管理区中所选定的文件。
相关操作和FPGA设计流程紧密相关,包括设计输入、综合、仿真、实现和生成配置文件等。
对某个文件进行了相应的处理后,在处理步骤的前面会出现一个图标来表示该步骤的状态。
∙信息显示区:显示ISE中的处理信息,如操作步骤信息、警告信息和错误信息等。
信息显示区的下脚有两个标签,分别对应控制台信息区(Console)和文件查找区(Find in Files)。
如果设计出现了警告和错误,双击信息显示区的警告和错误标志,就能自动切换到源代码出错的地方。
第四章 ISE 6.x 设计工具简介和使用§4.1概述本章将详细介绍Xilinx 公司新的高性能设计开发工具ISE(Integrated Software Environment),并以第六版本进行讲解和演示。
Xilinx 根据不同的用户,分别提供四种不同功能的设计开发工具:ISE WebPACK,ISE Foundation,ISE BaseX和ISE Alliance。
(1) ISE WebPACK版:该软件为全免费版,可通过Xilinx网站直接下载。
支持包括XC95*/XC95*XL/XC95*XV、CoolRunner XPLA3、CoolRunner-II全系列 CPLD;以及Spartan-II/Spartan-IIE全系列FPGA;Spartan-3系列器件中的XC3S50、XC3S200、XC3S400;Virtex-E部分FPGA(V50E-V300E)器件;Virtex-II部分FPGA(2V40-2V250)器件;Virtex-II Pro部分FPGA(2VP2)器件。
集成了XST(Xilinx Synthesis Technology)综合工具。
但不支持Core Generator(核生成)工具和PACE(引脚和区域约束编辑器)。
(2) ISE Foundation版:该软件为完全版。
提供了设计开发工具的所有功能.支持Xilinx的全系列逻辑器件产品。
并集成了XST(Xilinx Synthesis Technology)综合工具。
支持Core Generator(核生成)工具和PACE(引脚和区域约束编辑器)。
(3) ISE BaseX版:该软件为部分受限版。
即支持XC95*/XC95*XL/XC95*XV全系列CPLD; CoolRunner XPLA3全系列CPLD;CoolRunner-II全系列 CPLD;以及Spartan-II/Spartan-IIE全系列FPGA;Spartan-3系列器件中的XC3S50、XC3S200、XC3S400;Virtex/Virtex-E部分FPGA(V50/V50E—V600/V600E)器件;Virtex-II部分FPGA(2V40--2V250)器件;Virtex-II Pro部分FPGA(2VP2、2VP4、2VP7)器件。
熟悉ISE软件的使⽤⽅法熟悉ISE软件的使⽤⽅法:(⼀)新建⼯程1.1 点击File----〉New Project,如图所⽰:1.2 在弹出的对话框Project Name 中输⼊⼯程名称,Project Location 为⼯程保存位置,可以默认位置或⾃⾏更改位置。
Top-level source type 为顶层资源类型,默认为HDL,不必更改。
如图所⽰:1.3 点击Next 按钮,进⼊⼯程的进⼀步设置,如图所⽰:选择器件家族(Family)、具体器件名称(Device)、封装形式(Package)、速度(Speed)、综合⼯具(默认就⾏)、仿真⼯具(Simulator)(默认使⽤ISE⾃带的仿真⼯具、也可以选择使⽤Modesim)。
1.4 设置完成点击Next,⼀路Next直到点击Finish。
(⼆)建⽴VHDL源程序2.1 新建⼯程后,在ISE软件左侧Source中的器件名上单击右键弹出对话框,如图所⽰:选择New Source。
2.2在弹出的对话框中选择VHDL Module,File Name中键⼊VHDL⽂件名称。
如图所⽰:Location 默认就⾏,⼀路点击Next完成新建VHDL模块。
2.3回到ISE环境,我们可以看到⼀个有待完成的VHDL程序,该程序已经包含了头⽂件,实体和结构体的定义,需要我们添加端⼝和结构体的具体实现。
也可以删除这些内容,拷贝已经写好的VHDL程序到其中,然后保存⽂件。
(⼆)VHDL程序的综合与仿真3.1 程序的综合双击ISE环境左侧Processes下的Implement design 中的Synthesize-XST,或右键点击再选择Run,如果程序没有错误则会综合通过,如果程序出错,可点击ISE环境左下的Errors进⾏查看。
如图所⽰:(三)引脚锁定与下载4.1 在ISE环境下,在左侧Source 下的Source for 中可以选择post-rout simulation 进⾏时序仿真,具体过程参考功能仿真。
引言:概述:ISE软件是由Xilinx公司开发的一款集成电路设计工具,使用该软件可以进行数字电路设计、仿真、验证以及实现等多个阶段的工作。
在设计阶段,ISE软件提供了丰富的组件库和设计工具,方便用户进行电路原理图的绘制和逻辑设计。
在验证阶段,ISE软件可以进行功能仿真和时序仿真,以确保设计的正确性和稳定性。
在实现阶段,ISE软件提供了先进的布局与布线工具,能够将设计转化为实际的电路板。
正文内容:1.安装与启动1.1ISE软件安装包1.2安装ISE软件1.3启动ISE软件2.项目管理2.1创建新项目2.2导入已有项目2.3添加设计文件2.4设定项目属性2.5保存和备份项目3.设计流程3.1电路原理图设计3.1.1组件选择3.1.2连接元件3.1.3设置元件属性3.2逻辑设计3.2.1设计约束3.2.2逻辑优化3.2.3时序约束3.3约束文件编辑3.3.1约束规则3.3.2约束语法3.3.3约束检查3.4时序仿真3.4.1创建仿真波形3.4.2设定初始状态3.4.3运行仿真3.5功能仿真3.5.1设置输入信号3.5.2运行仿真3.5.3分析仿真结果4.仿真与验证4.1时序分析4.1.1设定时钟4.1.2时序路径分析4.1.3时序优化4.2时序约束验证4.2.1满足约束4.2.2修复时序错误4.3灵敏度分析4.3.1设定输入敏感性4.3.2分析敏感性4.4逻辑分析4.4.1切换敏感性4.4.2分析逻辑状态5.布局与布线5.1物理约束5.1.1面积约束5.1.2信号完整性约束5.1.3电源与接地约束5.2布局5.2.1网表导入5.2.2管理物理资源5.2.3进行布局布线5.3时序优化5.3.1满足时序约束5.3.2缩短信号传输路径5.3.3优化时钟分配5.4布线5.4.1管理布线资源5.4.2进行布线5.4.3路由与优化5.5设计规约检查5.5.1检查布局布线规约5.5.2修复设计规约错误总结:引言概述:ISE软件是一款功能强大的集成开发环境工具,广泛应用于数字电路设计和实现。
ISE使用指南中ISE(Integrated Software Environment)是一种软件开发工具,帮助开发人员编写和调试程序。
它提供了许多功能,使开发过程更加高效和容易。
本文将介绍ISE的基本使用指南,帮助初学者了解如何使用这个强大的工具。
安装ISE开始一个新项目在安装完成后,您可以打开ISE并开始一个新项目。
在“文件”菜单中选择“新建项目”,然后按照向导的指示操作。
在新项目设置过程中,您需要输入项目名称、目标设备、工作目录等信息。
确保所有信息都输入正确,然后点击“完成”按钮。
编写代码进行综合完成代码编写后,您需要进行综合。
综合是将高级代码转换为门级网表或其他低级描述的过程。
在ISE中,您可以通过选择“综合”选项来进行综合。
确保设置正确,然后点击“运行综合”按钮。
实现与映像调试一旦设计映像到目标设备,您可以进行调试。
在ISE中,您可以使用仿真器来模拟设计行为,并找出错误。
您还可以使用调试工具来分析信号波形、查看寄存器状态等。
确保所有功能都按照预期工作。
优化性能最后,您可以优化设计的性能。
在ISE中,您可以使用不同的优化技术来减少延迟、面积等。
通过调整参数和设置,您可以使设计更加高效和稳定。
确保优化后的设计满足性能要求。
总结在本文中,我们介绍了ISE的基本使用指南。
通过正确安装软件、开始一个新项目、编写代码、进行综合实现、调试和优化性能,您可以利用ISE开发高质量的程序。
希望这些信息对您有所帮助,祝您在使用ISE中取得成功!。
ISE的使用说明建立工程 (2)综合 (12)管脚约束 (14)布局布线的综合 (18)添加波形 (19)仿真 (21)下载 (25)启动桌面上名为Project Navigator的ISE软件图标,进入ISE开发系统如图所示。
在上拉菜单file栏打开,单击New project选项,开始新建一项工程。
如果想打开已有的ISE工程文件(文件格式为*.npl),则单击open project选项。
下面我们将以一个包括了24进制和60进制计数器的复合计数器的VHDL程序为例,来说明ISE的具体使用。
首先单击New project选项,出现如图所示对话框:在Project name一栏填上工程文件名,我们在此工程名命名为counter,放在目录F:\teacher_li 下。
下一步,进行可编程器件型号的选择以及设计流程的设置。
在器件型号栏有Device family ,Device (型号),封装,speed grade,可以根据实验平台所用的可编程逻辑器件分别设置相应选项。
对话框下半部分是对设计语言和综合仿真工具的选择。
然后下一步,采用默认设置,完成了New Project Information的设置。
如图所示:单击“完成”按钮,进入到如下对话框:在Source in Project一栏,选择菜单Module View选项,在工程名counter的图标位置单击右键,出现如下对话框。
New Project :新建一项文件,单击ew Project图标,出现的对话框包括了以下选项:新建IP核,电路设计,状态机,新建测试波形,用户文档,Verilog编写文件,Verilog测试文件,VHDL库,VHDL编写文件,VHDL包,VHDL测试平台。
Add Source :添加一项已经存在的文件。
本例中,首先选择VHDL Module项,我们file name命名为count。
下一步,进行管脚信号名称,位数和方向的设置。
Xilinx ISE 使用入门手册1发布日期:2009-3-6 13:06:10文章来源:搜电浏览次数:58111、ISE的安装现以ISE 5.2i为例介绍Xilinx ISE Series的安装过程。
1)系统配置要求ISE 5.2i推荐的系统配置与设计时选用的芯片有关。
因为在综合与实现过程中运算量非常大,所以对系统配置要求很高。
为了提高综合、仿真、实现过程的速度,对于计算机的CPU的主频、主板和硬盘的工作速度,尤其是内存大小配置都有非常高的要求。
在ISE 5.2i支持的所有Xilinx的FPGA/CPLD中,要求最低的Spartan II和XC9500/XL/XV等系列需要的内存和虚拟内存推荐值均达到128MB,而对于Virtex-II XC2V8000来说,需要的内存和虚拟内存推荐值均高达3GB。
2)ISE 5.2i的安装以中文版Windows XP操作系统为例加以说明。
(1)启动Windows XP,插入ISE5.2i安装光盘,自动或选择执行Install.exe,安装界面如图4.25所示。
图4.25 ISE5.2i安装界面(2)单击此时安装界面上的操作选择“下一步”直到出现图示对话框,输入有效的Registration ID。
之后单击“下一步”选择安装路径;再之后点击“下一步”,会弹出图4.26的对话框,可以选择器件模型。
图4.26 器件模型选择对话框(3)点击“下一步”,如图4.27所示,可以选择器件种类。
图4.27 器件种类选择对话框通过以上步骤后,可根据具体情况来选择,继续“下一步”即可完成安装。
安装完成后,环境变量应作如下描述:若操作系统是Windows NT/2000/XP,选择开始->控制面板->系统->选项->系统->高级->环境变量,在环境变量中加入:变量名:Xilinx变量值:C:Xilinx(即安装路径)具体设置如图4.28所示。
图4.28 环境变量设置操作图3)安装第三方软件在PC上安装完ISE之后,还需要安装第三方仿真软件,如ModelSim等。
ISE软件使用说明ISE(Integrated Software Environment)软件是由赛灵思公司(Xilinx Inc.)开发的一款用于设计和开发数字电路的软件工具。
该软件提供了一个集成的环境,用于设计、模拟和验证数字电路。
本文将介绍ISE软件的安装和基本使用方法,以帮助用户快速上手。
一、安装ISE软件2.根据安装程序的提示,选择安装的目标文件夹和所需的组件。
3.等待安装程序完成安装。
二、打开ISE软件打开ISE软件后,会出现一个欢迎界面,用户可以选择新建项目、打开已有项目或者直接进入ISE工具链。
三、创建新项目1. 点击“New Project”按钮,进入新项目设置页面。
2.输入项目的名称和路径,选择项目类型和芯片系列。
3. 点击“Next”按钮,进入项目配置页面。
4.在此页面中,用户可以添加需要使用的源文件、约束文件和IP核等。
5. 点击“Next”按钮,进入总结页面。
6. 点击“Finish”按钮,完成项目创建。
四、设计源文件在ISE软件中,用户可以使用HDL(硬件描述语言)进行设计源文件的编写。
ISE软件支持的HDL语言有VHDL和Verilog。
1. 在项目视图中,右键点击“Source”文件夹,选择“New Source”。
2.在弹出的对话框中,选择源文件类型和语言。
3. 输入文件的名称和路径,点击“Finish”按钮。
五、添加约束文件约束文件用于定义电路的时序、引脚映射等信息,以确保电路的正常工作。
1. 在项目视图中,右键点击“Constraints”文件夹,选择“New Source”。
2.在弹出的对话框中,选择约束文件类型。
3. 输入文件的名称和路径,点击“Finish”按钮。
六、综合与实现在进行综合和实现之前,需要根据设计需求进行一些设置和配置。
1. 在项目视图中,右键点击项目名称,选择“Properties”。
2.在弹出的对话框中,选择“SYNTHESIS”或“IMPLEMENTATION”选项卡。
1.启动ISE,出现以下对话框,点击OK。
出现ISE的主界面,在这里进行操作。
2.新建工程首先新建一个工程,如下图所示:File--New Project.以mux21为例,填写Project Name,并建立路径(默认路径即可),Top_Level Source Type 选择HDL(默认)。
点击Next。
下面要选择器件类型,大家可以观察一下板子的核心芯片,是XC9572XL,44个管脚,速度等级10,按以下选择器件,Family:XC9500XL CPLDS。
Device:XC9572XL。
Package:PC44。
Speed:-10。
选择好器件之后,点击Next,然后直接点击Next—Next—Finish。
3.新建文件(如果文件已经存在,则直接进行第4步添加文件)当我们建立了一个新的工程之后,下面就该编写V erilog文件了,如下图:File—New,然后选择Text File,点击OK。
在右边空白区域中编写代码,编写完毕之后,点击保存,默认路径即可。
4.向所建立工程中添加文件V erilog代码已经有了,但是还没有添加到工程中,下一步就是将文件添加到所建工程当中。
如下图,右击xc9572xl-10PC44,选择Add Source,点击要添加的文件,打开,在出现的对话框选择OK。
5.绑定管脚加入文件之后就可以进行绑定管脚了,如下图,先用鼠标点击左上侧红色框中的mux21.v,然后点开左下侧的User Constraints,右击Assign Package Pins,选择run,出现对话框,选择“yes”。
出现绑管脚的界面如下图,根据板子上的按键(输入)或者LED/数码管(输出)来填写下图左侧的红色区域(Loc)。
大家可以观察一下,当填完一个管脚后,点击其他地方,右侧芯片图上对应管脚会变成蓝色,表示该管脚已经被使用。
绑完管脚关闭即可。
6.综合、翻译到这一步,V erilog文件已经有了,管脚也已经绑定了,下面需要对它进行综合、翻译等操作,并检查有无错误。
XILINX FPGA/CPLD设计丛书 - 1ISE 4.1i 快速入门目 录ISE 教程------------------------------------------------------------------------------------------------------ 3 教程概述 ------------------------------------------------------------------------------------------------- 4 设计开始 ------------------------------------------------------------------------------------------------- 5软件要求 ------------------------------------------------------------------------------------------- 5运行ISE软件 -------------------------------------------------------------------------------------- 5使用在线帮助 ------------------------------------------------------------------------------------- 5设计输入VHDL---------------------------------------------------------------------------------------- 6创建一个新的工程项 ---------------------------------------------------------------------------- 6创建一个计数器模块 ---------------------------------------------------------------------------- 6利用计数器模板修改计数器模块 ------------------------------------------------------------- 7仿真行为模型功能仿真-------------------------------------------------------------------------- 9创建一个 testbench 波形源文件 ------------------------------------------------------------- 9初始化计数器输入 ----------------------------------------------------------------------- 10生成预期的输出响应 -------------------------------------------------------------------- 10使用 ModelSim 进行仿真 --------------------------------------------------------------------- 11行为仿真 ----------------------------------------------------------------------------------- 11布局布线后的仿真 ----------------------------------------------------------------------- 12设计输入顶层为原理图------------------------------------------------------------------------- 14创建 VHDL 模块生成一个原理图符号 ---------------------------------------------------- 14创建一个新的顶层原理图 -------------------------------------------------------------------- 14例化VHDL模块 ---------------------------------------------------------------------------------- 14原理图中连线 ----------------------------------------------------------------------------------- 15为连线添加网络名 ----------------------------------------------------------------------------- 16为总线添加网络名 ----------------------------------------------------------------------------- 17添加输入/输出管脚标记 ---------------------------------------------------------------------- 18设计实现 ----------------------------------------------------------------------------------------------- 20运行实现设计 ----------------------------------------------------------------------------------- 20在资源分配器Floorplanner中查看设计布局 ----------------------------------------- 20对顶层文件进行仿真时序仿真---------------------------------------------------------------- 22创建一个 testbench 波形源文件 ---------------------------------------------------------- 22初始化计数器输入 ----------------------------------------------------------------------------- 22生成预期的输出响应 -------------------------------------------------------------------------- 22布局布线后的仿真 ----------------------------------------------------------------------------- 24附录EDIF设计方法 --------------------------------------------------------------------------------- 26设计输入 ----------------------------------------------------------------------------------------------- 26创建一个新的工程项 -------------------------------------------------------------------------- 26添加EDIF源文件 ------------------------------------------------------------------------------- 27设计实现 ----------------------------------------------------------------------------------------------- 27运行实现设计 ----------------------------------------------------------------------------------- 27在FPGA Editor中查看设计 ----------------------------------------------------------------- 28ISE 教程ISE - Integrated Software Environment本教程主要是向ISE的初学者描述和演示, 在XILINX的ISE集成软件环境中如何用VHDL和原理图的方式进行设计输入如何用 ModelSim 仿真工具对设计进行功能仿真和时序仿真如何实现设计注本教程的例子是在PC机上的ISE 4.x环境中实现的本教程包括以下几个章节教程概述设计开始设计输入(VHDL)行为模型仿真功能仿真设计输入(顶层为原理图)设计实现对顶层文件进行仿真时序仿真要想学习如何用网表文件进行设计请参考附录EDIF设计方法要想更深入地学习了解ISE设计工具请参阅XILINX网站上的ISE深入教程(/support/techsup/tutorials/)教程概述完成本教程后你将会对以下的设计流程有一个清楚的认识创建一个新的工程项用 Virtex 器件作为设计的目标器件用ISE的语言模板生成一个4位计数器的VHDL模块创建一个用波形输入的测试向量文件并对4位计数器进行功能仿真创建一个顶层为原理图输入的设计在顶层原理图中调用计数器的VHDL模块把所有的模块连接在一起并标出内连网线总线以及I/O管脚的名称对4位计数器模块和顶层原理图的输入信号波形进行初始化设置并对仿真长度进行约束对4位计数器模块进行功能和时序仿真对顶层原理图设计进行时序仿真使用Floorplanner工具查看经过布局布线后该设计的布局情况参照附录EDIF设计方法完成网表(EDIF)文件输入的设计流程参照附录EDIF设计方法使用 FPGA Editor查看经过布局布线后该设计的布局和布线情况设计开始本节主要描述本教程的软件要求如何在PC机上运行ISE软件以及如何获得在线帮助软件要求为了完成本教程你必须在你的PC机上安装以下软件ISE 4.xModelSim VHDL如果在XILINX的软件安装过程中遇到问题请参阅ISE安装指南ISE Release Notesand Installation Guide软件安装完后环境变量应如下所述1在Windows 98中如果你的ISE软件安装在C:\XILINX目录下ModelSim软件安装在C:\Modeltech目录下在C:\autoexec.bat文件中应该包含如下设置SET XILINX=C:\XILINXSET PATH=%XILINX%\BIN\NT;C:\Modeltech\win32;SET LM_LICENSE_FILE=%XILINX%\data\license.dat;C:\Modeltech\win32\license.dat;2在Windows NT/2000中通过选择 开始 -> 设置 -> 控制面板 -> 系统 -> 高级 ->环境变量 等选项来设置相应的环境变量关于在线申请ModelSim XE Starter License请选择 开始 -> 程序 -> ModelSim XE-> Submit License Request可以在线申请 ModelSim Xilinx Edition Starter 的 license 文件运行ISE软件对于PC机用户可选择 开始 -> 程序 -> Xilinx ISE 4.x -> Project Navigator 来启动ISE软件使用在线帮助你可以在ISE运行过程中随时获得在线帮助当你按下F1键时帮助系统就会显示出正在运行过程的在线帮助比如说当你在运行ECS(原理图输入)时按下F1键那么关于如何使用ECS的在线帮助就会显示出来设计输入(VHDL)本节中你将会利用VHDL语言模板来设计一个4位计数器模块首先创建一个新的工程项和生成一个计数器模块然后参照计数器VHDL语言模板来完成一个4位计数器的VHDL设计创建一个新的工程项按照以下步骤创建一个新工程项1选择 File -> New Project2在 New Project 对话框中的 Project Location 下键入新工程项存放的路径或者点击 Project Location 旁的浏览按钮选择你想存放新工程项的路径3在 Project Name 下键入 ‘Tutorial’当你在 Project Name 下键入 ‘Tutorial’后在 Project Location 下会自动创建一个 ‘Tutorial’的子目录4使用Value处的下拉菜单你可以对每种属性进行选择在下拉菜单列表中点击所需的属性值如下器件系列(Device Family) : Virtex器件(Device) : xcv50-6bg256设计流程(Design Flow) : XST VHDL图 1-1 新工程项对话框New Project Dialog Box5点击 OKISE将会在工程项导航器(Project Navigator)中创建和显示你的新工程项创建一个计数器模块按照以下步骤创建一个计数器VHDL模块1选择 Project -> New Source2选择VHDL模块(VHDL Module)作为源程序类型3在文件名中键入 counter4点击 Next5点击 Next6点击 Finish ,完成这个新源程序的模板新源程序模板 counter.vhd 将会显示在HDL编辑窗口中它包括计数器的 Library, Use, Entity, Architecture等语句的描述利用计数器模板修改你的计数器模块要完成这个计数器模块你将要用到ISE的语言模板(ISE Language Template)工具选择其中的计数器VHDL描述来完成 counter.vhd 的设计1选择 Edit -> Language Templates 来打开语言模板或者通过点击工具栏中最右端的灯泡按钮来打开语言模板2在语言模板(Language Templates)窗口中通过点击 + 符号来展开VHDL下的综合模板(Synthesis Templetes)图 1-2 计数器语言模板Counter Language Template3从VHDL综合模板中选择计数器模板(Counter Template)并把它拖动或粘贴到源程序 counter.vhd 的 begin 和 end 之间4关闭语言模板(Language Templates)窗口5将带有注释符号(--)的计数器端口定义的语句剪切并粘贴到计数器的实体(entity)描述中去 计数器端口定义语句如下-- CLK: in STD_LOGIC-- RESET: in STD_LOGIC-- CE, LOAD, DIR: in STD_LOGIC-- DIN: in STD_LOGIC_VECTOR(3 downto 0)-- COUNT: inout STD_LOGIC_VECTOR(3 downto 0)6去掉 counter.vhd 源程序中端口定义语句前的注释符号(--)7去掉 COUNT 端口定义语句后的分号()如下所示COUNT inout STD_LOGIC_VECTOR(3 downto 0)8选择 File -> Save , 保存counter.vhd 源程序此时你的 counter.vhd 源程序应与 图1-3 中的VHDL描述一样图 1-3 修改后的计数器模块Modified Counter Module仿真行为模型功能仿真在本节中你将会创建一个 testbench 波形用于定义计数器模块所应有的功能这个 testbench 波形将被用于与 Modelsim 仿真器连接用来验证该计数器是否达到设计要求的功能和时延需求创建一个 Testbench 波形源文件首先在 Project Navigator 中创建一个 testbench 波形源文件该文件将在 HDL Bencher 中进行修改1. 在工程项窗口Project Window的源文件中选中计数器(counter.vhd)2. 选择 Project -> New Source3. 在新的对话框中选择新文件类型为 Test Bench Waveform4. 键入文件名为counter_tbw5. 点击 Next注在其他工程项中你可以将你的 testbench 波形与其他源文件关联6. 点击 Next7. 点击 Finish此时HDL Bencher 程序自动启动并等候你输入所需的时序需求你现在可以指定仿真所需的时间参数时钟高电平时间和时钟低电平时间一起定义了设计操作必须达到的时钟周期输入建立时间定义了输入在什么时候必须有效输出有效延时定义了有效时钟沿到达后多久必须输出有效数据在本教程中不需要改变任何默认的时间约束默认的初始化时间设置如下时钟高电平时间 Clock high time: 50 ns时钟低电平时间 Clock low time: 50 ns输入建立时间 Input setup time: 10 ns输出有效时间 Output valid delay: 10 ns8. 点击 OK接受默认的时间设定你的 testbench 波形显示如图 1-4 所示图 1-4 在 HDL Bencher 中的 Testbench 波形初始化计数器输入在 HDL Bencher 的波形中初始化计数器输入如下注在每个单元的蓝色区域输入激励1. 在 CLK 第 1 周期下点击 RESET 单元直到该单元变为高2. 在 CLK 第 2 周期下点击 RESET 单元直到该单元变为低3. 在 CLK 第 3 周期下点击 CE 单元直到该单元变为高4. 在 CLK 第 2 周期下点击 DIR 单元直到该单元变为高你的 testbench 波形现在看起来应该如图 1-5 所示图 1-5 HDL Bencher 激励及响应输入5. 将你的 testbench 文件存盘选择 File -> Save Waveform或点击工具栏的存盘图标接下来HDL Bencher 会提示你设置你希望仿真的时钟周期数6. 在End the testbench __ cycles after the last input assignment对话框中输入8 默认值为17. 点击 OK8. 退出 HDL Bencher新的 testbench 波形源文件counter_tbw.tbw自动加入到该工程项中生成预期的输出响应现在你可以在已输入初始化激励的基础上生成时钟模块预期的输出1. 在 Sources in Project 窗口中选中 counter_tbw.tbw 文件2. 在 Processes for Current Source 窗口中点击 ModelSim Simulator 旁边的+符号展开 ModelSim 仿真器的层次结构3. 双击 Generate Expected Simulation Results此步骤采用定义好的输入运行一个后台仿真产生输出值加入到 testbench 波形中你的 testbench 波形现在看起来应该如图 1-6 所示图 1-6 生成仿真结果4. 直接退出 HDL Bencher 而不选择波形存盘使用 ModelSim 进行仿真根据 HDL Bencher 中产生的预期结果你现在可以用 ModelSim 进行仿真在这部分教程中你将运行行为仿真亦即功能仿真和布局布线后的仿真时序仿真行为仿真我们进行行为仿真以验证计数器模块的功能1. 在 Sources in Project 窗口中选择 counter_tbw.tbw 文件2. 在 Processes for Current Source 窗口中点击 +符号展开 ModelSim 仿真器的层次结构找到并双击 Simulate Behavioral VHDL Model此时ModelSim 仿真器自动启动3对于第一次运行 ModelSim 的用户会显示一个对话框需要在其中做以下处理:. 选中 Do not show this dialog again 选项. 点击 Run ModelSim此对话框在你重新安装或重新配置 ModelSim 之前将不再显示你的仿真结果现在显示在 ModelSim 的波形窗口(wave window)注ISE 通过自动创建及运行一个仿真宏文件(.fdo文件)来自动处理仿真过程虽然用户无法看到但在本教程中counter_tbw.fdo 文件实现了以下操作. 创建设计库. 编译设计源文件和 testbench 源文件. 调用仿真器. 打开所有的观察窗口. 将所有信号加到 wave 窗口. 将所有信号加到 list 窗口. 按照要求的运行时间属性进行仿真(默认为1000ns)4. 点击 Zoom -> Zoom Ful 或在工具条点击 Zoom Full 图标5. 点击 Zoom -> Zoom in 或在工具条点击 Zoom in 图标6拖动波形窗口下端的滚动条至窗口的最左端仿真输出波形应如图 1-7 所示图 1-7 行为仿真波形7. 关闭 ModelSim 主窗口退出 ModelSim布局布线后的仿真布局布线后的仿真包括了目标器件的时延信息对 counter 模块的后仿真操作如下1. 在 Sources in Project 窗口中选择 counter_tbw.tbw2. 在 Processes for Current Source 窗口点击 +符号 展开 ModelSim 仿真器的层次结构找到并双击 Simulate Post-Place & Route VHDL Model注此步骤会启动设计实现来进行布局布线及启动ModelSim3. 点击 Zoom -> Zoom Full 或在工具条中点击 Zoom Full 图标4. 点击 Zoom -> Zoom In 或在工具条中点击 Zoom in 图标5. 拖动波形窗口下端的滚动条至波形窗口的最左端仿真输出波形应该如图 1-8所示图 1-8 布局布线后的仿真波形 6. 关闭 ModelSim 主窗口退出ModelSim设计输入 (顶层为原理图)(Top-Level Schematic)本节以一个原理图设计为例说明了如何创建一个包含有例化的 VHDL 计数器模块的顶层原理图描述了如何将若干个模块连接成一个原理图如何给单根连线命名如何给总线命名以及如何添加输入/输出管脚标记创建 VHDL 模块 (VHDL Module)生成一个原理图符号 (Schematic Symbol)1. 在工程项导航器 (Project Navigator) 菜单中, 点击 Project -> Add Source来添加一个 VHDL 模块 -- counter.vhd(在选择源类型(Choose Source Type)弹出窗口中选择 VHDL Module)2. 在 Sources in Project 窗口中选中计数器模块 counter.vhd3. 在 Processes for Current Source 窗口中, 点击设计输入实用程序 (DesignEntry Utilities) 之前的 “+” 符号然后双击创建原理图符号 (CreateSchematic Symbol)经过以上步骤, 名称为 “counter” 的图形化元件被放入到工程项库中创建一个新的顶层原理图 (Top-Level Schematic)1. 在工程项导航器 (Project Navigator) 菜单中, 选择 Project -> New Source2. 选择原理图 (Schematic) 为源类型3. 输入原理图名为 “top”4. 先点击 “Next”再点击 “Finish”此时原理图编辑器(ECS) 自动启动并在其原理图窗口中打开一张空图例化 VHDL 模块 (Instantiating VHDL Module)在原理图编辑器 (ECS) 中例化两个 VHDL 计数器模块 -- counter1. 在菜单中选择 Add -> Symbol或者在工具栏中点击 (Add Symbol) 图标2. 从元件符号列表 (在屏幕右侧) 中选择计数器 counter注意不要在类别(Categories) 窗口中作任何选择3. 点击左键可将计数器 counter 放置在光标所在的位置请在原理图中放置两个计数器 counter现在原理图应该如图 1-9 所示4. 按 ESC 键退出添加符号 (Add Symbol) 模式注可以通过放大缩小功能 (View -> Zoom -> In / out / To Box / Full View) 和拖动滚动条来调整视图大小及位置图 1-9 例化 VHDL 模块原理图中连线 (Wiring the Schematic)在连接元件符号时一些连线端可以悬空而另一些连线端需和元件符号相连1. 首先激活划线功能通过在菜单中选择 Add -> Wire或者在工具栏中点击 (AddWire) 图标2. 添加一根悬空线和延展连线a) 在计数器模块的某一管脚单击鼠标b) 将连线拉伸到需要的长度c) 在连线端点处双击鼠标按照如图 1-10 所示给计数器模块的每一管脚添加连线3. 添加两个元件符号之间的连线a) 在一个计数器模块的管脚处单击鼠标b) 在另一个计数器模块的对应管脚处双击鼠标结果如图 1-10 所示当完成连线后按 ESC 键退出添加连线(Add Wire)模式图 1-10 为模块相应管脚连线为连线添加网络名 (Add Net Name to wires)画好连线后你可为相应的连线添加网络名称1. 在菜单中选择 Add -> Net Name或者在工具栏中点击 (Add Net Name) 图标2. 创建网络名并放置到连线上的步骤如下a) 在工具栏右边的文本对话框中输入网络名 clock如图 1-11 所示注使用网络命名Name Branch和保持网络名Keep Name的默认值图 1-11 添加网络名b) 将鼠标移动到悬空连线的端点处此时光标处显示出网络名c) 点击鼠标左键注按照上面步骤添加其余 5 个网络名reset, ce, load, dir1 和 dir23 按 ESC 键退出添加网络名(Add Net Name)模式添加完 6 个网络名后原理图应该如图 1-12 所示图 1-12 为连线添加完网络名后的原理图为总线添加网络名按照同样的步骤为计数器模块的 din 和 count 管脚添加总线网络名并给总线宽度赋值1. 在菜单中选择 Add -> Net Name或者在工具栏中点击 (Add Net Name) 图标2. 创建总线网络名并放置到总线上的步骤如下a) 在工具栏右边的文本对话框中输入总线名和宽度如din1(3:0)注使用网络命名Name Branch和保持网络名Keep Name的默认值b) 将鼠标移动到悬空总线的端点此时光标处显示出总线名及宽度c) 点击鼠标左键注按照上面步骤添加其余3个总线名count1(3:0), count2(3:0) 和din2(3:0)3. 按 ESC 键退出添加网络名 (Add Net Name) 模式添加完总线名后原理图应该如图 1-13 所示图 1-13 为总线添加完网络名后的原理图添加输入/输出管脚标记 (Adding I/O Markers)根据各个输入/输出信号的方向添加相应的标记在本教程中我们要添加输入标记和双向信号标记最后结果应如图 1-14 所示1. 在菜单中选择 Add -> I/O Marker或在工具栏中点击(Add I/O Marker)图标2. 按如下步骤为 clock, reset, ce, load, dir1 和 dir2 添加输入标记同时为总线 din1(3:0) 和 din2(3:0) 添加输入标记a) 在工具栏右边的参数单选框中选择输入(Input)b) 将鼠标移动到输入信号线的端点此时光标处显示出输入标记的图形c) 点击鼠标左键输入标记会将网络名或总线名包含在标记图形的内部注一定要在信号线的端点处单击鼠标如果添加输入/输出标记不成功系统会弹出错误对话框3. 按如下步骤为 count 总线添加双向信号标记a) 在工具栏右边的参数单选框中选择双向(Bidirectional)b) 将鼠标移动到输出信号线的端点此时光标处显示出双向信号标记的图形c) 点击鼠标左键完成的原理图如图 1-14 所示图 1-14 完成的原理图4. 在菜单中选择 File -> Save, 保存原理图5. 退出原理图编辑器(ECS)设计实现在本教程中设计实现部分涵盖了两项任务在工程项导航器(Project Navigator)中运行设计实现Implement Design进程以及在资源分配器Floorplanner工具中查看设计在布局布线后的结果运行设计实现首先运行所有与这个计数器设计相关联的进程从综合到布局布线在原理图文件上启动设计实现Implement Design以完成操作1在Sources in Process窗口中选择top top.sch2在Processes for Current Source窗口中双击设计实现Implement Design这样就运行了所有相关的进程图1-15 设计实现过程在Process for Current Source窗口中打对勾的标记指示进程已经成功地运行感叹号标记表示进程已经运行但是包含有系统给出的警告有关警告的更多信息可以从副本Transcript窗口中获取在资源分配器Floorplanner中查看设计布局现在你可以在资源分配器Floorplanner中查看完成后的设计1在Source in Process窗口中选择top (top.sch)2在Process for Current Source窗口中点击Implement Design左边的+符号展开层次后再点击Place & Route左边的+符号3双击View/Edit Placed Design (Floorplanner)资源分配器 (Floorplanner)将自动运行并显示这个工程项中设计的布局情况通过显示和放大输入/输出信号可以更有针对性地查看设计实现后的结果1在top.fnf Design Hierarchy窗口中View -> Hierarchy选择最顶层top (22 IOBs, 13 FGs, 8 CYs, 8 DFFs, 1 BUFG) 在布局Placement窗口显示这些信号注也可以选择在布局Placement窗口的设计区域画一个矩形框来显示信号2在菜单中选择 View -> Zoom -> To Selected或者在资源分配器的工具条中点击Zoom to Selected图标工具条中右边的最后一个图标3将光标放置在每一个引脚上在资源分配器左下角可以读出该引脚的名称便于校验所有的输入输出注在top.fnf Design Hierarchy窗口的列表中单独选择一个信号可以在布局窗口中独立地观察这个信号在资源分配器Floorplanner中看见的布局情况如图 1-16 所示图1-16 资源分配器Floorplanner中输入输出信号的连接情况当完成了对设计实现布局的观察后点击 File -> Save保存资源分配器的设计视图并退出资源分配器对顶层文件进行仿真时序仿真接下来对在前面部分所创建的顶层设计进行时序仿真首先使用HDL Bencher为顶层设计创建一个测试矢量testbench波形然后用 ModelSim 对顶层设计进行仿真建立一个 testbench 波形源文件创建一个可以在HDL Bencher中修改的测试矢量testbench波形1在Project Navigator的Source in Project窗口中选择top top.sch2选择Project -> New Source3在New对话框中选择Test Bench Waveform作为源文件类型4键入文件名top_tbw”5选择Next6确认top是关联的源文件然后选择Next7选择FinishHDL Bencher自动启动8点击OK让测试矢量testbench波形使用默认的时序约束初始化计数器输入在HDL Bencher的波形窗口中按下面的步骤初始化计数器的输入与图1-17进行比较来检查你的输入注在每一个信号单元的蓝色区域加入输入激励1在clock周期3下面点击ce单元直至该信号被置高2在clock周期2下面点击dir1单元直至该信号被置高3在clock周期1下面点击dir2单元直至该信号被置高4在clock周期2下面点击dir2单元直至该信号被置低5在clock周期1下面点击reset单元直至该信号被置高6在clock周期2下面点击reset单元直至该信号被置低图1-17 HDL Bencher激励与响应的引入生成预期的输出响应生成预期的响应需在HDL Bencher波形中的黄色区域做出以下的操作1在clock周期2下面点击count1(3:0)的黄色单元2点击Pattern按钮启动模式向导Pattern Wizard3在Pattern Wizard的对话框中设置参数使得期望的计数输出值为0到7如下所示图1-18 Pattern Wizard设置4在Pattern Wizard的对话框中点击OK5在clock周期2下面点击count2(3:0)的黄色单元并键入06在clock周期3下面点击count2(3:0)的黄色单元7点击Pattern按钮启动模式向导Pattern Wizard8在Pattern Wizard的对话框中设置参数使得期望的计数输出值为15到9如图 1-19 所示9在Pattern Wizard的对话框中点击OK测试矢量波形如图 1-20 所示10在菜单中选择File -> Save或者在工具栏中点击 Save Waveform 图标保存测试矢量波形11退出HDL Bencher注在Project Navigator的Source in Project窗口中新的测试矢量testbench波形文件是顶层文件(top.sch)的一个子文件图1-19 Pattern Wizard设置图1-20 测试矢量波形布局布线后的仿真对顶层设计执行布局布线后的仿真1在Project Navigator的Source in Project窗口中选择top_tbw.tbw2在Processes for Current Source窗口中双击ModelSim Simulator层次结构中的Simulate Post-place and Route VHDL Model此时ModelSim自动启动同时引入了反标注后的设计文件3在 wave窗口中点击下拉菜单中的Zoom -> Zoom Full或者点击工具栏中的Zoom Full图标4点击下拉菜单中的Zoom -> Zoom In或者点击工具栏中的Zoom In图标并将滚动条拖到波形窗口的最左边看到的波形应该如图 1-21 所示图1-21 时序仿真波形5时序仿真结果显示有10ns的时钟延迟6分析完你的仿真结果以后通过关闭ModelSim的主窗口main window来退出ModelSim附录EDIF 设计方法本附录描述了如何在 ISE 环境中使用 EDIF 网表文件作为输入来实现一个设计当用户已有综合好的网表文件时可以使用此流程进行 FPGA 实现本附录包含如下两部分1设计输入2设计实现设计输入首先在工程项导航器Project Navigator中创建一个新的工程项然后加入 EDIF 源文件最后实现该设计创建一个新工程项1选择 File -> New Project2在新工程项对话框New Project dialog box中在工程项存放ProjectLocation区域键入希望的存放位置或者点击浏览钮browse来选择所需要的位置3在工程项名称Project Name处键入TutorialEDIF注当你在工程项名称处键入TutorialEDIF时一个名称为 TutorialEDIF 的子目录自动创建在你前面希望的位置例如你选择的目录是D:\My_Projects, 那么你创建的工程项将会存在D:\My_Projects\TutorialEDIF 目录下4在新工程项New Project对话框中使用下拉箭头为每个属性名PropertyName赋值结果如图 A-1 所示• 器件系列Virtex• 器件 xcv300-6bg352• 设计流程EDIF图 A-1 新工程项对话框5点击 OKISE 在工程项导航器中创建了一个子目录和一个新的工程项添加 EDIF 源文件现在添加一个 EDIF 源文件到这个新的工程项中本教程中使用的 EDIF 源文件包含在 ISE 安装完的子目录中按照如下步骤添加源文件1选择 Project -> Add Source2使用浏览Browse功能在 ISE 的安装目录下找到如下子目录/ISEexamples/edif_flow/3 选择文件mf.edn4 点击 Open 此时该文件加到了新工程项中注如果使用 Project -> Add Copy of Source 选项将会在新工程项子目录中添加一个源文件的备份文件设计实现下一步实现该设计同时使用 FPGA Editor 工具来察看该设计的布局及布线情况运行实现设计Implement Design按照如下步骤实现该设计1在 Sources in Project 窗口中选择网表文件mf.edn2在 Processes for Current Source 窗口中双击实现设计Implement Design所有的进程从 Translate 到 Place & Route将会运行图 A-2 实现设计进程在Process for Current Source窗口中打对勾的标记指示进程已经成功地运行感叹号标记表示进程已经运行但是包含有系统给出的警告有关警告的更多信息可以从副本Transcript窗口中获取在 FPGA Editor 中查看设计在 FPGA Editor 中按照如下步骤查看设计1当实现完成后在 Processes for Current Source 窗口中点击实现设计Implement Design 旁边的 + 符号然后再点击布局布线Place & Route旁边的 + 符号2双击 View/Edit Routed Design (FPGA Editor)布局布线后的设计 -- mf.ncd -- 自动显示在 FPGA Editor 中3在 List1 窗口中点击类型type列将会列出所有按照类型分类的元件调整表格及列宽到希望的位置可以清楚地看到各个名称请确认所有的 26个输入输出都已在类型列中注时钟输入/输出管脚将会列在 GCLK 类型中而不是在 IOB 类型中图 A-3 按照类型列出所有元件完成查看设计后退出 FPGA EditorXILINX 技术资源Software Manuals 软件手册/docsan/xilinx4/index.htm Tutorials 教程/support/techsup/tutorials/index.htmData Book 数据手册/partinfo/databook.htmApplication Notes 应用指南/apps/appsweb.htmAnswers Database 问题解答数据库/support/searchtd.htmTechnical Tips技术提示及设计技巧/support/techsup/journals/index.htm Xcell Journals Quarterly XILINX 季刊杂志/xcell/xcell.htm。