现代电子系统分析与设计.pptx
《现代电子系统分析与设计.pptx》由会员分享,可在线阅读,更多相关《现代电子系统分析与设计.pptx(104页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2.1ISE12.1软件综述2.1.1ISE12.1套件分类除了性能上的改进之外,ISE12.1设计套件依然延续了在ISE11.1中提供的针对四个特定领域而优化配置版本的解决方案:逻辑版本(LogicEdition)、DSP版本(DSPEdition)、嵌入式版本(EmbeddedEdition)和系统版本(SystemEdition)。每一版本都提供了完整的FPGA设计流程,并且专门针对特定的用户群体(工程师)和特定领域的设计方法及设计环境要求进行了优化,从而使设计人员能够将更多精力集中于开发具有竞争力的差异化产品和应用。这4种版本的功能分别如下:第1页/共104页(1)ISE设计套件逻辑版
2、本针对采用赛灵思基础目标设计平台,主要关注逻辑和连接功能。(2)ISE设计套件DSP版本针对采用赛灵思DSP领域目标设计平台,主要面向算法、系统和硬件的设计人员而优化。(3)ISE设计套件嵌入式版本针对采用赛灵思嵌入式领域目标设计平台的嵌入式系统设计人员(硬件和软件设计师)而优化。(4)ISE设计套件系统版本针对采用赛灵思连接领域目标设计平台的系统设计人员而优化。第2页/共104页2.1.2ISE12.1功能介绍ISE12.1工具涵盖了整个FPGA开发流程,包括了设计输入、综合、仿真、实现以及下载各个步骤。采用ISE集成环境可以独立完成整个XilinxFPGA的开发,而无须借助其他第三方开发工
3、具。(1)设计输入:ISE12.1提供的设计输入工具包括HDL代码的输入,原理图编辑工具,用于IPCore的CoreGenerator,以及用于约束文件编辑的ConstraintsEditor等软件。(2)综合:ISE12.1自带的综合工具为XST,还可以与业界非常优秀的综合工具MentorGraphic公司的LeonardoSpectrum和Synplicity公司的Synplify实现无缝链接。第3页/共104页(3)仿真:ISE12.1自带ISim仿真工具,同时提供使用MentorGraphic公司的ModelSim各个版本的仿真接口。(4)实现:包括对综合文件的翻译、映射、布局布线等,
4、还包括时序分析、增量设计、手动布局约束等高级功能。(5)下载:包括生成bit流文件,还包括一个专用的下载软件IMPACT,可以进行设备通信和配置,并将程序烧写到FPGA芯片中去。使用ISE进行FPGA设计的各个过程可能涉及的工具如表2-1所示。第4页/共104页第5页/共104页2.1.3ISE12.1用户界面和菜单操作ISE用户界面如图2-1所示。界面各分区及功能如下:(1)标题栏:主要显示当前工程的名称和当前打开的文件名称。(2)菜单栏:主要包括“文件(File)”、“编辑(Edit)”、“视图(View)”、“工程(Project)”、“源文件(Source)”、“操作(Porcess)
5、”、“工具(Tools)”、“窗口(Window)”、“布局(Layout)”和“帮助(Help)”等10个下拉菜单。其使用方法和常用的Windows软件类似。(3)工具栏:为方便用户操作而提供的常用命令快捷键。随着版本升级,提供的快捷键越来越多。第6页/共104页(4)设计管理区:提供工程以及相关文件的显示和管理功能,包括设计源文件视图和仿真源文件视图。源文件视图显示了源文件的层次和分类关系。(5)过程管理区:本窗口显示的内容取决于工程管理区中所选定的文件,相关的操作和FPGA设计的流程相关,不仅显示当前进行的步骤,而且还用动态图标的方式显示当前的操作。第7页/共104页图2-1 ISE用户
6、界面 第8页/共104页(6)信息显示区:显示ISE中的处理信息,如操作步骤信息、告警信息和错误信息等,信息显示区的下面有控制台信息区(Console)和文件查找区(FindinFilesResults)。如果编译过程出现错误,双击信息显示区的告警和错误标志,就能自动切换到源代码出错的地方。第9页/共104页2.2S3开发板简介DigilentS3开发板是基于Spartan-3系列FPGA(XC3S200)所开发的一款FPGA入门级学习与验证板,包含丰富的外围接口,是初学者学习数字电路设计的良好平台。其外观图如图2-2所示。结构框图如图2-3所示。其主要器件以及包含的接口如下:(1)Xilin
7、xSpartan-3SC3S200FPGA器件(XC3S200-FT256);(2)2Mb的XilinxXCF02S配置PROM;(3)2个256K16异步静态SRAM(ISSIIS61LV25616AL-10T);(4)VGA显示端口;(5)RS232串口;(6)PS/2鼠标键盘接口;第10页/共104页(7)4位7段数码管;(8)8个拨码开关;(9)50MHz晶振的时钟输入;(10)3个40脚的外扩插槽;(11)JTAG下载接口;(12)3.3V、2.5V、1.2V的稳压电源。第11页/共104页图2-2 Spartan-3FPGA开发板外观图 第12页/共104页图2-3 Spartan
8、-3 FPGA开发板结构框图 第13页/共104页2.3ISE开发流程ISE12.1包含了一系列的开发工具。这些工具不在本书介绍范围,这里仅通过一个简单的实例,结合1.5节FPGA的开发流程来描述FPGA的整个开发流程,帮助读者理解FPGA的基本开发步骤。具体包含以下5步:(1)创建工程和设计输入;(2)创建TestBech并进行RTL仿真;(3)添加约束;(4)综合与实现;(5)生成配置文件并对FPGA进行配置。第14页/共104页【程序2-1】带使能控制的计数器。moduleCount_EN#(parameterWidth=8,parameterU_DLY=1)(inputwireEN,i
9、nputwireClock,inputwirereset,outputregWidth-1:0Out);always(posedgeClock,negedgereset)if(!reset)Out=8b0;elseif(EN)Out=#U_DLYOut+1;endmodule第15页/共104页2.3.1创建工程和设计输入本阶段包含三个任务:创建工程目录、创建工程、添加或创建HDL文件输入。1创建工程目录规范的FPGA设计在建立工程之前,首先要求进行项目文件管理规划。清晰的文件目录有助于提高设计效率和避免错误的发生。建立的一个清晰的工程目录如下:(1)projectname:工程名称,在这里建
10、立一个Count_EN的目录来存放工程所有相关文件;(2)scr:存放源代码目录;(3)coregen:CoreGenerator工具产生的各种IP文件;(4)sim:存放仿真相关文件,funcsim:目录存放与功能仿真相关文件,parsim:目录存放与时序仿真相关文件;(5)doc:存放FPGA相关设计文档。第16页/共104页2创建工程ISE软件每次打开时,会默认列出最近几次打开的工程目录,方便用户直接双击打开。如果用户需要新建工程,那么按照下面的步骤来进行:选择“File|NewProject”选项,在弹出的新建工程对话框中填写如下几项:“ProjectName”中填写工程名称,“Bro
11、wse”中指定项目存放的路径,“Top-LevelSourceType”选项中选择工程顶层源代码的类型。第17页/共104页关于输入文件类型有如下几个选项:(1)HDL:表示工程顶层源代码为vhdl或者Verilog代码形式;(2)Schematic:表示工程顶层源代码为原理图形式;(3)EDIF:表示工程源代码是由Symplify综合工具综合之后的网表文件,后缀是.edf文件;(4)NGC/NGO:表示工程源代码是ISE自带的XST综合工具产生的网表文件。第18页/共104页在本例中,将“ProjectName”填写为“Count_EN”,“Top-LevelSourceType”选择为HD
12、L类型。单击“Next”按钮,进入下一步,选择所使用的芯片类型以及综合和仿真的工具。如图2-4所示,“ProductCategory”选择“All”,列出所有FPGA器件,“Family”选项包含了所有的Xilinx公司的器件系列,“Device”选项包含了对应系列的所有型号的器件,“Package”选择封装,“Speed”选择速度等级,“SynthesisTool”选择支持的综合工具,“Simulator”选择支持的仿真工具,“PreferredLanguage”选择语言:Verilog或者VHDL。在本例中,各选项按照如图2-4所示进行选择。第19页/共104页图2-4 新建工程器件配置图
13、 第20页/共104页再单击“Next”按钮,进入下一页,可以选择新建源代码文件,读者可以选择现在开始新建源代码,也可以直接跳过,等工程建立完毕之后再建立源代码。单击“Next”按钮,进入第四页,添加已有的代码;如果没有源代码,单击“Next”按钮,直接进入最后一页;点击“Finish”按钮,就建立好一个完整的工程。第21页/共104页3添加或创建HDL文件输入在工程建立结束之后,就可以添加或创建HDL文件输入。如果已经设计好HDL文件,则直接添加到工程中来。下面首先介绍添加HDL文件的步骤。在工程管理区单击右键,选择“AddFiles”,然后弹出对话框,找到HDL文件保存的路径来添加所有文件
14、。需要注意的是,如果要添加多个文件,可以按住“Ctrl”键,选择多个文件进行添加;添加完毕之后,点击“OK”按钮,所有文件将按照相关调用层次显示在工程管理区。新建HDL文件的步骤相对来说复杂些。在工程管理区任一位置单击鼠标右键,在弹出的菜单中选择“NewSource”命令,出现如图2-5所示的“NewSourceWizard”对话框。第22页/共104页图2-5 新建源代码向导图 第23页/共104页对话框左侧的列表用于选择代码的类型,部分项的意义如下:IP(COREGenerator&ArchitectureWizard):由ISE的IPCore生成工具快速生成可靠的源代码,选择IP,定义F
15、ilename,点击“Next”按钮,进入IP定制界面。这与单独使用CoreGenerator工具产生IP的方法是一样的。第24页/共104页UserDocument:用户文档类型。VerilogModule:Verilog模块类型,用于编写Verilog代码。VerilogTestFixture:Verilog测试模块类型,专门用于编写Verilog测试代码。VHDLModule:VHDL模块类型,用于编写VHDL代码。VHDLLibrary:VHDL库类型,用于制作VHDL库。VHDLPackage:VHDL包类型,用于制作VHDL包。VHDLTestBench:VHDL测试模块类型,用于
16、专门编写VHDL测试代码。EmbeddedProcessor:嵌入式处理器。将调用XPS工具进入MicoBlaze处理器的硬件定制界面。第25页/共104页在本例中,在“SelectSourceType”中选择“VerilogModule”选项,在“Filename”文本框中输入“Count_EN”,单击“Next”按钮,进入端口定义对话框,如图2-6所示。其中,“Modulename”输入“Count_EN”。下面的列表对应端口的定义:“PortName”表示端口名称;“Direction”表示端口方向(可以选择input、output、inout三种类型);如果为总线,则“Bus”选项打钩
17、;“MSB”和“LSB”分别表示信号的最高位和最低位,单位信号的MSB和LSB不必填写。第26页/共104页图2-6 Verilog模块端口定义对话框 第27页/共104页定义了模块端口之后,单击“Next”按钮,进入下一步,单击“Finish”按钮,完成创建。ISE自动创建一个Verilog模块例,在源代码编辑区内打开,标准的代码端口的注释都已经生成,剩下来的工作就是在模块中实现功能。ISE独特的源码模块自动生成方式,极大地节省了开发者的时间。在源代码区只要填写如程序2-1所示的代码内容,就完成了源码输入的工作。第28页/共104页2.3.2创建TestBench并进行RTL仿真1建立仿真T
18、estBench建立基于程序2-1的ISim测试仿真平台。在工程管理区将“View”设置为“Simulation”;在工程管理区任意位置点击鼠标右键,并在弹出的菜单中选择“NewSource”命令;选中“VerilogTestFixture”,输入文件名“Count_EN_tb”;单击“Next”按钮,进入下一页,这时工程中显示的是所有module的名字,设计人员根据需要选择要进行测试的module。在本例中只有一个moduleCount_EN,用鼠标选中,然后单击“Next”按钮,进入下一页,直接单击“Finish”,ISE在源代码区显示测试模块的代码:第29页/共104页moduleCou
19、nt_EN_tb;/InputsregEN;regClock;regReset;/Outputswire7:0Out;/InstantiatetheUnitUnderTest(UUT)Count_ENuut(.EN(EN),.Clock(Clock),.Reset(Reset),.Out(Out);第30页/共104页initialbegin/InitializeInputsEN=0;Clock=0;Reset=0;/Wait100nsforglobalresettofinish#100;/Addstimulushereendendmodule第31页/共104页ISE自动生成了测试文件的框架
20、,包括所需要的信号、端口声明以及模块例化。设计人员需要做的工作,就是在“/Addstimulushere”后面补充添加测试向量生成代码。为了验证计数器是否工作正常,添加如下代码(关于TestBench的编写,将在后续章节详细介绍,现在只需要了解如何使用ISim进行仿真即可):Reset=1;EN=1;forever#10Clock=!Clock;此时添加代码完毕。第32页/共104页2使用ISim进行仿真选中过程管理区“SimulateBehavioralModel”选项,单击鼠标右键,选择菜单中的Properties选项,会弹出如图2-7所示的仿真设置属性对话框。对话框中有如下两项需要注意:
21、(1)“SimulationRunTime”:用来设置仿真时间长短;(2)“WaveformDatabaseFilename”:设置波形文件存储路径及文件名。第33页/共104页图2-7 仿真设置属性对话框 第34页/共104页仿真参数设置完之后,直接双击ISim中的“SimulateBehavioralModel”,ISE自动启动ISim软件。ISim软件界面如图2-8所示。图2-8 ISim软件仿真界面 第35页/共104页ISim仿真工具主界面由三个部分组成:源文件区、目标信号区和波形仿真区。(1)源文件区:存放仿真源文件以及库文件。(2)目标信号区:显示工程信号名,方便用户选中并添加到
22、波形仿真图上。在目标信号区,有快捷按钮,方便用户在本工程中提取需要观察的信号。快捷按钮包括输入输出端口、双向端口、内部信号、常量、参数、变量、缓冲信号等。第36页/共104页(3)波形仿真区:显示目标信号波形图。选择菜单中的“Simulation”或者快捷键栏目相关按钮来控制仿真流程,这些快捷按钮是:(1)Restart:重新开始仿真;(2)RunAll:仿真全部执行;(3)Run:执行仿真;(4)Step:单步执行;(5)Break:仿真停止。对应快捷按钮如图2-9所示。仿真结果如图2-8所示。第37页/共104页图2-9 仿真流程控制快捷按钮第38页/共104页2.3.3添加约束工程中源代
23、码输入之后,需要给设计添加管脚和时序约束。管脚约束是将设计文件的输入输出信号设置到器件的某个管脚,而且包括设置此管脚的电平标准、电流强度、上下拉特性等。时序约束在高速数字电路设计中非常重要,其作用是为了提高设计的工作频率和获得正确的时序分析报告。在综合、映射和布局布线阶段附加约束,可以使时序分析工具以用户的时序约束为标准,尽量满足约束要求,同时产生实际时序和用户约束时序之间的差异,并形成报告。因此要求用户必须进行时序约束,而且越全面越好。在ISE中时序约束由专门的工具ConstraintsEditor来完成。第39页/共104页1创建管脚约束下面以程序2-1为例创建约束。(1)新建约束文件。首
24、先新建源代码,在源代码类型中选取“ImplementationConstraintsFile”,在Filename中输入约束文件名“Count_EN_ucf”,单击“Next”按钮,进入下一页;然后单击“Finish”,完成约束文件的创建。(2)编辑约束文件。在工程管理区选择建立的约束文件,双击过程管理区的“UserConstraints”下的“EditConstraints(Text)”,就可以打开约束文件编辑器。第40页/共104页(3)建立管脚约束。由于手工编辑UCF文件通常效率较高,且出错概率较小,因此我们这里有必要介绍手工编辑管脚约束的语法。其语法格式为NET|INST|PINsig
25、nalnameAttribute;其中,“signalname”是指约束对象名字,也支持对约束对象的层次描述;“Attribute”为约束的具体描述;语句必须以分号结束。UCF文件采用“#”进行注释。需要注意的是,UCF文件约束对象必须与设计中的对象名字一致。例如,若将信号CLK约束到FPGA的P30管脚上,信号电平标准为CMOS3.3V,则添加约束如下:NETCLKLOC=P30|IOSTANDAND=LVCMOS33;第41页/共104页在UCF文件设计中支持通配符“*”和“?”,“*”可以代表任何字符串和空格,“?”则代表一个字符。在编辑约束文件时,通过通配符可以快速选择一组信号。例如,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 电子 系统分析 设计
限制150内