FPGA中IP核的生成北京理工大学雷达技术研究所陈禾本节内容|IP核的概念和分类|IP的调用IP设计技术概述|IP的含义与分类zIP(IntellectualProperty)即知识产权。在集成电路设计中,IP指可以重复使用的具有自主知识产权功能的集成电路设计模块。基于IP的SoC设计具有易于增加新功能和缩短上市时间的显著特点,是IC设计当前乃至今后若干年的主流设计方式。z按照设计层次的不同,IP核可以分为三种:软核(SoftCore)、固核(FirmCore)和硬核(HardCore)。IP设计技术概述|IP技术是针对可复用的设计而言的,其本质特征是功能模块的可复用性。|IP通常满足以下基本特征:z通用性好z正确性有100%的保证z可移植性好。|IP核设计的理想目标是即插即用,但就目前来看,离这个目标还很远。基于标准片上总线(OCB),具有标准接口是IP发展的方向。软核(SoftCore)|软核只完成RTL级的行为设计,以HDL的方式提交使用。该HDL描述在逻辑设计上做了一定优化,必须经过仿真验证,使用者可以用它综合出正确的门级网表。|软核不依赖于实现工艺或实现技术,不受实现条件的限制,具有很大的灵活性和可复用性。|软核为后续设计留有比较大的空间,使用者可以通过修改源码,完成更具新意的结构设计,生成具有自主版权的新软核。|由于软核的载体HDL与实现工艺无关,使用者要负责从描述到版图转换的全过程,模块的可预测性低,设计风险大,使用者在后续设计中仍有发生差错的可能,这是软核最主要的缺点。固核(FirmCore)|固核比软核有更大的设计深度,己完成了门级综合、时序仿真并经过硬件验证,以门级网表的形式提交使用。|只要用户提供相同的单元库时序参数,一般就可以正确完成物理设计。|固核的缺点是它与实现工艺的相关性和网表的难读性。前者限制了固核的使用范围,后者则使得布局布线后发生的时序问题难以排除。硬核(HardCore)|硬核以IC版图的形式提交,并经过实际工艺流片验证。|显然,硬核强烈地依赖于某一个特定的实现工艺,而且对具体的物理尺寸,物理形态及性能上具有不可更改性。|硬核是IP核的最高形式,同时也是最主要的形式。国际上对硬核的开发和应用都非常重视,特别是近几年来发展迅速。IP设计与复用|高效、基于模块的设计方法需要可重用模块和核组成的库的支持。|可重用设计方法学基于的主要原则有:z核必须易于集成到整个芯片的设计中;z核必须足够强壮,允许集成者对核内部进行必要的非功能性验证。IP设计与复用(续)|从应用范围和可重用性方面考虑,优秀的IP核应具备以下四个特点:z具有可配置性,以满足不同设计的需要;z标准接口;z遵守设计规则,可确保IP核时序收敛,功能正确;z交付的数据、资料完整,便于芯片集成。IP设计与复用(续)|IP设计与复用对基于FPGA的嵌入式系统设计,具有举足轻重的地位。|随着FPGA逻辑门密度的不断提高和设计工具软件的不断加强与优化,FPGA能够实现越来越多的功能。|目前,已经能够将RISC处理器内核、DSP模块等诸多IP核嵌入到FPGA中。IP设计与复用(续)|目前,各大可编程逻辑器件供应商均提供了一些IPCore的参考设计或商业化的IPCore产品,还有很多第三方公司专门从事IPCore产品的开发和销售。|在FPGA中嵌入IP往往要受到FPGA供应商的限制,高性能IP价格也比较昂贵。在更多的场合下,是以硬件描述语言的形式设计满足应用需求的软IP,综合后在FPGA中布局布线来实现。Xilinx中IP核及其调用|Xilinx中的Cores使用Cores的好处Xilinx中Cores的类型LogiCORE的解决方案AlianceCORE的解决方案举例COREGeneratorSystem调用COREGeneratorSystemCORE定制窗口性能介绍COREGenerator设计流程|原理图输入设计流程COREGenerator设计流程|HDL设计流程COREGenerator设计流程COREGenerator设计流程|IP设计流程zIP设计zIP验证。|IP设计流程一般可划分为设计规范定义、行为建模与仿真、IP总体设计与子模块划分、IP子模块设计、IP模块集成、IP打包提交等阶段。IP验证在设计规范建立之后与IP设计流程在多个层次上并行进行。IP设计规范建立建立行为模型行为模型验证IP总体设计与子模块划分定义子模块设计规范建立子模块详细设计方案建立时间约束文件编写RTL代码代码规范性检查建立测试环境综合优化仿真测试子模块生成IP核设计流程IP子模块集成IP综合、验证与实现IP打包提交IP设计流程IP设计流程(续)|把IP模块开发流程分为几个主要阶段描述并不意味着IP模块的设计就是纯粹的、自上而下的设计过程。|相反,在真实的IP开发流程中,这些主要过程是互相影响的,在IP开发完成之前,上面提到的任何一个过程都不会彻底结束。比如模块划分的定义有可能在子模块实现时重新修正。|当然,应该追求的是这种设计反复过程要尽可能少。IP核标准|IP供应商的出现和SoC设计方法的普及,极大的促进了IC产业的发展,但伴随IP的推广和使用,出现一些亟待解决的问题:zIP供应商提供怎样的文件zIP使用者如何快速进行修改并使用z如何解决IP的接口标准问题zIP质量的评估zIP核的验证zIP的保护体系IP核标准(续)|在IP标准方面,VSIA制定的有关IP标准最具系统性和全面性。目前,VSIA制定的IP规范和标准,从整体上可以划分为三大类:zIP可复用接口设计标准;zIP可交付使用文档规范/标准;zIP保护文件/标准。这三方面的规范/标准不是孤立的,而是有机地联系在一起,共同构成IP标准体系。思考题|IP核概念和种类|Xilinx中Core的调用方法|IP核设计流程