数例型变量:基础篇:第四章 altera 的IP工具

来源:百度文库 编辑:中财网 时间:2024/04/28 22:53:45

第四章 altera的IP工具


altera的IP核的安装文件可以在www.altera.com网站上免费下载到。


注:在定制从网上下载的IP功能模块时,需要制定IP库的位置,否则megawizard管理器中不会出现用户安装的IP库。在Quartus II中运行【assignments】/【setting】命令,在打开的【setting】窗口中切换到【user libraries】,可添加IP库。


IP(intellectual property)就是常说的知识产权。


随着FPGA/CPLD的规模越来越大,设计越来越复杂,使用IP核是一个发展趋势。


根据实现的不同,IP可以分为软IP、固IP、硬IP。


. 软IP:用硬件描述语言(HDL)形式描述功能块的行为,但并不涉及用什么电路和电路元件实现这些行为。软IP的开发过程与应用软件的开发过程类似,只是所需的开发软、硬件环境要求较高,尤其是EDA工具软件价格很昂贵。软IP是设计周期短、设计投入少,由于不涉及物理实现,为后续设计留有很大的发挥空间,增大了IP的灵活性和适用性。缺点是设计中会有一定比例的后续工序无法适应软IP设计,从而造成一定程度的软IP修改。


.固IP:完成了综合的功能块,有较大的设计深度,以网表形式提交客户使用。


.硬IP:提供设计的最终阶段产品---掩膜(mask)。随着设计深度的提高,后续工序所需要做的事情就越少,灵活性也就降低。


 


         altera及第三方IP合作伙伴给客户提供了许多可用的功能模块,可分为两类:免费的LPM宏功能模块(megafunctions /LPM)和需要授权使用的IP知识产权(megacore)。


          LPM宏功能模块:是一些复杂或高级的构建模块,可以在Quartus II设计文件中和门、触发器等基本单元一起使用,这些模块的功能一般都是通用的,比如counter、FIFO、RAM等。altera提供的可参数化LPM宏功能模块和LPM函数均为altera器件结构做了优化,而且必须使用宏功能模块才可以使用一些altera特定器件的功能,例如存储器、DSP块、LVDS驱动器、PLL以及SERDES和DDIO电路。


        注:(何时应用宏功能块)对于一些简单的功能模块,如加/减、简单的多路器等,通常建议使用通用的HDL来描述,这样的逻辑功能用HDL描述起来非常简洁,而且综合工具可以把这些基本功能放在整个设计中进行优化,使得系统达到最优。如果使用altera的基本宏功能,由于综合工具的算法无法对宏功能模块进行优化操作,反而会影响设计的结构;而对一些相对比较复杂的设计,例如,一个同步可载入的计数器,使用altera的基本宏功能会得到较好的结果。


     另外,在设计代码中过多地使用基本宏功能,也会降低代码的可移植性。


     使用基本宏功能设计方法不一定总给设计带来显著的性能提升和面积节省,需自己实践。


        IP知识产权:是某一领域内的实现某一算法或功能的参数化模块(简称IP核)。这些模块是由altera以及altera的第三方IP合作伙伴开发的,专门针对altera的可编程逻辑器件进行过优化和测试,一般需要用户付费购买才能使用。可在altera网站下载后进行使用和评估,满意后再购买license。都是以加密网表(netlist)的形式交给客户,即固IP,同时配以一定的约束文件,例如逻辑位置、管脚、以及I/O电平的约束。


      绝大部分IP核支持opencoreplus,也就是说用户可以免费在实际器件中验证所用的IP核(用户必须把所用器件通过JTAG电缆连到PC机上,否则IP核电路不会工作)。


     如果用户使用第三方综合工具进行逻辑综合,需要在设计中加入 xxx_bb.v。


    altera中只需把MegaWizard生成的封装文件 xxx.v加入当前工程中即可;但xilinx的coregen在产生一基本功能块的同时,会产生一个.edn网表,在布局布线时,需要将这个.edn网表加入,工具将其融合到整个设计的大网表中