IP包

IP核(Intellectual Property core)就是知识产权核或知识产权模块的意思,用于配置FPGA或其它硅芯片上的逻辑资源。
引用链接https://blog.csdn.net/u012224606/article/details/60958524

IP(Intelligent Property)核是具有知识产权核的集成电路芯核总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中。到了SOC阶段,IP核设计已经成为ASIC电路设计公司和FPGA提供商的重要任务,也是其实力体现。对于FPGA开发软件,其提供的IP核越丰富,用户的设计就越方便,其市场占用率就越高。
IP(Intellectual Property)就是常说的知识产权。美国Dataquest咨询公司将半导体产业的IP定义为用于ASIC、ASSP和PLD等当中,并且是预先设计好的电路模块。IP核模块有行为(Behavior)、结构(Structure)和物理(Physical)三级不同程度的设计,对应描述功能行为的不同分为三类,即软核(Soft IP Core)、完成结构描述的固核(Firm IP Core)和基于物理描述并经过工艺验证的硬核(Hard IP Core)。
从IP核的提供方式上,通常将其分为软核、固核和硬核三类。从完成IP核所花费的成本来讲,硬核代价最大;从灵活性来讲,软核的可复用使用性最高。
软核(Soft IP Core)
软核在EDA设计领域指的是综合之前的寄存器传输级(RTL)模型;具体在FPGA设计中指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。软核只经过功能仿真,需要经过综合以及布局布线才能使用。其优点是灵活性高、可移植性强,允许用户自配置;缺点是对模块的预测性较低,在后续设计中存在发生错误的可能性,有一定的设计风险。软核是IP核应用最广泛的形式。
固核(Firm IP Core)
固核在EDA设计领域指的是带有平面规划信息的网表;具体在FPGA设计中可以看做带有布局规划的软核,通常以RTL代码和对应具体工艺网表的混合形式提供。将RTL描述结合具体标准单元库进行综合优化设计,形成门级网表,再通过布局布线工具即可使用。和软核相比,固核的设计灵活性较差,但在可靠性上有较大提高。
硬核(Hard IP Core)
硬核在EDA设计领域指经过验证的设计版图;具体在FPGA设计中指布局和工艺固定、经过前段和后端验证的设计,设计人员不能对其修改。不能修改的原因有两个:首先是系统设计对各个模块的时序要求很严格,不允许打乱已有的物理版图;其次是保护知识产权的要求,不允许设计人员对其有任何改动。IP硬核的不许修改特点使其复用有一定的困难,因此只能用于某些特定应用,使用范围较窄。

也有的地方只把IP核划分为软核和硬核,软核指提供源代码或者门电路网表的IP核,硬IP核指经过综合、布局、布线的IP核或者是提供晶体管布局的IP核。

IP核下载网站

opencores
Vivado也自带丰富IP核

创建自己的IP核

有四种常用的创建IP核的方法

  1. HDL硬件描述语言,可以最大化控制外设功能。可以把已有的HDL设计转变为IP包。
  2. System Generator 基于模型做硬件设计。System Generator设计可以被Vivado 的IP Packager打包为IP模块并引入Vivado IP Catalog
  3. HDL Coder 这个工具在MATLAB内运行,可以根据MATLAB函数产生可综合的HDL代码,再生成IP包
  4. Vivado High-Level Synthesis 把C/C++设计转化为RTL设计(VHDL/Verilog/SystemC)

下面是Vivado HLS的设计工作流

Vivado HLS可以输出3种RTL格式IP-XACT、IP-Core、SysGen

  1. IP-XACT 广泛使用的描述IP的模板,与具体工具无关,使用Vivado IP Catalog应选此格式
  2. IP-Core 你的IP会被输出成输入到XPS的格式
  3. SysGen 输出成输入到System Generator设计中的包

另外,当使用HDL设计通过AXI接口通信的IP核时,要严格遵守Xilinx IP Packager的外设信号命名规范。IP核的顶层文件定义了设计接口,列出了总线接口上的默认连接和端口,它还列出了所有的通用变量并指定了默认值。

IP包设计的更多相关文章

  1. [转]为何TCP/IP协议栈设计成沙漏型的

    http://m.blog.csdn.net/blog/dog250/18959371 前几天有人回复我的一篇文章问,为何TCP/IP协议栈设计成沙漏型的.这个问题问得好!我先不谈为何它如此设计,我一 ...

  2. UDP打洞和心跳包设计

    一.设备终端class DeviceClient { int deviceID; int IP; int port; char connectID[16]; time_t lastTime; stru ...

  3. IP包格式

    网络层提供的服务就是在不同网段之间转发数据包. Ip包结构 1,格式(每行4byte*5) 2,版本 V4 V6 3,首部长度 20(固定)+可变长度 ,区分服务 Win2008开始:gpedit. ...

  4. tcpdump使用和TCP/IP包分析

    关于tcpdump如何抓包,本文不再总结,可以查看 tcpdump的官方地址查看http://www.tcpdump.org 本文重点记录两个部分:           第一部分:tcpdump所抓包 ...

  5. 以太网数据包、IP包、TCP/UDP 包的结构(转)

    源:以太网数据包.IP包.TCP/UDP 包的结构 版本号(Version):长度4比特.标识目前采用的IP协议的版本号.一般的值为0100(IPv4),0110(IPv6). IP包头长度(Head ...

  6. TCP/IP 数据包报文格式(IP包、TCP报头、UDP报头)(转)

    reference:http://blog.51cto.com/lyhbwwk/2162568                    https://blog.csdn.net/wangzhen209 ...

  7. 我发起了一个 操作系统 GUI 和 Tcp / IP 包 的 开源项目 DeviceOS

    操作系统 如果 不需要 处理 复杂多样 的 硬件 兼容性, 其实 并不算 大项目, 可以算 毕业设计 . 但是, GUI 和 Tcp / IP  这两个 部分 的 实现逻辑 很多 很复杂,  这  2 ...

  8. 利用IP核设计高性能的计数器

    利用Quartus II的LPM_counter IP核进行设计(利用IP核设计可以迅速高效的完成产品的设计) 新建工程 调用IP核 创建一个新的IP核 选择LMP_COUNTER,语言类型,输出路径 ...

  9. 关于ip包长度

    http://blog.csdn.net/naturebe/article/details/6712153 这篇文章总结的不错,转自:http://hi.baidu.com/to_wait/blog/ ...

随机推荐

  1. Spring Boot事务管理(上)

    摘要 本文主要介绍基于Spring Boot的事务管理,尤其是@Transactional注解详细用法.首先,简要介绍Spring Boot中如何开启事务管理:其次,介绍在Spring,Spring ...

  2. Redis考察点解析

    目录 1. Redis数据结构 1. 常用数据结构 2. 高级数据结构 2. Redis分布式锁 1. Redis分布式锁原理 2. 如果在setnx之后执行expire之前进程意外crash或者要重 ...

  3. AIX修改密码

    grid@DB01:/home/grid>su - oracleoracle's Password: 3004-303 There have been too many unsuccessful ...

  4. 关于JS的原型与继承笔记

    1.什么是原型? 原型就是公用的方法或者属性. 1.prototype本质上还是一个JavaScript对象: 2.每个函数都有一个默认的属性prototype,而这个prototype的constr ...

  5. linux中巧用ctrl-z后台运行程序

    我们知道后台运行任务时,可以用 () 和 &,但是有的时候我们会忘记加&,对于执行需要很长时间的任务来说,Ctrl+Z可能是一个比较好的把任务转入后台的方法. 当我们按下Ctrl+Z时 ...

  6. CF 219D 树形DP

    CF 219D [题目链接]CF 219D [题目类型]树形DP &题意: 给一个n节点的有向无环图,要找一个这样的点:该点到其它n-1要逆转的道路最少,(边<u,v>,如果v要到 ...

  7. 转-->>mysql的bin log

    binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日 ...

  8. JD-GUI反编译出现ERROR

    反编译Jar包一般使用JD-GUI工具,很方便.但有时会出现异常,如下: 此时,可以辅助使用另一个工具来反编译代码:Luyten(https://github.com/deathmarine/Luyt ...

  9. java23种设计模式之: 策略模式,观察者模式

    策略模式  --老司机开车,但是他今天想到路虎,明天想开奔驰...针对他不同的需求,来产生不同的应对策略    策略类是一个接口,定义了一个大概的方法,而实现具体的策略则是由实现类完成的,这样的目的是 ...

  10. symfony command

    symfony 的command系统,有两部分构成:Application和command 1. Application是一个容器,负责对command进行管理. 2.command是每一个具体的命令 ...