中国电子技术网

设为首页 网站地图 加入收藏

 
 

基于IP设计流程的专业术语

关键词:赛灵思 IP设计流程专业术语 Vivado工具

时间:2017-04-13 16:10:49      来源:网络

基于Xilinx IP设计过程中使用到的术语与典型的RTL设计方法有些不同因此我们基于IP设计流程定义了一些专用的术语,本篇文章主要向大家介绍了一些和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

    • 分享到:

     

    猜你喜欢

    • 主 题:ADI助力半导体自动测试设备成长--ATE 产品线介绍
    • 时 间:2020年09月23日
    • 公 司:ADI&Excelpoint世健

    • 主 题:30分钟入门的DC/DC转换器基础
    • 时 间:2020年10月13日
    • 公 司:ROHM

    • 主 题:仪器仪表级毫米波信号链
    • 时 间:2020年10月22日
    • 公 司:ADI