我正在参加「掘金·启航计划」!
写在前面
- 本篇主要介绍怎么通过Quartus II调用所需IP核,以实现快速开发。笔者才疏学浅,本篇如有缺点和疏漏在所难免,恳请广大读者批评指正。
IP核是什么
IP(Intellectual Property)即知识产权。在半导体产业将IP核定义为“用于ASIC或FPGA中预先设计好的电路功能模块”。简而言之,这里的IP即电路功能模块。
在数值电路中,将常用的且比较复杂的功能模块设计成参数可修改的模块,让其他用户可以直接调用这些模块,这就是IP核。
为什么要是用IP核
随着FPGA的规模越来越大,它的设计也是越来越复杂。随着设计规模的增大,复杂度提高,使用IP核可以提高开发效率,减少设计和调试时间,加速开发进程,降低开发成本,是业界的发展趋势。
IP核的存在形式
分类依据:产品交付方式
- HDL语言形式-软核 硬件描述语言;可进行参数调整、复用性强;布局、布线灵活;设计周期短、设计投入少;
- 网表形式-固核 完成了综合的功能块;可预布线特定信号或分配特定的布线资源;
- 版图形式-硬核 硬核是完成提供设计的最终阶段产品-掩膜(Mask);缺乏灵活性、可移植性差;更易于实现IP核的保护。
IP核的缺点
- IP核往往不能跨平台使用
- IP核不透明,看不到内部核心代码
- 无法优化,无法修改
- 定制IP需额外收费
QuartusII软件下的IP核调用
- SOPC构造器
- DSP构造器
- Qsys设计系统例化
- Mega Wizard插件管理器
DSP构造器和Qsys设计系统例化仅支持部分IP核的例化和使用,最常用IP核的调用方式是MegaWizard插件管理器。
- Mega Wizard插件管理器
选择Tools中如下图选项
接着会弹出下面的对话框
如图会有三个选项,第一个选项是创建一个新的IP核;第二个选型是编译已经存在的IP核;第三个选型是复制已经存在的IP核。
选择第一个,创建一个新的IP核。点击Next,进入以下页面
首先选择自己开发板上的FPGA芯片所属的系列,因为不同的系列所能使用的IP核是不同的,此处应保持与工程创建时所选用的器件系列一致,避免出现IP核不支持器件的情况,笔者此处选用的是Cyclone II系列
接着设置IP核输出文件的语言类型,语言类型的设置取决于工程所使用的语言,笔者使用的是Verilog,如下图就选择的Verilog HDL
然后就是对话框左半部分的搜索框,输入关键词进行搜索可检索出与之相关的IP核
最后就是选择输出IP核的保存位置,保存位置一般都是工程文件夹
点击Next进入下一步对工程参数进行设置,最后生成所需的IP核。