ISE教程要点.docx

上传人:b****6 文档编号:4085872 上传时间:2022-11-27 格式:DOCX 页数:27 大小:1.63MB
下载 相关 举报
ISE教程要点.docx_第1页
第1页 / 共27页
ISE教程要点.docx_第2页
第2页 / 共27页
ISE教程要点.docx_第3页
第3页 / 共27页
ISE教程要点.docx_第4页
第4页 / 共27页
ISE教程要点.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

ISE教程要点.docx

《ISE教程要点.docx》由会员分享,可在线阅读,更多相关《ISE教程要点.docx(27页珍藏版)》请在冰豆网上搜索。

ISE教程要点.docx

ISE教程要点

第十一章VHDL的FPGA实现

能够完成逻辑综合的EDA工具很多。

在此,我们基于实验室使用比较广泛的ISE软件介绍综合流程,参见图11.1,基于ISE的FPGA设计一般分为九步:

·电路功能设计

·VHDL的RTL源程序输入

·功能仿真(功能不正确,则修改设计)

·综合(产生网表)

·综合后仿真(综合后电路的门级仿真不通过,则需修改源程序)

·实现与布局布线

·时序仿真与验证(整体的时序分析(后仿)通不过,则需要重新布线)

·板级仿真与验证(主要应用于高速电路设计)

·芯片编程与调试(产生FPGA目标文件,下载烧写FPGA)

图11.1FPGA设计流程

在仿真模型中完全可以用VHDL来描述一项设计的时序特性,但在综合中,这些时序行为(如惯性或传输延迟)的描述都会被VHDL综合器忽略,而此设计的实际时序行为仅依赖于目标器件的物理结构和映射方式。

因此,若将设计模型从一个目标器件移植到另一个目标器件时,那些依赖于正确的延迟特性才能正常工作的VHDL模型,将不可能得到期望的综合结果和时序仿真效果。

仿真模型可以描述一些无限制的条件(如无穷循环或无范围限制的整型数),硬件却不能提供这些条件。

在某些情况下,如无穷循环或循环次数不确定的情况下,综合工具会产生错误并退出。

在其他的情况下,如无范围的整数,VHDL综合器会假设一个默认的表示方式,如以32bit二进制数表示无范围的整数。

尽管这是可综合的,但却无法生成所期望的电路。

11.2VHDL的FPGA逻辑综合

以下将以第七章例7.15交通信号灯监测电路的程序为例来说明如何对VHDL程序进行综合。

具体步骤如下:

1.启动ISE

如图11.2所示,在windows操作系统的开始菜单中启动XilinxISEDesignSuite10.1中的ISE主窗口,之后如图11.3。

图11.2启动ISE10.1

图11.3ISE10.1主窗口

2.创建一个新的项目

ISE10.1主窗口打开后,选择创建一个新的项目,一般分为以下七步:

(1)单击【File】【NewProject…】命令,如图11.4.1,出现图11.4.2所示的【CreateNewProject】对话框。

图11.4.1ISE10.1创建新工程

(2)如图11.4.2所示,选择工程存放路径,然后输入工程名,系统会产生一个名为工程名的新目录。

选择顶层模块类型为HDL,其他顶层模块类型有原理图(Schematic)、EDIF网表、NGC网表。

单击【Next】,出现图11.4.2。

图11.4.2【CreateNewProject】对话框

(3)如图11.4.3,进行FPGA器件参数设置,说明如下:

ØProductCategory(器件大类):

Xilinx提供工业级等,选All即可

ØFamily(系列):

选择Spartan2

ØDevice(器件):

选择XC2S50

ØPackage(封装):

选择TQ144

ØSpeed(速度等级):

速度不同不是工艺差别,而是测试筛选出来的,速度不同自然价格不同,商用芯片尽量选择低速等级,这里选-5

ØTop-LevelSourceType(顶层类型):

上步已选,现为灰色,不可编辑

ØSynthesisTool(综合工具):

选择ISE集成的XST,也可选三方工具

ØSimulitor(仿真工具):

选择ModelSim-SEVHDL

ØPreferredLanguage(语言):

选择VHDL

ØEnableEnhancedDesignSummary:

是否显示DesignSummary

ØEnableMessageFiltering:

是否设置在Implementation时过滤掉某些warning和info

ØDisplayIncrementalMessages:

是否显示上次执行没有出现的新信息

图11.4.3FPGA器件参数设置

设置完成后,单击【Next】,出现图11.4.4。

(4)如图11.4.4,可以新建源文件,这里不必新建,单击【Next】,出现图11.4.5。

图11.4.4新建源文件

(5)如图11.4.5,可以添加已存在源文件,这里跳过,单击【Next】,出现图11.4.6。

图11.4.5添加已存在源文件

(6)如图11.4.6,为新建工程总结信息,如有错误可以返回修改。

图11.4.6工程信息总结

(7)如图11.4.7所示,为新建后的空白工程

图11.4.7ISE10.1新工程界面

3.添加源文件

添加例7.15交通信号灯监测电路的VHDL程序源文件。

添加经过ActiveHDL或Modelsim进行功能仿真验证的源文件,如图11.5所示。

图11.5添加复制源文件

图11.6选择仿真验证的源文件

如图11.7所示,可以设定源文件属性,这里选择All,其他还有Simulation、Implementation、None。

设置完成单击【OK】,出现如图11.8。

图11.7设定添加源文件属性

如图11.8所示,双击源文件可以查看、修改源文件。

图11.8查看源文件

4.定义顶层设计

如图11.9所示,完成源文件添加后,综合之前需要设定顶层文件:

右击顶层文件【SetasTopModule】。

本实验只有一个源文件,所以默认设置为顶层文件,【SetasTopModule】为灰色,不可编辑。

图11.9设定顶层文件

5.综合

综合是将设计输入(HDL语言及原理图等)翻译成与、或、非、RAM及触发器等基本逻辑单元的过程,并且输出网表文件,同时此过程根据约束条件优化所生成的逻辑连接。

综合工具可以是第三方EDA工具(如Spnplify/SynplifyPro),本实例使用ISE集成的综合工具XST。

如图11.10所示,在ISE工程界面的【Sources】窗格中,选中【Sources】选项,在【SourcesFor】下拉列表中选择【Implementation】选项(默认为此选项)。

在【Processes】窗格中双击【Synthesis-XST】选项,或右击选择【Run】命令,XST开始综合设计,综合完成无误会在【Synthesis-XST】选项左边出现绿色对勾。

综合完成后会自动在项目文件夹下生成NGC网表文件,设计中也可以直接用NGC网表文件作为设计输入,通过添加约束、翻译、映射、布局布线、生成目标文件和烧录FPGA。

大型设计往往动辄上千条且通常可以忽略的warning,但不检查这些warning是绝对不允许的,开发人员尽量不要把问题留到下一阶段。

图11.10综合

双击【ViewRTLSchematic】,打开RTL级视图,如图11.11所示。

图11.11RTL视图

双击RTL视图,会进入设计模块划分视图,如图11.12。

由于本实例较小,只有一个模块。

图11.12设计模块划分视图

双击设计模块划分视图,会进入门级实现视图,如图11.13。

图11.13门级实现视图

11.3VHDL的FPGA物理实现

1.约束

对于FPGA设计,在布局布线时需要对布线过程进行控制,即约束。

约束有引脚约束和时序约束,引脚约束是必需的,要为设计的端口指定器件引脚;时序约束指定内部频率和接口时序,小型设计可以不设定,大型设计则必须考虑,本实例较小,没有设定时序约束。

如图11.14,双击【FloorplanIO–Pre-Synthesis】,出现图11.15。

图11.14引脚约束

如图11.15所示,单击【Yes】,打开引脚约束界面。

图11.15生成引脚约束文件提示

使用图形界面编辑的约束会添加到约束文件*.ucf中,设计者也可以根据约束语法直接编辑UCF文件。

引脚约束除了约束位置外,还可以约束点评标准和驱动电流等,本设计只约束位置,其他采用默认值。

如图11.16所示,在【DesignBrowser】窗格中选中【I/OPins】选项,然后在【DesignObjectList…】窗格中的【Loc】对应栏填写FPGA对应管脚位置。

图11.16设置引脚约束

编辑完成后,保存文件,弹出图11.17所示弹窗,单击【OK】保存。

图11.17保存引脚约束文建

如图11.18所示,保存引脚约束后会在顶层文件下产生一个*.ucf文件。

单击选中UCF文件,在【Processes】窗格点开【UserConstraints】,双击【EditConstraints(Text)】选项,可以查看、编辑、修改UCF文件,然后保存,和通过图形界面修改一样可以编辑UCF文件。

图11.18查看UCF文件

2.实现

在ISE工程的【Processes】窗格展开【ImplementDesign】选项,然后双击【ImplementDesign】选项,或者右击选择【Run】命令,依次执行下面三个过程:

(1)Translate:

将输入的网表和约束信息转换为Xilinx可识别的逻辑连接

(2)Map:

将设计映射到器件内部的各种资源(slice和RAM等)

(3)Place&Route:

完成设计在器件共的布局布线

布线完成后的界面如图11.19所示。

Implement过程中的【warning】和【error】窗格和过程信息都显示在下面的【Console】窗格中。

如图11.20所示,打开【DesignSummary】窗格,可以看到资源占用列表。

在【DesignSummary】窗格中可以打开综合、布局布线过程的所有报告,如图11.21所示,其中重要的有PlaceandRouteReport和PinoutReport。

图11.19实现设计

图11.20查看报告

图11.21查看资源利用

3.生成下载文件

在【Processes】窗格中右击【GenerateProgrammingFile】选项,选择【Properties】选项,弹出图11.22所示设置界面。

在【Category】窗格中选中【StartupOptions】选项,在右侧修改【FPGAStart-UpClock】选项为JTAGClock,单击【OK】。

图11.22配置时钟

配置完成后,在【Processes】窗格中双击【GenerateProgrammingFile】选项,或右击选择【Run】。

完成后【GenerateProgrammingFile】左侧出现绿色对勾,如图11.23所示,此时在工程文件夹下已生成*.bit下载文件。

图11.23生成下载文件

4.使用iMPACT烧录FPGA

iMPACT是ISE集成的配置工具,主要功能包括生成PROM格式下载文件、为FPGA/CPLD/PROM下载配置文件和检查配置是否成功等。

iMPACT支持的配置模式共有5种:

●BoundaryScan(边界扫描)

●SlaveSerial(从串)

●SelectMap

●DesktopConfiguration

●DirectSPIConfiguration

边界扫描模式标准统一,可以通过JTAG端口配置FPGA/CPLD/PROM等多种器件,应用最为广泛。

本实例也采用边界扫描模式进行FPGA配置,配置文件为上步生成的bit文件。

首先,搭建硬件环境,即用JTAG电缆连接FPGA和计算机。

确认连接正确后,在【Processes】窗格中展开【ConfigureTargetDevice】选项,双击【ManageConfigurationProject(iMPACT)】,进入图11.24界面。

图11.24配置模式选择

选择边界扫描模式,即【ConfiguredevicesusingBoundary-Scan(JTAG)】,单击【Finish】。

由于所选开发实验板上有FPGA和PROM两个下载器件,进入配置界面后如图11.25所,有两个配置器件。

第一个弹窗选择FPGA配置文件,选择生成的bit文件,单击【Open】。

图11.25选择FPGA配置文件

由于本实例没有生成PROM配置文件,在图11.26配置PROM界面,单击【Bypass】,跳过此步。

图11.26选择PROM配置文件

配置文件选择完成后,接入图11.27界面,设置具体参数,这里选择默认值,单击【OK】。

图11.27配置参数

如图11.28所示,右击FPGA器件,选择【Program】,开始烧录FPGA。

图11.28烧录FPGA

如图11.29所示,成功烧录FPGA。

由于没有生成PROM文件,本实例没有烧录PROM。

图11.29烧录FPGA成功

FPGA下载完成后,利用示波器、逻辑分析仪等仪器即可对FPGA试验板进行硬件测试。

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

当前位置:首页 > 总结汇报 > 学习总结

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

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