IP核是FPGA开发者的老朋友了,可以这么说,只要是做FPGA开发的,都会利用FPGA的IP核进行开发设计,这不像IC设计,什么都要自己设计,使用IP可以加快产生开发进程。
下面摘自《FPGA之道》对IP核的描述,来理解IP核相关的简单内容。

IP核概述

随着FPGA的集成度越来越高,规模越来越大,设计越来越复杂,IC行业的竞争也越来越激烈,产品的交付周期越来越短,这与人类有限的设计能力形成了巨大矛盾。如果FPGA设计还是全部由设计者从最底层的代码写起,那么必然不能在越来越苛刻的开发周期内完成相关项目。而IP核的出现,解决了这个问题。IP核是一段具有特定电路功能的硬件描述语言程序,该程序通常与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。由于IP核将一些在数字电路中常用,但比较复杂的功能块设计成可修改参数的模块,因此FPGA的设计人员可以通过调用相关IP核来完成所需逻辑功能,从而节省了大量的开发时间。调用IP核能避免重复劳动,大大减轻设计人员的负担,因此使用IP核必然成为将来FPGA设计的一个发展趋势。
IP代表知识产权,从它的名字我们就能猜到IP核应该不是可以随便使用的。事实上,大部分IP核都是需要付费的,例如RS编码器、FIR滤波器、SDRAM控制器、PCI接口等。不过仍有很多免费的IP核资源,这其中最主要的就是每个FPGA厂商都会为自己的软件集成开发环境提供一些比较基本的免费的IP核来增加自家产品的行业竞争力。例如最最常用的FIFO模块、PLL模块等等。对于我们平常的设计来说,利用好这些免费的IP核就能达到事半功倍的效果。
按IP核的硬件描述级实现程度,可将它分为三类:即软核、硬核、固核。

  • IP软核一般指的是用硬件描述语言描述的功能块,它并不涉及用什么具体电路元件实现这些功能,软核的代码直接参与设计的编译流程,就像我们自己编写的HDL代码一样,虽然一般会对软核的RTL代码进行加密,但是其保密性还是比较差。
  • IP硬核是以经过完全的布局布线的网表形式提供,由于不再参与设计的编译流程,因此它的性能具有很强的可预见性,并且保密性好,不过移植性差。
  • IP固核是软核与硬核的一个折中,它只对描述功能中一些比较关键的路径进行预先的布局布线,而其他部分仍然可以任由编译器进行相关优化处理。例如,当你使用IP核生成一个8x8的乘法器时,如果选择使用逻辑资源块来实现的话,那么此时的乘法器IP核就相当于一个软核;如果你选择使用DSP资源来实现的话,那么此时的乘法器IP核就相当于一个硬核;如果你要用DSP资源生成一个36x36的乘法器时,那么FPGA恐怕需要若干DSP资源来实现,这时候,每个DSP核的布局布线是固定的,但是到底选择那几个DSP资源来实现是可以由编译器来决定的,因此此时的乘法器IP核就相当于一个固核。

嵌入式微处理器概述

嵌入式微处理器是一类比较特殊的IP核,通过在FPGA中实现微处理器的逻辑功能,就可以为嵌入式软件设计者提供在FPGA上大展拳脚的平台。这类IP核的引入,极大的变革和拓宽了FPGA的开发方法,它通过调用FPGA内部的资源实现一个行为和相应微处理芯片类似的功能模块,从而可以像开发单片机、ARM、DSP等芯片上的程序一样,让FPGA具有执行相应汇编或嵌入式C语言指令的功能。这样可以让FPGA集串行复杂处理能力与并行简单处理能力于一体,从而使单片FPGA可以实现SOPC的架构。
目前来说,Altera公司花了很大精力致力于开发专门针对其FPGA芯片产品的嵌入式微处理器IP核,从2000年初的NIOS,到现在的NIOS II,都是十分经典的版本。Xilinx主要致力于将Power PC转换为IP核移植到自己的FPGA产品中。而Atmel由于具有很强的微处理器开发能力,则直接在自己的FPGA产品中嵌入一个AVR单片机,这就是一个彻头彻尾的IP硬核。除此以外,只要经过适当的修改,我们几乎可以将任何微处理器搬入到FPGA的芯片中,甚至我们还可以在FPGA中创造出目前世界上没有的虚拟微处理器。总之,这就是FPGA变化无穷的魅力所在。

弟中弟级,基于Vivado的 IP核 封装 以及仿真调用, FPGA 入门小玩 IP核 :知识产权核,指某一方提供的、形式为逻辑单元的可重用模块。 IP核 通常已经通过了设计验证,设计人员以 IP核 为基础进行设计,可以缩短设计所需要的周期。 上面一段为形式主义的解释,按照我等弟弟级别的 FPGA 玩家,理解就是可以将一段代码 封装 起来,功能告知与你,但是代码却可以让你看不见。举个简单例子,板子上的200M时钟不是我想要的... 7系列 FPGA DDR接口解决方案如图1所示。图1、7系列 FPGA DDR3解决方案1.1 用户 FPGA 逻辑(User FPGA Logic)如图1中①所示,用户 FPGA 逻辑块是任何需要连接到外部DDR2或DDR3 SDRAM的 FPGA 设计。用户 FPGA 逻辑通过用户接口连接到内存控制器。1.2 用户接口(User Interface,UI) 无线TEM(电信设备制造商)正受到布署基站架构的压力,这就是用更小体积、更低功耗、更低制造成本来建立,部署和运营。达到此目的的关键策略是从基站中分离出RF接收器和功率放大器,用它们来直接驱动各自的天线。这称为射频拉远技术(RRH)。通过基于SERDES的公共无线接口(CPRI)将基带数据传回到基站。本文主要阐述特定的低延迟变化的设计思想,在低成本 FPGA 上利用嵌入式SERDES收发器和CPRI IP(知识产权)核实现。   RRH的部署   从“Hotel”基站分离射率(RF)收发器和功率放大器的优点已经写得很多了,如图1所示。但引人注目的是RRH在功耗、灵活部署、小的固定体积,以及整个低 封装 带AXI接口的自定义 IP核 为了更方便地使用外部接口驱动或进行系统级的设计时,可以考虑将RTL设计打包制作成自定义的 IP核 ,Vivado会自动生成相关的 IP核 接口;或者为了在ZYNQ中使用AXI总线将硬核与 FPGA 硬件部分互联,可以将 FPGA 部分的RTL设计打包成自定义 IP核 ,Vivado会自动将生成的 IP核 的接口制作好,使用图形化界面就能快速实现SoC设计。特别地,可以使用这种方法在硬核外挂载软核 在Vivado的设计思想中,一个 IP核 就相当于一个函数,可以通过重用 IP核 做到模块化设计的效果 IP核 ,全称知识产权核(英語:Semiconductor intellectual property core),是在集成电路的可重用设计方法学中,指某一方提供的、形式为逻辑单元、芯片设计的可重用模組。 IP 核可以授权给另一方,也可以由一方拥有和使用。 该术语来自设计中存在的专利或源代码版权的许可。 专用集成电路和现场可编程门阵列逻辑系统的设计人员可以使用 IP 核作为构建块。 感慨于各大论坛里关于vivado的一些冷门功能使用技巧十分匮乏,我决定慢慢更新一些自己经历项目实战后的使用心得,仅作抛砖引玉。 第一篇来 介绍 下开发完毕后以 IP核 形式打包工程文件的一些操作。 可能很多人是以纯verilog代码+ IP核 xci文件的形式开发的,这样移植起来确实算是很方便,但是一旦这个工程文件离开你的电脑,你经常会遇到一些问题: 1、大多数情况下是某些文件缺失,只要在add source里重新添加即可。 2、verilog顶层文件调用的子 IP核 被锁住,右键upgrade后可以解锁,IP恢复 在芯片行业,人们经常用到IP这个词,例如IP开发、IP交易、IP复用、IP厂商、IP提供商等。行外人对此词可能觉得不明觉厉,不知所云。他们也许以为是说IP卡,也或者以为是互联网技术中所说的IP地址,其实都不是。本文就专门科普一下,说说芯片行业中IP到底是个什么东西。 一种是免费的IP,不需要另外的license,就是所谓的Basic Function的IP,例如浮点运算、普通运算、三角函数、基本的存储器IP、配置功能IP、PLL、所有的桥以及所有的 FPGA 内部的硬核以及NIOS II(不含源码)等等。 另外一种是收费IP,需要购买单独的IP的license,例如各种以太网软IP、PCI-E软IP、CPRI、Interlaken、PCI、RapidIO和所有的几十个视频图像IP以及所有的DDR1/2/3/4软IP、256位AES硬件加密等 一、基本概念 IP(Intellectual Property)即知识产权。美国 Dataquest 咨询公司将半导体产业的 IP 定义为“用于 ASIC 或 FPGA 中的预先设计好的电路功能模块”。简而言之,这里的 IP 即电路功能模块。 IP核 在数字电路中常用于将比较复杂的功能模块(如 FIFIO、RAM、FIR滤波器、SDRAM控制器、PCIE接口等)设计成参数可修改的模块,让其他用户可以直接调用这些模块。 使用 IP核 的优点:提高开发效率、减少设计...