惠州网站设计定制闸北区网站建设网页设

当前位置: 首页 > news >正文

惠州网站设计定制,闸北区网站建设网页设,环球旅行卡怎么用,uc推广登录入口快速开发的法宝——IP核 文章目录 1 IP 核是什么2 为什么要使用 IP 核3 IP 核的存在形式4 IP 核的缺点5 Quartus II 软件下 IP 核的调用6 Altera IP 核的分类 在本小节当中#xff0c;我们来学习一下 IP 核的相关知识。 IP 核在 FPGA 开发当中应用十分广泛#xff0c;它被称为…快速开发的法宝——IP核 文章目录 1 IP 核是什么2 为什么要使用 IP 核3 IP 核的存在形式4 IP 核的缺点5 Quartus II 软件下 IP 核的调用6 Altera IP 核的分类 在本小节当中我们来学习一下 IP 核的相关知识。 IP 核在 FPGA 开发当中应用十分广泛它被称为快速开发的法宝。在本小节当中我们将和各位朋友一起来学习了解 IP 核的相关知识、理解掌握 IP 核的调用方法。 我们分为以下几个部分进行 IP 核的学习 首先是第一部分IP 核是什么。在这一部分我们会对 IP 核的基本概念做一个解析第二部分是为什么要使用 IP 核。在这一部分会告诉大家 IP 核的一个使用目的第三部分是IP 核的存在形式也就是 IP 核的一个分类第四部分是IP 核的缺点。事物的存在有利也有弊IP 核也不例外。这一部分会讲解一下IP 核使用的一个局限性第五部分就是Quartus II 软件下 IP 核的一个调用。在这一部分会带领各位朋友了解如何在 Quartus II 软件下调用 IP 核第六部分是 Altera IP 核的一个分类。这部分内容的讲解目的是方便各位朋友在以后的使用过程中能够快速准确的调用 IP 核 首先是第一部分内容的讲解IP 核是什么 1 IP 核是什么 IP 是一个英文(首字母缩写)简称英文全称是Intllectual Property译为中文就是知识产权。在半导体产业中将 IP 核定义为用于 ASIC 或者 FPGA 中预先设计好的电路功能模块换句话说IP 就是指电路功能模块。 在数字电路当中我们将常用的而且比较复杂的功能模块设计成参数可修改的模块。比如说后面常用到的 FIFO、RAM还有 SDRAM 控制器这些常用的而且比较复杂的功能模块设计成参数可修改的模块在使用过程中其他用户可以直接调用这些模块这个就是 IP 核。 现在了解了 IP 核的概念之后我们进入下一个问题为什么要使用 IP 核 2 为什么要使用 IP 核 随着科技的进步、IC 工艺的提高FPGA 的规模越来越大随着 FPGA 的规模越来越大FPGA 的设计也是越来越复杂IC 的复杂度每年以 55% 的速率提高而我们的设计能力每年只提高 20% 左右我们设计者的主要任务是在规定的时间周期内完成一个复杂的设计但是 IC 复杂度递增的速率大于我们设计能力的提高这样就使得设计者需要的设计周期就越来越长这样不利于产品的一个上市为了解决这个问题将一些在数字电路中常用的但是比较复杂的功能块比如说前面提到的 FIFO、RAM、SDRAM 控制器设计成可修改的参数模块就是前面提到的 IP 核然后在开发过程中使用 IP 核这样就可以避免重复劳动、提高开发效率、减少设计和调试的时间加速开发进程、降低开发成本这样也大大缩短了产品上市时间、减轻了工程师的一个负担也是业内的一个发展趋势。这就是我们使用 IP 核开发的一个目的。 了解了 IP 核的概念以及使用目的之后我们进入第三部分IP 核的一个存在形式就是它的分类 3 IP 核的存在形式 IP 核根据产品交付的方式进行分类有三种不同的存在形式分别对应我们常说的三类 IP 内核这三种 IP 内核实现的方法也是各具特色 HDL 语言形式–软核 软核也称为软 IP它通常是以硬件描述语言 HDL 源文件的形式出现它的应用开发过程与普通的 HDL 设计也是十分的相似大多数应用于 FPGA 的 IP 内核均是软核。软核有助于用户调节参数并增强可复用性就是说它可以进行参数的调整(复用性强)软核通常是以加密的形式提供实际的用户是看不到内部的 RTL 代码的但是它的布局布线是十分灵活的在这些加密的软核当中如果对内核进行了参数化用户就可以通过头文件或者说 GUI 图形界面对参数进行一个设置。软核它的设计周期短、设计投入少软核由于不涉及物理实现为后续设计留有很大的发挥空间增大了 IP 核的一个灵活性和适应性。 同时软核也是有缺点的。软核是以源代码的形式提供尽管源代码可以采用加密的方法但是它的知识产权保护的问题仍然不容忽视。 网表形式–固核 固核是软核与硬核的一个折中固核是完成了综合的功能块它有较大的设计深度。对于那些对时序要求十分严格的内核比如说PCIE 接口内核对于这种时序要求比较严格的内核它可以预布线特定信号或者说分配特定的一个布线资源目的是满足这些内核的时序要求。 固核也是有缺点的如果说固核它有固定的布局或者部分固定的布局在使用过程中会影响其他电路的一个布局这是它的一个缺点。 版图形式–硬核 硬核是完整提供设计的最终阶段产品——掩膜硬核是以经过完全的布局布线的网表形式提供这种硬核既具有可预见性同时还可以针对特定的工艺或者说购买商进行功耗和尺寸的一个优化。 但是它缺乏灵活性、可移植性较差但是它不存在 RTL 文件更易于实现 IP 核的一个保护。
事物的存在有利也有弊IP 核在拥有众多的优点的同时它也存在巨大的缺点 4 IP 核的缺点 我们来看一下 IP 核的缺点 首先第一点IP 核往往不能跨平台使用。这句话什么意思呢每个 FPGA 开发厂商会根据自己的芯片适配定制的 IP如果说你之前使用的是赛灵思的芯片使用了其中的一个 IP 核但是因为某些原因你需要将这个代码移植到 Altera 平台上就必须在 Altera 平台上选择具有相同功能的 IP 核进行一个替换否则你就不能使用这样就增加了代码移植的一个复杂性。IP 核的第二条缺点是IP 核不透明看不到内部的核心代码。IP 核相当于一个黑匣子它是不透明的我们只能看到输入信号和输出信号内部的核心代码是看不到的因为 IP 核都是各大 FPGA 厂商专门设计的都会进行一个加密内部的核心代码是看不到的。如果说我们在使用过程中想要根据实际的应用进行一个优化这是不可能的因为我们是无法进行修改的。这个问题在使用过程中就很棘手IP 核的第三个缺点就是定制的 IP 需要额外收费。我们平时使用的一些具有简单功能的 IP 核是 FPGA 厂商提供的是免费的但是说如果你想要使用某些能够实现特殊功能的 IP 核需要进行一个额外收费。 IP 核在能够缩短我们开发周期的情况下存在以上三个问题。这时候我们就需要权衡利弊针对具体的需求来做一个具体的选择。 下面我们讲解第五部分在 Quartus II 开发软件下进行 IP 核的一个调用 5 Quartus II 软件下 IP 核的调用 在 Quartus II 开发软件下进行 IP 核的调用有四种方式 第一种是 Mega Wizard 的插件管理器第二种是 SOPC 构造器第三种是 DSP 构造器第四种是 Qsys 设计系统例化 在这四种方式中后两种方式(DSP 构造器、Qsys 设计系统例化)它们仅支持部分的一个 IP 核的例化和使用最为常用的 IP 核的调用方式是第一种使用插件管理器的调用方式 Mega Wizard 插件管理器它可以用于创建和修改包含定制 IP 核的一个设计文件然后在设计文件中例化 IP 核可以自动生成设计文件、例化模板以及例化声明文件使用这个插件管理器可以指定 IP 核的不同选项包括设置参数值、选择可选端口还可以为第三方综合工具生成网表文件(第三方的 IP 核是以网表文件的形式进行提供的)。 说了这么多下面就和各位朋友一起学习使用插件管理器进行一个 IP 核的调用。 我们回到桌面然后打开 Quartus II 开发软件关闭开发软件的启动页 第一步就是启动 Mega Wizard 插件管理器选择 Tools–MegaWizard Plug-In Manager 弹出了一个 Mega Wizard 插件管理器的选择页面 其中有三个选项 Create a new custom megafunction variation创建一个新的 IP 核Edit an existing custom megafunction variation编辑已经存在的 IP 核Copy an existing custom megafunction variation复制已经存在的 IP 核 我们这儿选择第一个创建一个新的 IP 核然后点击下一步 然后就到了 2a 页面 首先第一步要选择右上角的位置选择我们的 FPGA 芯片属于哪个系列因为不同的器件类型它可以使用的 IP 核是不同的比如说我们选择征途系列开发板使用的器件就是 Cyclone IV E 系列 所以说这个地方要保持与工程创建时我们选择的器件系列一致避免出现 IP 核不支持器件的一个情况。 第二个位置要设置 IP 核输出文件的语言类型语言类型的设置取决于工程具体设计所使用的语言我们使用的是 Verilog 就选择 Verilog HDL 第三个位置就是搜索框以及搜索框下方的列表如果搜索框中不进行输入下方列表就会分类显示出所有的 IP 核 在这个搜索框当中输入我们想要使用的 IP 核的名称来进行一个 IP 核的搜索比如说我们想要使用锁相环的 IP 核就输入 pll下方列表当中就会显示出与我们搜索 IP 核相关的一些 IP 核 然后我们选择使用其中一个 IP 核选中 ALTPLL在列表右侧我们就要选择 IP 核输出文件的一个保存位置这个保存位置一般都是工程文件夹 假如说在 2a 页面选择完毕之后点击下一步就可以进行参数的一个设置最后生成我们的 IP 核 以上部分就是使用 Mega Wizard 插件管理器实现 IP 核一个调用。 下面进入第六部分就是 Altera IP 核的一个分类 6 Altera IP 核的分类 我们回到 Mega Wizard 插件管理器的 2a 页面然后清空搜索框搜索框下方的 IP 核列表当中显示的就是 Altera 提供的 IP 核 下面就参照这个列表来对 Altera IP 核的类型做一个讲解。首先是数学运算 IP 核 这里面包含了四个部分 第一部分就是LPM 类型的整数运算 IP 核 LPM 表示参数化类型 IP 核库。LPM_ADD_SUB这个就是加法器和减法器的 IP 核、LPM COMPARE这个是比较器、LPM_COUNTER是计数器、LPM_DIVIDE是除法器、LPM_MULT是乘法器 第二部分就是ALT 类型的整数运算 IP 核 ALT 表示的是 Altera 特定的 IP 核。ALTMULT_ACCUM(MAC)是乘累加器、ALTMEMMULT是基于存储的常系数乘法器、ALTMULT_ADD是它的乘加器、ALTMULT_COMPLEX是它的复数乘法器 第三部分就是浮点数运算 IP 核 ALTFP_ADD_SUB就是浮点数加/减法器、ALTFP_DIV是浮点数的除法器、ALTFP_MULT是浮点数的乘法器、ALTFP_SQRT就是浮点数的平方根计算器
然后就是逻辑运算 IP 核 LPM_CLSHIFT是循环移位、LPM_CONSTANT常数、LPM_DECODE解码和LPM_MUX复用。 第三大类是存储器 IP 核 里面有 FIFOFIFO、RAM initializerRAM:1-PORTRAM:2-PORTRAM、ROM:1-PORTROM:2-PORTROM 等等 第四大类是数字信号处理 IP 核 这里边有 CIC v13.0CIC、FIR Compiler II v13.0FIR Compiler v13.0FIR 编码器然后还有 NC0 v13.0NCO、FFT v13.0FFT(傅里叶变换) 然后是数字通信类的 IP 核 这儿有 CRC Compiler v13.0CRC 编码还有 8B10B Encoder-Decoder v13.08B 转 10B 的编码译码器 IP 核。 下一个分类是视频和图像处理 IP 核 接下来就是输入输出 IP 核 刚才使用的 PLL(锁相环) 也在这里面ALTPLL然后还有 ALTLVDS_RXALTLVDS_TXLVDS 收发器的 IP 核。 下面就是接口 IP 核 这里面有 PCIPCI 接口、PCI ExpressPCIE 接口、SDISDI 接口还有 Ethernet以太网的接口等等一些的接口。 最后是FPGA 调试部分的 IP 核 这儿有 Parallel Flash Loader并行的 Flash、Serial Flash Loader串行的 Flash然后后面会讲到的 SignalTap II Logic Analyzer在线逻辑分析仪。 除了刚刚讲到的一些 IP 核的分类之外还有一些针对部分 Altera 系列的 FPGA 应用的专用的一些 IP 核这儿就不再进行讲解了。 参考资料 41-第二十四讲-快速开发的法宝

  1. 快速开发的法宝 — IP核 File:Kamehameha DB scheme.svg