第四章-Altera-的IP工具_第1页
第四章-Altera-的IP工具_第2页
第四章-Altera-的IP工具_第3页
第四章-Altera-的IP工具_第4页
第四章-Altera-的IP工具_第5页
已阅读5页,还剩37页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章 Altera 的IP工具,主要内容: 1 IP的概念、Altera的IP 2 使用Altera的基本宏功能 3 使用Altera的IP核,4.1 IP核的概念,IP(Intelligent Property) 核是具有知识产权核的集成电 路芯核总称,是经过反复验证过的、具有特定功能的 模块,与芯片制造工艺无关,可以移植到不同的半导 体工艺中,如FIR滤波器、SDRAM控制器、PCI接口 设计做成一个“黑盒”或者是可修改参数的模块,供 使用。 从IP核的提供方式上,通常将其分为软核、固核和 硬核这3类。从完成IP核所花费的成本来讲,硬核代价 最大;从使用灵活性来讲,软核的可复用使用性最高

2、,软核在EDA 设计领域指的是综合 之前的寄存器传输级(RTL) 模型; 具体在FPGA 设计中指的是对电路 的硬件语言描述,包括逻辑描述、 表和帮助文档等。 软核只经过功能仿真,需要经 过综合以及布局布线才能使用。其 优点是灵活性高、可移植性强,允 许自配置;缺点是对模块的预测性, 在后续设计中存在发生错误的可能 性,有一定的设计风险。软核是IP 核应用最广泛的形式。,软核,固核在EDA 设计领域指的是带有平 面规划信息的网表;具体在FPGA 设 计中可以看做带有布局规划的软核, 通常以RTL 代码和对应具体工艺网 表的混合形式提供。将RTL 描述结 合具体标准单元库进行综合优化设计, 形成

3、门级网表,再通过布局布线工具 即可使用。和软核相比,固核的设计 灵活性稍差,但在可靠性上有较大提 高。目前,固核也是IP 核的主流形 式之一。,固核,硬核在EDA 设计领域指经过验证的设计版图;具体在FPGA 设计中指布局和工艺固定、经过前端和后端验证的设计,设计人员不能对其修改。不能修改的原因有两个:首先是系统设计对各个模块的时序要求很严格,不允许打乱已有的物理版图;其次是保护知识产权的要求,不允许设计人员对其有任何改动。IP 硬核的不许修改特点使其复用有一定的困难,因此只能用于某些特定应用,使用范围较窄。,硬核,功能模块,AMPP 是ALTERA宏功能模块、IP内核开发伙伴的组织。通过 这

4、个联盟,AMPP的所有厂商提供基于ALTERA器件优化的宏 功能模块、IP内核。 Altera和第三方IP合作伙伴提供的可用功能模块:,基本宏功能(megafunctions /LPM),(Megacore),AMPPIP核,是复杂或高级构建模块,可以在Quartus II 设计文件中 与门和触发器基本单元一起使用。这些模块的功能一般 都是通用的,比如counter、FIFO、RAM等 altera提供的可参数化LPM宏功能模块和LPM函数均为 altera器件结构做了优化,而且必须使用宏功能模块才 可以使用一些altera特定器件的功能,宏功能模块,IP知识产权模块是某一领域内的实现某一 算

5、法或功能的参数化模块。这些功能由 Altera和AMPP开发, 专门针对Altera 特定器件经严格的测试和优化,可以使用 这些知识产权的参数化块减少设计和测试 时间。一般需要用户购买才能使用。 这些宏功能模块包括应用于通信、数字 信号处理 (DSP)、PCI和其它总线接口以 及存储器控制器中的宏功能模块。,IP知识 产权模块,4.2 Altera 提供的IP核,一、基本宏功能(Megafunction/LPM) 基本宏功能(Megafunctions)包括两类,一类是Altera专有的 宏功能,以ALT开头进行标注,另一类则是参数化的模块库。,何时应用宏功能块,对于一些简单的功能模块,如加/

6、减、简单的多路器等,通 常建议使用通用的HDL来描述,这样的逻辑功能用HDL描述起来 非常简洁,而且综合工具可以把这些基本功能放在整个设计中 进行优化,使得系统达到最优。如果使用altera的基本宏功能,由于综合工具的算法无法对宏功能模块进行优化操作,反而会影响设计的结构;而对一些相对比较复杂的设计,例如,一个同步可载入的计数器,使用altera的基本宏功能会得到较好的结果。 另外,在设计代码中过多地使用基本宏功能,也会降低代码的可移植性。 使用基本宏功能设计方法不一定总给设计带来显著的性能提升和面积节省,需自己实践。,二、Altera的IP与AMPP IP(Megacore) Altera除

7、提供基本的宏功能外,还提供功能复杂的功能模块,如PCI接口、DDRSRAM等等。 大致分为四类:,三 AMPPIP核,AMPPIP核是第三方及Altera合作伙伴向Altera用户提供的基 于Altera器件优化的IP核。所有AMPPIP核具有统一的界面,用 来定制、生成IP文件。,Altera的IP工具MegaWizard管理器,MegaWizard管理器可以帮助用户建立或修改包含自定义宏功能 模块变量的设计文件,而后可以在用户自己的设计文件中对这 些IP模块文件实例化。通常这些自定义宏功能模块变量基于 Altera提供的基本宏功能、MegaCore以及AMPPIP核。通过运 行向导,Meg

8、aWizard管理器能帮助用户方便的为自定义宏功能 模块变量指定选项,产生所需功能。缺省状态下,MegaWizard输出HDL封装文件,同时还提供 HDL实例化模块、VHDL元件声明(CMP)、QuartusII符号 (BSF)及Verilog黑盒子等不同选择。,1.下载所要MegaCore的安装程序并安装 2.通过MegaWizard的界面打开IP核的统一界面IP Toolbench 3.根据用户的需要订制要生成IP的参数 4.产生IP的封装和网表文件,以及功能仿真模型; 5.用户对IP的RTL仿真模型做功能方针 6.用户把IP的封装文件和网表文件放在设计工程中,并实现设计 7.如果IP支持

9、OpenCorePlus,用户可以把设计下载到器件中做验证和调试 8.如果确认IP使用没有问题,既可以向Altera或第三方IP供应商购买许可证,一般的开发步骤,4.2 使用Altera的基本宏功能,1 通过Megawizard 管理器定制基本宏功能参数,生成一个封装文件,然后在设计代码中调用该封装文件 2 用户可以在设计代码中对宏功能模块直接进行参数化调用 3 Quartus 集成的综合器或第三方综合器可以根据代码中的HDL语言描述,自动推断出一些基本宏功能,如计数器、乘法器和RAM等,一 定制基本宏功能,方法: 1 运行管理器 TOOLS/Megawizard Plug-in Wizard

10、命令 2 在原理图编辑页面双击空白处,从快捷菜单中选择insert/symbol命令,然后从弹出的窗口中选TOOLS/Megawizard Plug-in maneger即可 3 选择开始/运行命令,输入qmegawiz命令,例 FIFO,1 调用MegaWizard 管理器 Tools MegaWizard Plug-In Manager,2 宏功能模块选择,3 FIFO参数设置,4 仿真库选择,5 输出文件选择,MegaWizard输出的文件类型, .bsf : Block Editor中使用的宏功能模块的符号(元件) .cmp : 组件申明文件。 .inc : 宏功能模块包装文件中模块的

11、AHDL包含文件。 .tdf : 要在AHDL设计中实例化的宏功能模块包装文件。 .vhd : 要在VHDL设计中实例化的宏功能模块包装文件。 .v :要在VerilogHDL设计中实例化的宏功能模块包装文件 _bb.v :VerilogHDL设计所用宏功能模块包装文件中模块的空体或black-box申明,用于在使用EDA 综合工具时指定端口方向。 _inst.tdf : 宏功能模块包装文件中子设计的AHDL例化示例 _inst.vhd : 宏功能模块包装文件中实体的VHDL例化示例。 _inst.v : 宏功能模块包装文件中模块的VerilogHDL例化示例。,4.3 实现基本宏功能,步骤:

12、 1 建立一个Project 2使用MegaWizard管理器定制宏功能模块 3 在设计中实例化定制的宏功能模块 4 继续完成设计的其它部分 5对设计进行RTL功能仿真 6 逻辑综合 7布局布线 8时序分析。,设计代码中例化,例化代码分为两部分:端口映射和参数映射。以下面一个lpm_counter为例 端口映射部分: lpm_counterlpm_counter_component ( .clock (clock), .q (q), .aclr (1b0), .aload (1b0), .aset (1b0),.cin (1b1),.clk_en (1b1), .cnt_en (1b1),.c

13、out (),.data (81b0),.eq (),.sclr (1b0), .sload (1b0),.sset (1b0),.updown (1b1);,参数映射部分: defparam lpm_counter_component.lpm_direction = UP, lpm_counter_component.lpm_port_updown = PORT_UNUSED, lpm_counter_component.lpm_type = LPM_COUNTER, lpm_counter_component.lpm_width = 8;,代码中直接例化的好处,在HDL代码中直接例化Meg

14、afunction的好处有以下两点: 1. 可以在代码中直接修改配置参数和端口使用情况。不需要每次修改参数都启动MegaWizard Plug-in Manager。 2. 由于在代码中直接例化源Megafunction模块,不需要在包含文件列表中包括MegaWizard Plug-in Manager生成的文件。工程文件列表简明清晰。 从上面的代码可以看出,Megafunction的端口和参数都是很复杂的,很难全凭记忆完整的列出;对于一些比较特殊的参数内容(比如string类型的参数),如果不熟悉的话,很容易写错甚至不知道该写哪些内容。 解决这一问题的方法是,先采用MegaWizard Pl

15、ug-in Manager生成用户订制Megafunction文件,然后参考该文件例化和配置Megafunction的方法,在自己的设计文件中直接例化Megafunction。,专用硬件资源的使用,锁相环是芯片中最常用的时钟产生形式,可以对参 考晶振信号进行分频、倍频、占空比调整、相位调 整等操作,精确地产生所预期的时钟信号。锁相环 集成方便,频率精度高。随着系统复杂度的不断提高,内部逻辑实现时往 往需要多个频率和相位的时钟,因此在FPGA内部 出现了时钟管理单元,而最具有代表性的即为锁相 环(PLL)和延迟锁定环(DLL)Altera在FPGA芯片中内嵌模拟锁相环(PLL),PLL 通过反馈

16、路径消除时钟分布路径的延时,可以用作 频率综合(如:分频、倍频)、去抖动、调整占空比及移相等。,PLL,在FPGA中,片内存储器是十分重要的资源。利用 片内存储器,可以在FPGA中实现RAM、ROM、 CAM等存储单元。存储单元的设计有其自身的规 律和特点: RAM是根据地址读、写数据的存储单元; 在FPGA中没有专用的ROM硬件资源,实现ROM 的方法是:对RAM赋初值,并保持该初值; CAM和RAM恰恰相反,它返回的是与端口数据相 匹配的内部地址。CAM的应用非常广泛,如在路 由器中的地址表等。,片内存储器,有三类:块RAM、查找表、寄存器。 块RAM是FPGA中内嵌的存储单元,可以配置为

17、单口/双 口RAM、ROM、CAM及FIFO等。绝大多数FPGA都是 基于触发器(FF)和查找表(LUT)结构的,这两种基 本资源都可以综合为RAM等存储单元。相对较小、速 度较高的存储结构可以用寄存器资源实现;相对大一些, 时序余量宽松的存储单元可以用LUT实现。目前很多综合工具支持类推RAM、ROM、CAM等存储单元使用块RAM、寄存器或LUT资源。,FPGA中与存储单元相关的资源,直接在HDL代码中描述:直接用HDL代码描述存储单元的模型,而后由综合器综合类推。其缺点在于综合结果不确定,或者需要直接调用器件商提供的与这些存储单元相关的硬件原语。 使用综合约束属性指导综合器类推RAM等存储

18、单元,这要求设计者必须熟悉器件结构和综合软件的约束属性。 使用EDA软件提供的IPCore实现,该方法简单、高效,推荐采用。,存储单元的三种基本生成方法:,有三种:M512:每块容量为512bit;M4K:每块容 量为4kbit;MRAM:每块容量为512kbit。Altera 片内块RAM的端口方式:单端口RAM:一个端口 进行读写操作;简单双端口RAM:两个端口,一个 只读,一个只写;真正双端口RAM:两个端口,均 可读写;多端口RAM,比如一个端口写,两个端口 读等;FIFO:先进先出队列;ROM:只读存储器; 移位寄存器等。在AlteraQuartusII中,要实现单端口、双端口等RAM,需要在MegaWizard中的Storage部分选择ALTSYNCRAM的Megafunction功能块。要使用RAM实现移位寄存器,则需在MegaWizard中调ALTSHIFTTAPS,AlteraFPGA中的块RAM,随着数据接口速度和带宽的不断提

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论