《Altera的IP工具》PPT课件.ppt_第1页
《Altera的IP工具》PPT课件.ppt_第2页
《Altera的IP工具》PPT课件.ppt_第3页
《Altera的IP工具》PPT课件.ppt_第4页
《Altera的IP工具》PPT课件.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

第四章Altera的IP工具 主要内容 1IP的概念 Altera的IP2使用Altera的基本宏功能3使用Altera的IP核 4 1IP核的概念 IP IntelligentProperty 核是具有知识产权核的集成电路芯核总称 是经过反复验证过的 具有特定功能的模块 与芯片制造工艺无关 可以移植到不同的半导体工艺中 如FIR滤波器 SDRAM控制器 PCI接口设计做成一个 黑盒 或者是可修改参数的模块 供使用 从IP核的提供方式上 通常将其分为软核 固核和硬核这3类 从完成IP核所花费的成本来讲 硬核代价最大 从使用灵活性来讲 软核的可复用使用性最高 软核在EDA设计领域指的是综合之前的寄存器传输级 RTL 模型 具体在FPGA设计中指的是对电路的硬件语言描述 包括逻辑描述 表和帮助文档等 软核只经过功能仿真 需要经过综合以及布局布线才能使用 其优点是灵活性高 可移植性强 允许自配置 缺点是对模块的预测性 在后续设计中存在发生错误的可能性 有一定的设计风险 软核是IP核应用最广泛的形式 软核 固核在EDA设计领域指的是带有平面规划信息的网表 具体在FPGA设计中可以看做带有布局规划的软核 通常以RTL代码和对应具体工艺网表的混合形式提供 将RTL描述结合具体标准单元库进行综合优化设计 形成门级网表 再通过布局布线工具即可使用 和软核相比 固核的设计灵活性稍差 但在可靠性上有较大提高 目前 固核也是IP核的主流形式之一 固核 硬核在EDA设计领域指经过验证的设计版图 具体在FPGA设计中指布局和工艺固定 经过前端和后端验证的设计 设计人员不能对其修改 不能修改的原因有两个 首先是系统设计对各个模块的时序要求很严格 不允许打乱已有的物理版图 其次是保护知识产权的要求 不允许设计人员对其有任何改动 IP硬核的不许修改特点使其复用有一定的困难 因此只能用于某些特定应用 使用范围较窄 硬核 功能模块 AMPP是ALTERA宏功能模块 IP内核开发伙伴的组织 通过这个联盟 AMPP的所有厂商提供基于ALTERA器件优化的宏功能模块 IP内核 Altera和第三方IP合作伙伴提供的可用功能模块 基本宏功能 megafunctions LPM Megacore AMPPIP核 是复杂或高级构建模块 可以在QuartusII设计文件中与门和触发器基本单元一起使用 这些模块的功能一般都是通用的 比如counter FIFO RAM等altera提供的可参数化LPM宏功能模块和LPM函数均为altera器件结构做了优化 而且必须使用宏功能模块才可以使用一些altera特定器件的功能 宏功能模块 IP知识产权模块是某一领域内的实现某一算法或功能的参数化模块 这些功能由Altera和AMPP开发 专门针对Altera特定器件经严格的测试和优化 可以使用这些知识产权的参数化块减少设计和测试时间 一般需要用户购买才能使用 这些宏功能模块包括应用于通信 数字信号处理 DSP PCI和其它总线接口以及存储器控制器中的宏功能模块 IP知识产权模块 4 2Altera提供的IP核 一 基本宏功能 Megafunction LPM 基本宏功能 Megafunctions 包括两类 一类是Altera专有的宏功能 以ALT开头进行标注 另一类则是参数化的模块库 何时应用宏功能块 对于一些简单的功能模块 如加 减 简单的多路器等 通常建议使用通用的HDL来描述 这样的逻辑功能用HDL描述起来非常简洁 而且综合工具可以把这些基本功能放在整个设计中进行优化 使得系统达到最优 如果使用altera的基本宏功能 由于综合工具的算法无法对宏功能模块进行优化操作 反而会影响设计的结构 而对一些相对比较复杂的设计 例如 一个同步可载入的计数器 使用altera的基本宏功能会得到较好的结果 另外 在设计代码中过多地使用基本宏功能 也会降低代码的可移植性 使用基本宏功能设计方法不一定总给设计带来显著的性能提升和面积节省 需自己实践 二 Altera的IP与AMPPIP Megacore Altera除提供基本的宏功能外 还提供功能复杂的功能模块 如PCI接口 DDRSRAM等等 大致分为四类 三AMPPIP核 AMPPIP核是第三方及Altera合作伙伴向Altera用户提供的基于Altera器件优化的IP核 所有AMPPIP核具有统一的界面 用来定制 生成IP文件 Altera的IP工具 MegaWizard管理器 MegaWizard管理器可以帮助用户建立或修改包含自定义宏功能模块变量的设计文件 而后可以在用户自己的设计文件中对这些IP模块文件实例化 通常这些自定义宏功能模块变量基于Altera提供的基本宏功能 MegaCore以及AMPPIP核 通过运行向导 MegaWizard管理器能帮助用户方便的为自定义宏功能模块变量指定选项 产生所需功能 缺省状态下 MegaWizard输出HDL封装文件 同时还提供HDL实例化模块 VHDL元件声明 CMP QuartusII符号 BSF 及Verilog黑盒子等不同选择 1 下载所要MegaCore的安装程序并安装2 通过MegaWizard的界面打开IP核的统一界面IPToolbench3 根据用户的需要订制要生成IP的参数4 产生IP的封装和网表文件 以及功能仿真模型 5 用户对IP的RTL仿真模型做功能方针6 用户把IP的封装文件和网表文件放在设计工程中 并实现设计7 如果IP支持OpenCorePlus 用户可以把设计下载到器件中做验证和调试8 如果确认IP使用没有问题 既可以向Altera或第三方IP供应商购买许可证 一般的开发步骤 4 2使用Altera的基本宏功能 1通过Megawizard管理器定制基本宏功能参数 生成一个封装文件 然后在设计代码中调用该封装文件2用户可以在设计代码中对宏功能模块直接进行参数化调用3Quartus集成的综合器或第三方综合器可以根据代码中的HDL语言描述 自动推断出一些基本宏功能 如计数器 乘法器和RAM等 一定制基本宏功能 方法 1运行管理器TOOLS MegawizardPlug inWizard命令2在原理图编辑页面双击空白处 从快捷菜单中选择insert symbol命令 然后从弹出的窗口中选TOOLS MegawizardPlug inmaneger即可3选择开始 运行命令 输入qmegawiz命令 例FIFO 1调用MegaWizard管理器Tools MegaWizardPlug InManager 2宏功能模块选择 3FIFO参数设置 4仿真库选择 5输出文件选择 MegaWizard输出的文件类型 bsf BlockEditor中使用的宏功能模块的符号 元件 cmp 组件申明文件 inc 宏功能模块包装文件中模块的AHDL包含文件 tdf 要在AHDL设计中实例化的宏功能模块包装文件 vhd 要在VHDL设计中实例化的宏功能模块包装文件 v 要在VerilogHDL设计中实例化的宏功能模块包装文件 bb v VerilogHDL设计所用宏功能模块包装文件中模块的空体或black box申明 用于在使用EDA综合工具时指定端口方向 inst tdf 宏功能模块包装文件中子设计的AHDL例化示例 inst vhd 宏功能模块包装文件中实体的VHDL例化示例 inst v 宏功能模块包装文件中模块的VerilogHDL例化示例 4 3实现基本宏功能 步骤 1建立一个Project2使用MegaWizard管理器定制宏功能模块3在设计中实例化定制的宏功能模块4继续完成设计的其它部分5对设计进行RTL功能仿真6逻辑综合7布局布线8时序分析 设计代码中例化 例化代码分为两部分 端口映射和参数映射 以下面一个lpm counter为例端口映射部分 lpm counterlpm counter component clock clock q q aclr 1 b0 aload 1 b0 aset 1 b0 cin 1 b1 clk en 1 b1 cnt en 1 b1 cout data 8 1 b0 eq sclr 1 b0 sload 1 b0 sset 1 b0 updown 1 b1 参数映射部分 defparamlpm 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代码中直接例化Megafunction的好处有以下两点 1 可以在代码中直接修改配置参数和端口使用情况 不需要每次修改参数都启动MegaWizardPlug inManager 2 由于在代码中直接例化源Megafunction模块 不需要在包含文件列表中包括MegaWizardPlug inManager生成的文件 工程文件列表简明清晰 从上面的代码可以看出 Megafunction的端口和参数都是很复杂的 很难全凭记忆完整的列出 对于一些比较特殊的参数内容 比如string类型的参数 如果不熟悉的话 很容易写错甚至不知道该写哪些内容 解决这一问题的方法是 先采用MegaWizardPlug inManager生成用户订制Megafunction文件 然后参考该文件例化和配置Megafunction的方法 在自己的设计文件中直接例化Megafunction 专用硬件资源的使用 锁相环是芯片中最常用的时钟产生形式 可以对参考晶振信号进行分频 倍频 占空比调整 相位调整等操作 精确地产生所预期的时钟信号 锁相环集成方便 频率精度高 随着系统复杂度的不断提高 内部逻辑实现时往往需要多个频率和相位的时钟 因此在FPGA内部出现了时钟管理单元 而最具有代表性的即为锁相环 PLL 和延迟锁定环 DLL Altera在FPGA芯片中内嵌模拟锁相环 PLL PLL通过反馈路径消除时钟分布路径的延时 可以用作频率综合 如 分频 倍频 去抖动 调整占空比及移相等 PLL 在FPGA中 片内存储器是十分重要的资源 利用片内存储器 可以在FPGA中实现RAM ROM CAM等存储单元 存储单元的设计有其自身的规律和特点 RAM是根据地址读 写数据的存储单元 在FPGA中没有专用的ROM硬件资源 实现ROM的方法是 对RAM赋初值 并保持该初值 CAM和RAM恰恰相反 它返回的是与端口数据相匹配的内部地址 CAM的应用非常广泛 如在路由器中的地址表等 片内存储器 有三类 块RAM 查找表 寄存器 块RAM是FPGA中内嵌的存储单元 可以配置为单口 双口RAM ROM CAM及FIFO等 绝大多数FPGA都是基于触发器 FF 和查找表 LUT 结构的 这两种基本资源都可以综合为RAM等存储单元 相对较小 速度较高的存储结构可以用寄存器资源实现 相对大一些 时序余量宽松的存储单元可以用LUT实现 目前很多综合工具支持类推RAM ROM CAM等存储单元使用块RAM 寄存器或LUT资源 FPGA中与存储单元相关的资源 直接在HDL代码中描述 直接用HDL代码描述存储单元的模型 而后由综合器综合类推 其缺点在于综合结果不确定 或者需要直接调用器件商提供的与这些存储单元相关的硬件原语 使用综合约束属性指导综合器类推RAM等存储单元 这要求设计者必须熟悉器件结构和综合软件的约束属性 使用EDA软件提供的IPCore实现 该方法简单 高效 推荐采用 存储单元的三种基本生成方法 有三种 M512 每块容量为512bit M4K 每块容量为4kbit M RAM 每块容量为512kbit Altera片内块RAM的端口方式 单端口RAM 一个端口进行读写操作 简单双端口RAM 两个端口 一个只读 一个只写 真正双端口RAM 两个端口 均可读写 多端口RAM 比如一个端口写 两个端口读等 FIFO 先进先出队列 ROM 只读存储器 移位寄存器等 在AlteraQuartusII中 要实现单端口 双端口等RAM 需要在MegaWizard中的Storage部分选择ALTSYNCRAM的Megafunction功能块 要使用RAM实现移位寄存器 则需在MegaWizard中调ALTSHIFTTAPS AlteraFPGA中的块RAM 随着数据接口速度和带宽的不断提高 许多接口逐渐摒弃了传统的LVTTL LVCMOS电平 转而采用一些速度更高 抗干扰性能更好的差分接口电平 如图8所示 如LVDS HyperTransport等 从而减少PCB走线 提高传输带宽 在实际设计中 要实现LVDS发送器和接收器 只需在MegaWizard中调用ALTLVDS并进行定制即可 高速差分接口 FPGA中的DSP资源 包括 硬件乘法器 乘加器及专用的DSP逻辑片 利用这些资源 系统设计者可将精力集中在设计上 而无须关心底层模块的细节 FPGA可以生成定制硬件设计 从而控制逻辑在硬件中的实现 通过裁减硬件架构 FPGA可以提供额外的性能 当速度是最重要的考量因素时 可以在FPGA中设计完全并行的算法处理方案 以资源换取速

温馨提示

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

评论

0/150

提交评论