ZYNQ-什么是IP核

IP核(Intellectual Property core)知识产权核或知识产权模块。
IP定义为“用于ASIC或FPGA中的预先设计好的电路功能模块”。

概述

IP(知识产权)核将一些在数字电路中常用,但比较复杂的功能块,如FIR滤波器、SDRAM控制器、PCI接口等设计成可修改参数的模块。随着CPLD/FPGA的规模越来越大,设计越来越复杂(IC的复杂度以每年55%的速率递增,而设计能力每年仅提高21%),设计者的主要任务是在规定的时间周期内完成复杂的设计。调用IP核能避免重复劳动,大大减轻工程师的负担,因此使用IP核是一个发展趋势,IP核的重用大大缩短了产品上市时间。

分类

IP核有三种不同的存在形式:HDL语言形式,网表形式、版图形式。分别对应我们常说的三类IP内核:软核、固核和硬核。
软核
软核是用VHDL等硬件描述语言描述的功能块,但是并不涉及用什么具体电路元件实现这些功能。软IP通常是以硬件描述语言HDL源文件的形式出现,应用开发过程与普通的HDL设计也十分相似,只是所需的开发硬软件环境比较昂贵。软IP的设计周期短,设计投入少。由于不涉及物理实现,为后续设计留有很大的发挥空间,增大了IP的灵活性和适应性。其主要缺点是在一定程度上使后续工序无法适应整体设计,从而需要一定程度的软IP修正,在性能上也不可能获得全面的优化。由于软核是以源代码的形式提供,尽管源代码可以采用加密方法,但其知识产权保护问题不容忽视。
硬核
硬核提供设计阶段最终阶段产品:掩膜。以经过完全的布局布线的网表形式提供,这种硬核既具有可预见性,同时还可以针对特定工艺或购买商进行功耗和尺寸上的优化。尽管硬核由于缺乏灵活性而可移植性差,但由于无须提供寄存器转移级(RTL)文件,因而更易于实现IP保护即产权保护。
固核
固核则是软核和硬核的折衷。大多数应用于FPGA的IP内核均为软核,软核有助于用户调节参数并增强可复用性。软核通常以加密形式提供,这样实际的 RTL对用户是不可见的,但布局和布线灵活。在这些加密的软核中,如果对内核进行了参数化,那么用户就可通过头文件或图形用户接口(GUI)方便地对参数进行操作。对于那些对时序要求严格的内核(如PCI接口内核),可预布线特定信号或分配特定的布线资源,以满足时序要求。这些内核可归类为固核,由于内核是预先设计的代码模块,因此这有可能影响包含该内核的整体设计。由于内核的建立(setup)、保持时间和握手信号都可能是固定的,因此其它电路的设计时都必须考虑与该内核进行正确地接口。如果内核具有固定布局或部分固定的布局,那么这还将影响其它电路的布局。

总结

IP核的存在是为了减少不必要的重复劳动,加快开发速度。类比单片机中的驱动函数,在每次需要的时候只需调用它然后配置参数即可,不用每次都重新编写。
比如在HMDI输入输出实验中,ZYNQ对HDMI视频的解码有两种方式
外部解码(PS)
相当于硬解码,可以使用ADI公司的ADV7511和ADV7611实现发送和接收。
内部解码(PL)
即软解码,需要PL端添加软IP核来代替硬件进行视频解码。需要的IP核有
ZYNQ-7000,VDMA(AXI Vide Direct Memory Access),Video Timing Controller,Viedo out以及自定义IP等。
添加完IP核就如同找来了所需的原材料,后续对每个IP核进行配置,连接,各自完成自己的功能,共同实现视频解码。
关于IP核的配置,仅仅是为了形成相关的(虚拟)电路,然后在SDK中对各IP进行驱动和调用,实现最终的功能。

你可能感兴趣的:(ZYNQ,笔记)