下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 XILINX+FPGA+CPLD设计+ISE快速入门[新手教程]

XILINX+FPGA+CPLD设计+ISE快速入门[新手教程].pdf

XILINX+FPGA+CPLD设计+ISE快速入门[新手教程]

wug55
2010-07-21 0人阅读 举报 0 0 暂无简介

简介:本文档为《XILINX+FPGA+CPLD设计+ISE快速入门[新手教程]pdf》,可适用于IT/计算机领域

ISEi快速入门XILINXFPGACPLD设计丛书ISEi快速入门XILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门目录ISE教程教程概述设计开始软件要求运行ISE软件使用在线帮助设计输入VHDL创建一个新的工程项创建一个计数器模块利用计数器模板修改计数器模块仿真行为模型功能仿真创建一个testbench波形源文件初始化计数器输入生成预期的输出响应使用ModelSim进行仿真行为仿真布局布线后的仿真设计输入顶层为原理图创建VHDL模块生成一个原理图符号创建一个新的顶层原理图例化VHDL模块原理图中连线为连线添加网络名为总线添加网络名添加输入输出管脚标记设计实现运行实现设计在资源分配器Floorplanner中查看设计布局对顶层文件进行仿真时序仿真创建一个testbench波形源文件初始化计数器输入生成预期的输出响应布局布线后的仿真附录EDIF设计方法设计输入创建一个新的工程项添加EDIF源文件设计实现运行实现设计在FPGAEditor中查看设计XILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门ISE教程ISEIntegratedSoftwareEnvironment本教程主要是向ISE的初学者描述和演示,在XILINX的ISE集成软件环境中如何用VHDL和原理图的方式进行设计输入如何用ModelSim仿真工具对设计进行功能仿真和时序仿真如何实现设计注本教程的例子是在PC机上的ISEx环境中实现的本教程包括以下几个章节教程概述设计开始设计输入(VHDL)行为模型仿真功能仿真设计输入(顶层为原理图)设计实现对顶层文件进行仿真时序仿真要想学习如何用网表文件进行设计请参考附录EDIF设计方法要想更深入地学习了解ISE设计工具请参阅XILINX网站上的ISE深入教程(http:wwwsupportxilinxcomsupporttechsuptutorials)XILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门教程概述完成本教程后你将会对以下的设计流程有一个清楚的认识创建一个新的工程项用Virtex器件作为设计的目标器件用ISE的语言模板生成一个位计数器的VHDL模块创建一个用波形输入的测试向量文件并对位计数器进行功能仿真创建一个顶层为原理图输入的设计在顶层原理图中调用计数器的VHDL模块把所有的模块连接在一起并标出内连网线总线以及IO管脚的名称对位计数器模块和顶层原理图的输入信号波形进行初始化设置并对仿真长度进行约束对位计数器模块进行功能和时序仿真对顶层原理图设计进行时序仿真使用Floorplanner工具查看经过布局布线后该设计的布局情况参照附录EDIF设计方法完成网表(EDIF)文件输入的设计流程参照附录EDIF设计方法使用FPGAEditor查看经过布局布线后该设计的布局和布线情况XILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门设计开始本节主要描述本教程的软件要求如何在PC机上运行ISE软件以及如何获得在线帮助软件要求为了完成本教程你必须在你的PC机上安装以下软件ISExModelSimVHDL如果在XILINX的软件安装过程中遇到问题请参阅ISE安装指南ISEReleaseNotesandInstallationGuide软件安装完后环境变量应如下所述在Windows中如果你的ISE软件安装在C:XILINX目录下ModelSim软件安装在C:Modeltech目录下在C:autoexecbat文件中应该包含如下设置SETXILINX=C:XILINXSETPATH=XILINXBINNTC:ModeltechwinSETLMLICENSEFILE=XILINXdatalicensedatC:Modeltechwinlicensedat在WindowsNT中通过选择开始>设置>控制面板>系统>高级>环境变量等选项来设置相应的环境变量关于在线申请ModelSimXEStarterLicense请选择开始>程序>ModelSimXE>SubmitLicenseRequest可以在线申请ModelSimXilinxEditionStarter的license文件运行ISE软件对于PC机用户可选择开始>程序>XilinxISEx>ProjectNavigator来启动ISE软件使用在线帮助你可以在ISE运行过程中随时获得在线帮助当你按下F键时帮助系统就会显示出正在运行过程的在线帮助比如说当你在运行ECS(原理图输入)时按下F键那么关于如何使用ECS的在线帮助就会显示出来XILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门设计输入(VHDL)本节中你将会利用VHDL语言模板来设计一个位计数器模块首先创建一个新的工程项和生成一个计数器模块然后参照计数器VHDL语言模板来完成一个位计数器的VHDL设计创建一个新的工程项按照以下步骤创建一个新工程项选择File>NewProject在NewProject对话框中的ProjectLocation下键入新工程项存放的路径或者点击ProjectLocation旁的浏览按钮选择你想存放新工程项的路径在ProjectName下键入‘Tutorial’当你在ProjectName下键入‘Tutorial’后在ProjectLocation下会自动创建一个‘Tutorial’的子目录使用Value处的下拉菜单你可以对每种属性进行选择在下拉菜单列表中点击所需的属性值如下器件系列(DeviceFamily):Virtex器件(Device):xcvbg设计流程(DesignFlow):XSTVHDL图新工程项对话框NewProjectDialogBox点击OKISE将会在工程项导航器(ProjectNavigator)中创建和显示你的新工程项创建一个计数器模块按照以下步骤创建一个计数器VHDL模块选择Project>NewSource选择VHDL模块(VHDLModule)作为源程序类型在文件名中键入counterXILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门点击Next点击Next点击Finish,完成这个新源程序的模板新源程序模板countervhd将会显示在HDL编辑窗口中它包括计数器的Library,Use,Entity,Architecture等语句的描述利用计数器模板修改你的计数器模块要完成这个计数器模块你将要用到ISE的语言模板(ISELanguageTemplate)工具选择其中的计数器VHDL描述来完成countervhd的设计选择Edit>LanguageTemplates来打开语言模板或者通过点击工具栏中最右端的灯泡按钮来打开语言模板在语言模板(LanguageTemplates)窗口中通过点击符号来展开VHDL下的综合模板(SynthesisTempletes)图计数器语言模板CounterLanguageTemplateXILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门从VHDL综合模板中选择计数器模板(CounterTemplate)并把它拖动或粘贴到源程序countervhd的begin和end之间关闭语言模板(LanguageTemplates)窗口将带有注释符号()的计数器端口定义的语句剪切并粘贴到计数器的实体(entity)描述中去计数器端口定义语句如下CLK:inSTDLOGICRESET:inSTDLOGICCE,LOAD,DIR:inSTDLOGICDIN:inSTDLOGICVECTOR(downto)COUNT:inoutSTDLOGICVECTOR(downto)去掉countervhd源程序中端口定义语句前的注释符号()去掉COUNT端口定义语句后的分号()如下所示COUNTinoutSTDLOGICVECTOR(downto)选择File>Save,保存countervhd源程序此时你的countervhd源程序应与图中的VHDL描述一样图修改后的计数器模块ModifiedCounterModuleXILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门仿真行为模型功能仿真在本节中你将会创建一个testbench波形用于定义计数器模块所应有的功能这个testbench波形将被用于与Modelsim仿真器连接用来验证该计数器是否达到设计要求的功能和时延需求创建一个Testbench波形源文件首先在ProjectNavigator中创建一个testbench波形源文件该文件将在HDLBencher中进行修改在工程项窗口ProjectWindow的源文件中选中计数器(countervhd)选择Project>NewSource在新的对话框中选择新文件类型为TestBenchWaveform键入文件名为countertbw点击Next注在其他工程项中你可以将你的testbench波形与其他源文件关联点击Next点击Finish此时HDLBencher程序自动启动并等候你输入所需的时序需求你现在可以指定仿真所需的时间参数时钟高电平时间和时钟低电平时间一起定义了设计操作必须达到的时钟周期输入建立时间定义了输入在什么时候必须有效输出有效延时定义了有效时钟沿到达后多久必须输出有效数据在本教程中不需要改变任何默认的时间约束默认的初始化时间设置如下时钟高电平时间Clockhightime:ns时钟低电平时间Clocklowtime:ns输入建立时间Inputsetuptime:ns输出有效时间Outputvaliddelay:ns点击OK接受默认的时间设定你的testbench波形显示如图所示图在HDLBencher中的Testbench波形XILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门初始化计数器输入在HDLBencher的波形中初始化计数器输入如下注在每个单元的蓝色区域输入激励在CLK第周期下点击RESET单元直到该单元变为高在CLK第周期下点击RESET单元直到该单元变为低在CLK第周期下点击CE单元直到该单元变为高在CLK第周期下点击DIR单元直到该单元变为高你的testbench波形现在看起来应该如图所示图HDLBencher激励及响应输入将你的testbench文件存盘选择File>SaveWaveform或点击工具栏的存盘图标接下来HDLBencher会提示你设置你希望仿真的时钟周期数在Endthetestbenchcyclesafterthelastinputassignment对话框中输入默认值为点击OK退出HDLBencher新的testbench波形源文件countertbwtbw自动加入到该工程项中生成预期的输出响应现在你可以在已输入初始化激励的基础上生成时钟模块预期的输出在SourcesinProject窗口中选中countertbwtbw文件在ProcessesforCurrentSource窗口中点击ModelSimSimulator旁边的符号展开ModelSim仿真器的层次结构双击GenerateExpectedSimulationResults此步骤采用定义好的输入运行一个后台仿真产生输出值加入到testbench波形中你的testbench波形现在看起来应该如图所示XILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门图生成仿真结果直接退出HDLBencher而不选择波形存盘使用ModelSim进行仿真根据HDLBencher中产生的预期结果你现在可以用ModelSim进行仿真在这部分教程中你将运行行为仿真亦即功能仿真和布局布线后的仿真时序仿真行为仿真我们进行行为仿真以验证计数器模块的功能在SourcesinProject窗口中选择countertbwtbw文件在ProcessesforCurrentSource窗口中点击符号展开ModelSim仿真器的层次结构找到并双击SimulateBehavioralVHDLModel此时ModelSim仿真器自动启动对于第一次运行ModelSim的用户会显示一个对话框需要在其中做以下处理:选中Donotshowthisdialogagain选项点击RunModelSim此对话框在你重新安装或重新配置ModelSim之前将不再显示你的仿真结果现在显示在ModelSim的波形窗口(wavewindow)注ISE通过自动创建及运行一个仿真宏文件(fdo文件)来自动处理仿真过程虽然用户无法看到但在本教程中countertbwfdo文件实现了以下操作创建设计库编译设计源文件和testbench源文件调用仿真器打开所有的观察窗口将所有信号加到wave窗口将所有信号加到list窗口按照要求的运行时间属性进行仿真(默认为ns)点击Zoom>ZoomFul或在工具条点击ZoomFull图标点击Zoom>Zoomin或在工具条点击Zoomin图标XILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门拖动波形窗口下端的滚动条至窗口的最左端仿真输出波形应如图所示图行为仿真波形关闭ModelSim主窗口退出ModelSim布局布线后的仿真布局布线后的仿真包括了目标器件的时延信息对counter模块的后仿真操作如下在SourcesinProject窗口中选择countertbwtbw在ProcessesforCurrentSource窗口点击符号展开ModelSim仿真器的层次结构找到并双击SimulatePostPlaceRouteVHDLModel注此步骤会启动设计实现来进行布局布线及启动ModelSim点击Zoom>ZoomFull或在工具条中点击ZoomFull图标点击Zoom>ZoomIn或在工具条中点击Zoomin图标拖动波形窗口下端的滚动条至波形窗口的最左端仿真输出波形应该如图XILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门所示图布局布线后的仿真波形关闭ModelSim主窗口退出ModelSimXILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门设计输入(顶层为原理图)(TopLevelSchematic)本节以一个原理图设计为例说明了如何创建一个包含有例化的VHDL计数器模块的顶层原理图描述了如何将若干个模块连接成一个原理图如何给单根连线命名如何给总线命名以及如何添加输入输出管脚标记创建VHDL模块(VHDLModule)生成一个原理图符号(SchematicSymbol)在工程项导航器(ProjectNavigator)菜单中,点击Project>AddSource来添加一个VHDL模块countervhd(在选择源类型(ChooseSourceType)弹出窗口中选择VHDLModule)在SourcesinProject窗口中选中计数器模块countervhd在ProcessesforCurrentSource窗口中,点击设计输入实用程序(DesignEntryUtilities)之前的“”符号然后双击创建原理图符号(CreateSchematicSymbol)经过以上步骤,名称为“counter”的图形化元件被放入到工程项库中创建一个新的顶层原理图(TopLevelSchematic)在工程项导航器(ProjectNavigator)菜单中,选择Project>NewSource选择原理图(Schematic)为源类型输入原理图名为“top”先点击“Next”再点击“Finish”此时原理图编辑器(ECS)自动启动并在其原理图窗口中打开一张空图例化VHDL模块(InstantiatingVHDLModule)在原理图编辑器(ECS)中例化两个VHDL计数器模块counter在菜单中选择Add>Symbol或者在工具栏中点击(AddSymbol)图标从元件符号列表(在屏幕右侧)中选择计数器counter注意不要在类别(Categories)窗口中作任何选择点击左键可将计数器counter放置在光标所在的位置请在原理图中放置两个计数器counter现在原理图应该如图所示按ESC键退出添加符号(AddSymbol)模式注可以通过放大缩小功能(View>Zoom>InoutToBoxFullView)和拖动滚动条来调整视图大小及位置XILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门图例化VHDL模块原理图中连线(WiringtheSchematic)在连接元件符号时一些连线端可以悬空而另一些连线端需和元件符号相连首先激活划线功能通过在菜单中选择Add>Wire或者在工具栏中点击(AddWire)图标添加一根悬空线和延展连线a)在计数器模块的某一管脚单击鼠标b)将连线拉伸到需要的长度c)在连线端点处双击鼠标按照如图所示给计数器模块的每一管脚添加连线添加两个元件符号之间的连线a)在一个计数器模块的管脚处单击鼠标b)在另一个计数器模块的对应管脚处双击鼠标结果如图所示当完成连线后按ESC键退出添加连线(AddWire)模式XILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门图为模块相应管脚连线为连线添加网络名(AddNetNametowires)画好连线后你可为相应的连线添加网络名称在菜单中选择Add>NetName或者在工具栏中点击(AddNetName)图标创建网络名并放置到连线上的步骤如下a)在工具栏右边的文本对话框中输入网络名clock如图所示注使用网络命名NameBranch和保持网络名KeepName的默认值图添加网络名b)将鼠标移动到悬空连线的端点处此时光标处显示出网络名c)点击鼠标左键XILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门注按照上面步骤添加其余个网络名reset,ce,load,dir和dir按ESC键退出添加网络名(AddNetName)模式添加完个网络名后原理图应该如图所示图为连线添加完网络名后的原理图为总线添加网络名按照同样的步骤为计数器模块的din和count管脚添加总线网络名并给总线宽度赋值在菜单中选择Add>NetName或者在工具栏中点击(AddNetName)图标创建总线网络名并放置到总线上的步骤如下a)在工具栏右边的文本对话框中输入总线名和宽度如din(:)注使用网络命名NameBranch和保持网络名KeepName的默认值b)将鼠标移动到悬空总线的端点此时光标处显示出总线名及宽度c)点击鼠标左键注按照上面步骤添加其余个总线名count(:),count(:)和XILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门din(:)按ESC键退出添加网络名(AddNetName)模式添加完总线名后原理图应该如图所示图为总线添加完网络名后的原理图添加输入输出管脚标记(AddingIOMarkers)根据各个输入输出信号的方向添加相应的标记在本教程中我们要添加输入标记和双向信号标记最后结果应如图所示在菜单中选择Add>IOMarker或在工具栏中点击(AddIOMarker)图标按如下步骤为clock,reset,ce,load,dir和dir添加输入标记同时为总线din(:)和din(:)添加输入标记a)在工具栏右边的参数单选框中选择输入(Input)b)将鼠标移动到输入信号线的端点此时光标处显示出输入标记的图形c)点击鼠标左键输入标记会将网络名或总线名包含在标记图形的内部XILINXInsight科汇盈丰TheProgrammableLogicCompany技术领先的合作伙伴ISEi快速入门注一定要在信号线的端点处单击鼠标如果添加输入输出标记不成功系统会弹出错误对话框按如下步骤为count总线添加双向信号标记a)在工具栏右边的参数单选框中选择双向

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/30

XILINX+FPGA+CPLD设计+ISE快速入门[新手教程]

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利