ImageVerifierCode 换一换
格式:DOCX , 页数:90 ,大小:660.18KB ,
资源ID:4560919      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4560919.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FPGA综合设计指导书探素.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

FPGA综合设计指导书探素.docx

1、FPGA综合设计指导书探素第1章 FPGA设计概述微电子技术的日新月异,正在不断地改变着人们的生活方式。而世界大规模集成电路技术以及设计方法的飞速发展,正在给我国的IC设计人员以新的挑战和压力。不能否认,目前我国IC加工设计技术仍然远远落后于发达国家,尤其是在半导体/微电子制造与加工等基础产业。然而,我们有幸的看到,可编程逻辑器件(FPGA/CPLD)的发展正在逐步取代越来越多的专用集成电路(ASIC)市场。由于可编程逻辑器件具有可重复使用、小批量、低投入、高性能、高密度、开发周期短等诸多优点,使国内更多的IC设计人员乐于采用。由于不需要任何投片费用,也不需要建立任何生产线,因此,采用FPGA

2、/CPLD所需的投资远远低于ASIC的投资。据估计,引进一套先进的FPGA/CPLD设计工具所需费用还不到ASIC所需的十分之一,而大力推广先进的FPGA设计方法,既可以降低诸多产业投资成本,也可培养一大批国内的设计人才,从而提高国内设计的整体水平,为将来国内ASIC产业的快速、健康发展打下坚实的基础。11 FPGA设计基本方法FPGA设计技术正在迅速发展,象针对深亚微米的物理综合技术(Physical Sysnthesis)就是一种新兴的综合技术。目前,FPGA的设计有两种基本方法:一种是传统的原理图设计方法,另外一种是现代的自顶而下(Top-Down)设计方法。传统的原理图设计方法是采用原

3、理图输入的方式进行的,如图 1.1所示。通过调用FPGA/CPLD厂商所提供的相应物理元件库,在电路原理图中绘制所设计的系统,然后通过网表转换产生某一特定FPGA/CPLD厂商布局布线器所需网表,通过布局布线,完成整个设计过程。原理图绘制完成后可采用门级仿真器进行功能验证。然而,IC设计人员的最初设计思想不是一开始就考虑采用某一FPGA/CPLD厂商的某一特定型号器件,而是从功能描述开始的。设计人员首先要考虑规划出能完成某一具体功能、满足自己产品系统设计要求的某一功能模块,利用某种方式(如HDL硬件描述语言)把功能描述出来,通过功能仿真(HDL仿真器)以验证设计思路的正确性。当所设计功能满足需

4、要时,再考虑以何种方式(即逻辑综合过程)完成所需要的设计,并能直接使用功能定义的描述。实际上这就是自顶而下(Top-Down)设计方法。厂商库图 1.2传统原理图设计方法与传统原理图输入设计方法相比,自顶而下(Top-Down)设计方法具体有以下优点:(1)完全符合设计人员的设计思路,从功能描述开始,一直到物理实现,直到器件设计完成。(2)功能设计可完全独立于物理实现 在采用传统的原理输入方法时,FPGA/CPLD器件的采用受到器件库的制约。由于不同厂商FPGA/CPLD的结构完全不同,甚至同一厂商不同系列的产品也存在结构上的差别,因此,在设计一开始,IC设计人员的设计思路就受到最终所采用器件

5、的约束,大大限制了设计人员的思路和器件选择的灵活性。而采用Top-Down设计方法,功能输入采用国际标准的HDL输入方法,HDL可不含有任何器件的物理信息,因此设计人员可以有更多的空间去集中精力进行功能描述,设计人员可以在设计过程的最后阶段任意选择或更改物理器件。(3)设计可重用设计结果完全可以以一种知识产权(IP-Intellectual Property)的方式作为设计人员或设计单位的设计成果,应用于不同的产品设计中,做到设计成果的再利用,而且提高了系统的可靠性。(4)设计易于更改设计人员可在极短的时间内修改设计,对各种FPGA/CPLD结构进行设计结果、规模(门消耗)和速度(时序)比较,

6、选择最优设计方案。(5)能设计和处理大规模复杂电路目前的FPGA/CPLD器件正向高集成度、深亚微米工艺发展。为设计系统的小型化,低功耗、高可靠性等提供了必要的手段。设计低于一万门左右的电路,Top-Down设计方法具有很大的帮助,而设计更大规模的电路,Top-Down设计方法则是必不可少的手段。(6)设计周期缩短,生产效率大大提高,产品上市时间提前,性能明显提高,产品竞争力加强。据统计,采用Top-Down设计方法的生产率可达到传统设计方法的2到4倍。Top-Down设计如图 0.3所示,其核心是采用HDL语言进行功能描述,由逻辑综合(Logic Synthesis)把行为(功能)描述转换成

7、某一特定FPGA/CPLD的工艺网表,送到厂商的布局布线器完成物理实现。在设计过程的每一个环节,仿真器的功能验证和门级仿真技术保证设计功能和时序的正确性。功能验证门级仿真图 0.3自顶向下设计方法12 FPGA设计基本流程随着FPGA设计技术的迅速发展,高性能的EDA综合开发工具(平台)得到了长足发展,而且其自动化和智能化程度不断提高,为复杂的FPGA设计提供了不同用途和不同级别集设计输入、综合、布局、布线、编译、模拟、测试、验证和器件编程等一体化的易于学习和方便使用的集成开发环境,因此可编程逻辑器件得到广泛应用。现在的FPGA EDA软件设计基本流程如图1.2:在线校验图 1.2 FPGA设

8、计流程可见FPGA设计流程一般包含三个层次:设计输入、综合、实现,再加上一个设计验证(仿真、在线校验)。1、设计输入设计输入层的主要作用是输入Verilog、VHDL等硬件描述语言。但是设计人员进行产品设计的最初并不是考虑如何去编写HDL语言,而是习惯于画出设计的框图,并采用图形化方法(流程图、状态图、真值表等)把它描述出来,所以设计输入模块一般还提供原理图/框图、状态图、流程图、真值表等输入方式,并且能把原理图/框图、状态图、流程图、真值表等转换成Verilog、VHDL等硬件描述语言。现在图形化输入软件比较多,如Mentor公司的HDL Designer Series、Xilinx的ISE

9、 WebPACK/FOUNDATION、ALDEC的Active-HDL等等。图形化输入比较适合于初学者。2、综合综合就是把Verilog、VHDL等硬件描述语言综合成门级电路实现(EDIF网表),或者说通过映射和优化过程,把设计功能描述转换成与物理实现密切相关的工艺网表。在转换过程中,不仅需要确保每一功能转换正确,还需保证尽量采用较少的硬件开销,满足设计的时序要求。目前从硬件设计层次来说,综合主要包括逻辑综合、行为综合。逻辑综合针对逻辑结构层次硬件描述,而行为综合针对行为/RTL级层次硬件描述。更高层次的综合技术正在迅速发展,如针对系统级硬件描述SystemC的系统级综合技术取得了长足的进步

10、。综合技术的优劣直接决定了电路功能的实现方法、电路所占资源的多少、电路的工作速度,以及其它各项性能是否符合要求等。虽然这一切跟HDL程序设计的优劣息息相关,但同样的设计经过不同的软件综合后可能有不同的结果,所以好的综合软件能带来事半功倍的效果。因此,综合是FPGA/CPLD Top-Down设计过程的关键。需要注意的一点是由于受到综合技术的限制,目前的综合软件还不能对HDL语言中期望综合的所有语句进行综合。有些语句不能综合,有些语句受到限制。能综合的HDL语句的多少与综合软件相关,不同公司的综合软件限制不一样。这一点可以查看所使用的综合软件的技术手册。目前各种综合软件琳琅满目,但被大多数设计人

11、员认可、占有一定市场份额的主要是由几大EDA公司所开发的。例如Cadence、Synopsys、Synplicity、Mentor等。Cadence公司的软件主要是应用于IC设计方面,且大多工作在工作站上,所以一般条件下很难接触到。Synopsys的综合软件比较多,如FPGA Express、FPGA CompilerII、Design Compiler等。FPGA Express由于原来为Xilinx和Altera做OEM版。它使用较为简单,可根据面积或速度进行优化,对FPGA/CPLD的芯片支持较多。但有三个缺点:一是不自带编辑器。二是电路图查看效果很差。电路图由于对设计人员来说较为直观,

12、所以经常用到该功能。特别是对于初学者,刚接触HDL时没有清晰的概念,更要多查看综合后的原理图,以使自己对HDL语言本身有较直观的理解,也对综合软件的各项特性有个大致认识。第三是它对电路的优化效果不好,占用较多的FPGA资源。Synplicity公司的HDL综合软件有Synplfy(Pro)、Amplify、Certify和Synplify Asic。Synplify Pro的最新版是7.1,界面简洁、使用方便、功能强大。它所带的编辑器自动对HDL语法加亮显示,电路图查看功能非常好用,并且能够将电路图以门级方式显示,还能显示关键路径(Critical Path)。Synplify Pro的各项优

13、化设置不是很多,主要有速度、时钟、延时等几方面,简单却功能强大。Mentor Graphics公司的LeonardoSpectrum也是一款非常优秀的综合软件。同时它也是PC机上为数不多的支持ASIC开发的综合软件之一。它支持众多的FPGA/CPLD器件,各项约束功能强大,具备RTL级和门级电路查看功能并以彩色显示,支持多种输出网表格式,同时它也能调用其它FPGA厂家的布线器。而且还可以对IO信号的引脚位置进行分配。除专业EDA软件公司外,一些FPGA公司也开发了自己的HDL综合软件,例如Xilinx的ISE中默认的综合软件就是它自己开发的XST。另外Altera公司在它的Quartus系列中

14、也是用的自己的综合软件。3、实现实现主要是完成格式转换、资源映射和布局布线等工作。由于综合软件多种多样,输出的工艺网标格式不一(尽管有统一标准EDIF),所以在实现前需要格式转换软件把综合软件输出格式转换成实现软件所接受的格式,这就是格式转换。有的综合软件也可以完成格式转换。资源映射就是把综合软件输出的门级结构映射成具体FPGA器件所具有的门级结构。这是因为具体FPGA器件所有门级结构是固定的,而综合软件输出的门级结构是丰富多彩的。例如某FPGA器件由两输入与非门构成,则其它形式门电路以及多输入与非门就需要经过资源映射。布局布线就是在FPGA器件里放置门电路并走线。实现与所用FPGA/CPLD

15、器件密切相关,一般只能采用相关器件公司的实现软件。常用的实现软件有Xilinx公司 ISE WebPACK、ISE Foundation,Altera 公司Max+Plus II、Quartus II等等。4、仿真目前仿真包括:行为级仿真(RTL级仿真)、门级仿真。在FPGA/CPLD Top-Down设计流程中,仿真包含在设计过程的每一环节中,以保证设计的正确性。行为级仿真是根据行为级硬件描述所做的仿真,此时的仿真完全基于HDL描述。一般情况下,由于行为级与RTL级硬件建模混合在一起,所以行为级仿真也包括RTL级仿真。硬件描述语言中的时延语句指定的时延只能在行为级仿真起作用。门级仿真指的是在

16、综合之后的仿真,包括门级功能仿真和门级时序仿真。此时综合软件忽略加入的时延语句。门级功能仿真也叫综合后仿真,它不考虑门电路和布线的延迟。门级时序仿真则是指将门电路和布线的延迟也计算进来(在门级时序仿真中有一种资源映射后仿真,它只计算门电路的延迟)。行为级仿真(RTL级仿真)有时也叫前仿真,综合之后的所有仿真也叫后仿真。一般仿真工具都支持上述各种仿真。现在的仿真软件比较多,例如VCS、NC-Verilog、NC-VHDL、Verilog-XL、Modelsim等。对于开发FPGA来说,一般是使用FPGA厂家所提供的集成开发环境,例如Xilinx公司的ISE Webpack/Foundation,

17、Altera公司的Maxplus、Quartus等。其中部分软件使用的是它们自己所开发的仿真器,例如Maxplus、Quartus,而另一些则是嵌入专业EDA软件公司的OEM版软件,例如ISE Webpack/Foundation使用的是Modelsim XE(Xilinx Edition)。仿真中必不可少的一步是给被测电路的输入信号给予激励。一种方法是直接给输入波形,但很多波形编辑器都不是很好用;另一种是写测试文件,即Testbench,但该方法也有不足之处,特别是在加不规则波形时。另外还有一种方法,就是在仿真软件中用命令方式加输入波形,例如Modelsim,不过初学者通常对其不感兴趣,这就

18、是许多人说Modelsim不容易入门的原因。与FPGA EDA软件设计流程类似,设计人员的工作过程如图1.3:器件下载图 1.3 工作流程13 FPGA设计EDA软件组合采用Top-Down设计方法进行FPGA设计,其设计结果的优劣与否取决于三个重要的因素:描述手段(即HDL语言)、设计方法和设计工具。描述手段是设计的基础,设计方法需要实践经验,而设计工具则是Top-Down设计的关键。一套完整、强大、性能卓越的设计工具,可帮助设计人员最大限度的发挥其设计能力。由于相应设计层次都有相应的EDA软件,而且EDA软件很丰富,种类繁多。根据我们的实际需要,下面看一下四种典型的FPGA设计EDA软件组

19、合(这里以Xilinx公司的器件为例):ISE WebpackISE FoundationActive-HDLFPGA Advatage公司XilinxXilinxALDECMentor输入WebpackFoundationActive-HDLHDL Designer Series仿真Modelsim XEModelsim XEActive-HDLModelsim综合Xilinx XSTLeonardoSpectrumSynplify proXilinx XSTLeonardoSpectrumFPGA CompileIISynplify proSynplify proLeonardoSpect

20、rumXilinx XSTLeonardoSpectrumFPGA CompileII其它综合软件实现WebpackFoundationWebpackFoundationWebpackFoundation第2章 XILINX ISE Foundation 5.2.1 ISE Foundation5.1概述Xilinx ISE Foundation5。1包括:设计输入和综合工具、backPACK 工具 、器件布线工具。用于对CPLD和FPGA的开发。作为一个集成的桌面设计环境使用的EDA设计工具,它实现了从设计输入、设计综合、设计验证到设计实现的全套功能,最后生成的二进制文件文件(*.bit)可

21、以下载Xilinx公司的器件中去。ISE Foundation设计流程图如下:图 2.1 ISE Foundation设计流程从上图可以看出ISE Foundation设计流程包括五大部分:设计输入、设计综合、设计实现、器件下载和设计验证。2.2 设计输入ISEFoundation5.1 有三种输入方式VHDL和Verilog语言输入,原理图输入和状态图输入。在输入源文件时应指明输入方式。1项目设置点击File菜单显示界面如图2.2。图2.2 项目设置菜单点击NewProject条目,进入编辑窗口如图2.3图2.3 Project编辑窗口按窗口提示键入Project名称和各个选项,点击Ok完成

22、项目设置。2源文件输入点击Project菜单,点击Project菜单中NewSource条目进入编辑窗口如图2.4图2.4 源文件输入编辑窗口按窗口提示键入Source名称和各个选项,点击Ok完成源文件设置。如图2.5 图2.5 源文件设置后主窗口显示的内容3,原理图输入点击原理图文件名打开原理图编辑器,进行原理图输入如图2.6图2.6 原理图编辑器窗口如果原理图较大,可以分成几个模块输入。创建模块按下面步骤进行:图2.7 创建模块窗口一在原理图程序器中选中Tools菜单,点击Symbol Wizard条目,打开Symbol Wizard窗口,选择Specify Manuall,点击下一步。

23、图2.8 创建模块窗口二在Symbol Name条目下写入模块名,在Pin条目下点击Add依次引脚的名称、极性和引脚位置。加完所有引脚后点击下一步显示一个图形符号,再点击下一步显示一个创建的模块符号,点击完成。关闭窗口。此时在原理图的符号点击中可以看到创建的模块符号名。然后可以应用创建的模块完成原理图的输入。原理图输入后对输入、输出引脚要加I/O Buf和输入、输出Pad。原理图输入完成后要加入引脚约束文件 。加引脚约束文件按下面步骤进行:点击Project菜单中New Source条目,选择Implementatian Constraints File如图2.9, 加入文件名产生 .ucf文

24、件。然后点击Porcesses For Current Source窗口中的Create Timing Constrains条目。运行程序对原理图进行检查,若无错误,程序打开一个编辑窗口,在这个窗口中点击Prots后跟椐FPGA引脚配置表对原理图引脚进行配置如图2.10图2.9 创建引脚约束文件窗口一 图2.10 创建引脚约束文件窗口二VHDL和Verilog语言输入,状态图输入见第四章.2.3 设计综合 点击Porcesses For Current Source窗口如图2.11。 图2.11 Porcesses For Current Source窗口 双击Synthesize运行程序,完

25、成综合。如有错误,跟据综合报告进行修改,再进行综合,直到综合正确。2.4 实现 实现分三步进行,格式转换(Translate)、资源映射(Map)和布局布线(PlaceRoute)。在Porcesses For Current Source窗口中双击Implement Design运行程序完成布局布线。2.5 配置下载 将下载电缆一端接计算机并口,另一端接综合实验平台的SS-1接口。器件下载可分为两步执行,第一步产生下载文件;第二步配置下载端口,执行下载。在Porcesses For Current Source窗口中双击Generate Programming File产生配置文件(.bit

26、) 双击Configure Device(iMAPCT),选择Configure Device,点击下一步,选择Slave Serial Mode,点击完成,进行配置下载。如图2.12,图2.13。如下载成功综合实验平台的Ok灯灭。否则下载不成功。7,实验验证 在综合实验平台上进行功能验证。 图2.12 配置下载窗口一 图2.13 配置下载窗口二第3章 Modelsim开发环境3.1 Modelsim用户界面以ModelSim5.6b为例进行介绍,下图为其用户界面(包含我们仿真时要用到的几个主要窗口):结构窗口图 3.1 Modelsim 用户界面Modelsim有九个子窗口: Main,St

27、ructure,Source,Signals,Process, Variables,Dataflow,Wave和List窗口。除了Main窗口外,支持其它窗口的多个副本(注意: Main窗口只允许存在一个,因为这个窗口控制仿真器)。我们可以使用“拖放操作”,在一个窗口选择HDL项后, 使用鼠标左键,这些项能被从一个窗口拖放到另一个窗口。HDL项可从 Dataflow,List,Signals, Source,Structure,Variables,和Wave窗口拖出。可把它们放到Dataflow,List 或者Wave窗口。1、Main Window我们首先介绍一下主窗口和Main Windo

28、w的部分菜单,下图就是Main Window的用户界面:执行过的命令图 3.2 主窗口命令窗口出现如下提示符:ModelSim这是仿真加载前的提示符,能浏览帮助, 编译库, 编译源代码而不用调用一个真正的仿真。命令窗口出现如下提示符:VSIM x这是仿真加载后的提示符,如上图。现在可以运行仿真命令。输入运行时间:例如100nsMain Window的工具栏如下图:图 3.3 主窗口工具栏下面来看一下的Main Window的部分菜单:(1)File菜单如下图:打开文件、项目图 3.4 File菜单项(2)View菜单如下图:View菜单主要用来打开子窗口和查看仿真结果(Dataset)打开仿真

29、结果窗口图 3.5 View菜单项(3)Simulate菜单如下图:暂停当前仿真图 3.6 Simulate菜单项(4)Tool菜单如下图:执行宏命令Do文件图 3.7 Tools菜单项2、Structure Window设计的结构多层浏览 VHDL - Package, component instantiation, generate and block statements; Verilog - module实例,named fork, namedbegin, task和function; Instantiation label, entity/module, architecture;

30、 成为当前层 for Source 和 Signals 窗口, updates Process 和Variables 窗口显示Structure窗口的命令图 3.8 Structure Window在结构窗口里主要是选择模块名,相应模块名的信号名就显示在Signal Window中,源代码就显示在Source Window中。3、Source Window图 3.9 Source Window从Structure窗口选择模块名,相应模块名的源代码就显示在Source Window中。具有完全的编辑能力、保存、编译和重启,还能使用拖放操作,描述所选的HDL项的信息,检查所选HDL项当前仿真值。S

31、ource Window主要是用来跟踪、调试(设置断点、单步运行等)、编辑、编译源代码所用。4、Signal Window从Structure窗口选择模块名,相应模块名的信号名就显示在Signal Window中。具备基本操作能力:排序升序、降序或声明顺序;层次(+)可展开的,(-)已展开的。可以显示VHDL信号、Verilog线网、寄存器变量和已命名的时间变量。能够执行“拖放”操作,从Signal Window拖放信号名到Wave和List窗口。Force能够输入信号(用于激励)。Filter可以过滤选择信号类型(输入, 输出, 内部等)。选择显示信号类型图 3.10 Signal Window5、Wave Window用波形浏览仿真结果的图形化的历史记录,包括VHDL信号和过程变量、Verilog线网、寄存器变量、已命名事件。对于更多的逻辑信号可用多个波形窗口显示(波形窗口副本)。可以改变信号和向量的基数已方便查看。可以保存波形用于波形比较。适中显示图 3.11 W

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2