在做FPGA项目过程中,难免会使用到官方的或者第三方的IP核和原语,这篇就来分享下在diamond中使用IP核的操作,当然官方手册也十分清楚,个人觉得从事嵌入式开发工作,一个很值得学习的技能就是学会运用官方资料,即便是市面上往往有很多入门的教程和买开发板提供的例程,一定程度上也确实加速了开发,但是从个人的角度考虑,如果能要更深入的了解一个技术,或者你需要做出技术更前沿的产品,你必须能够学会掌握第一手资料。好了废话不多说开始分享。
1、首先还是要熟悉手册,打开软件在帮助里找到下面对应两份文档。
Lattice Diamond 3.12 User Guide:
Clarity Designer User Guide。
2、打开测试项目,可以下载附件中的测试项目:
打开项目后界面如下图所示:
3、使用IP核:
diamond软件中,因为选择的目标FPGA器件型号不同,会有两种不同的IP核菜单,一种是“IPexpress”一种是“Clarity”,如果你使用过xilinx的vavado软件的话,“IPexpress”更像vivado软件里面的“IP Catalog”, "Clarity"更像是vivado软件中的“Block Design”…什么?…不明白?…好吧!干就完了!
选择器件后一种情况下,在“Tools”菜单下可以看到“IPexpress”
选择器件后了另一种情况下,在“Tools”菜单下可以看到“Clarity”
简单的理解就是“IPexpress”每一个IP核会生成一个HDL文件用于例化,“Clarity”是可以将很多个IP核封装在一起,最终自动生成一个HDL文件用于例化。
下面分别进行实践:
点击“Tools”->“IPexpress”菜单,如下图所示,按照步骤配置IP核。
点击“Customize”后界面如下:
按照步骤根据自己的需求完成相应IP核的参数配置,点击“Close”完成配置。
最后将HDL文件添加进工程,在顶层调用模块即可,到这里“IPexpress”就介绍完成了。
下面介绍"Clarity"的使用方法
点击“Tools”->“Clarity”菜单进入“Clarity”配置界面
完善库名路径设置之后点击“Create”,进入下图所示界面:
选择使用的IP核进行配置和IPexpress的类似,如下图所示:
这里你会发现可以同时配置多个IP核,配置多个IP核后如下图所示,可以查看原理图:
进入原理图界面如图所示:
这里的原理图也是可以编辑的,想深入了解可以自行尝试。点击“Generate”之后,项目文件自动会添加生成的库如下图所示:
进入设置的保存路径可以看到生成的HDL文件如下图所示:
这里可以看出两个IP核封装成了一个顶层HDL文件,看到这里想必你已经了解了“IPexpress”和“Clarity”两种方式的不同之处了,这里要强调的是"Clarity"中的几个IP核链接是可以编辑的,更深入的学习推荐学习官方手册。
欢迎关注公众号:超级攻城狮