关闭
img
返回首页  |  设为首页  |  加为收藏  |  中文  |  English  |  繁体
首页     |     关于我们     |     新闻动态     |     产品展示     |     教育培训     |     大学计划     |     设计服务     |     我要报名     |     联系方式
新闻动态
大学计划
教育培训
公司新闻
产品搜索
联系方式
  依元素科技有限公司
电话 : 010-8275-7632
传真 : 010-6216-6151
地址:北京市海淀区海淀中街16号中关村公馆E-1503
邮箱:sales@e-elements.com
 
公司新闻 你的当前位置 : 首页>>新闻动态>>公司新闻
基于IP设计流程的专业术语
发布时间:2017/12/11  |  点击次数:1434 
基于IP设计流程的专业术语
 
基于Xilinx IP设计过程中使用到的术语与典型的RTL设计方法有些不同。因此我们基于IP设计流程定义了一些专用的术语。
 
本篇文章主要向大家介绍了一些和IP相关的术语。
 
Xilinx Vivado工具带有IP Catalog(目录)功能,这个目录下面包含多个IP核资源,同时用户也可以将自己设计的IP核加入到这个目录里面。
 
为了更好的阐明本篇文章的目的,我们假设该目录下面只包含Xilinx提供的IP核。
 
这个目录下面的IP核一般都是通用版本——支持用户自定义。
 
举个例子,如果你选择一个计数器(Counter),这个计数器可以根据如下需求进行自定义:
  • 数据带宽
  • 是否可加载
  • 向上计数还是向下计数(UP/DOWN)
  • 其它一些选项
 
该目录下的“IP”是一个通用模板,也就是说不能够直接应用到系统设计中。
 
我们需要根据上述要求配置计数器(Counter)IP(例如8位带宽向上计数,支持并行加载)。
 
这些自定义配置存储在.xci文件中,.xci文件包含我们选择的具体配置信息,进过自定义后就成为一个可用的IP了,满足我们的功能要求。
 
我们可以对计数器IP核做很多种变换,这些变化都是基于同一个模板,每种配置都有专用的.xci文件。
 
自定义的同时,我们需要设置一个“组件名”。对于自己的设计可以实例化一个有效的组件名。
 
XCI文件定义了具体的配置信息和IP的准确功能(又名:组件)。
 
然而对于要实现的具体计数器模块,我们还需要一些HDL文件(综合和仿真)和时序约束。
 
这个操作步骤称为“Generate Output Products”,输出的文件主要用于Vivado工具的仿真和综合操作等。
 

 
值得一提的是采用两个不同版本的Vivado进行“自定义(Customization)”和“生成(Generation)”操作不会有任何影响。
 
也就是说“生成(Generation)”操作可以在一个Vivado版本下完成,生成后的文件(HDL、约束文件等)可以用于其他版本的Vivado。
 
让我们考虑如下两种不同的情形:
 
情形1)
 
我们使用Vivado V1版本自定义一个计数器(Counter),生成的.xci文件中定义了计数器的数据宽度和功能(向上/向下计数(UP/DOWN)、可加载等)。
 
然后使用Vivado V2版本加载.xci文件,生成并输出所有文件。
 
情形2)
 
我们使用Vivado V1版本自定义一个计数器(Counter),并生成和输出所有文件。
 
从理论上讲,以上两种情形生成的文件(HDL、约束文件等)应该是相同的,但是实际上是存在差别的,这是因为情形1中,用Vivado V2版本对HDL/约束相关方面做出bug修复/提升都会影响生成文件。
 
然而在情形2中,生成输出文件都使用Vivado V1版本完成的。
 
现在假设我们已经完成系统验证,并且用到了某个版本的IP核,当我们移植到另一个版本的Vivado工具后,这个IP可能会产生一些变化。
 
然而你不希望经过验证的系统产生一些潜在的不确定的变化,如HDL/约束文件的变化。这种情况就需要想办法保证HDL/约束文件与生成和验证后的版本相同。
 
换句话说就是你想使用另一个版本的Vivado工具完成剩余的操作步骤,但是不想IP HDL文件有任何变化。
 
这正符合情形2的情况。
 
这个概念称为“IP锁定”,也就是说即使使用不同版本的Vivado工具,与IP相关的HDL/约束文件都不会发生变化。
 
另一方面,如果你决定使用最新版本的Vivado工具生成HDL/约束文件,那么我们采用的是“IP升级”设计流程。
 
当然升级后的IP模块可能会增加一些管脚或者增加一些可配置选项。
 
一般情况下Vivado“IP升级”流程在增加新特性的同时都会保持先前版本的配置信息。
 
“升级”后会生成最新的HDL和约束文件,但是会保持自定义IP功能不变。
 
生成文件的同时,我们也可以对HDL文件进行综合,称为“OOC(out of context)”综合方式,表示这个IP模块会被单独综合,而不用考虑设计的其余模块,综合后的IP模块文件会保存在.dcp文件中。
 
如果我们决定采用OOC(out of context)综合方式生成IP文件,当我们移植到新版本的Vivado时,OOC综合依然会基于原版本的配置进行操作。
 
通过下面的步骤我们可以玩转各种版本:
 
1. 从IP目录下选择一个IP进行配置,自定义后的信息保存在XCI文件中。
 
2.      根据具体配置信息生成HDL和约束文件,输入文件是XCI文件,可以是刚生成的,也可以是前一个版本的Vivado工具生成的
 
3.      对HDL文件进行综合(单个IP或者这个系统)。如果只单独综合IP,综合后的信息保存在DCP文件中,与生成操作使用的Vivado工具相比,综合用的Vivado版本可以是相同的或者是更新的版本。然而对于OOC综合方式,“生成”操作一般都包括了综合操作,因此OOC综合用的Vivado版本与生成HDL和约束文件用的Vivado版本是相同的。
 
4.      然后我们就可以进行后续的“实现”流程了,到这时候我们就回到通用流程上来了。
 
你可以选择使用同一个版本的Vivado工具完成上面的所有步骤,或者使用某一版本的Vivado完成一部分步骤然后换另一个版本的Vivado。
 
原文链接:
 
我们欢迎有意向合作新工科课程改革项目的老师加入Xilinx大学计划,关于联合实验室建设、Vivado软件捐赠、校企共建课程、FPGA师资培训、学生竞赛、学生讲座等联系我们。
 
联系方式:edu@e-elements.com
 

欢迎关注依元素科技微信公众号

  关闭窗口
 上一条:工程师应该掌握的 20 个模拟电路
 下一条:【揭秘】FPGA四大设计要点
地址: 北京市海淀区海淀中街16号中关村公馆E-1503   邮编: 100086   邮箱: sales@e-elements.com
版权所有 © 2000-2011   依元素科技有限公司  京ICP备05005710号      Designed By Chinweb.net