0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么说Vivado是基于IP的设计?

冬至子 来源:电子技术实验XJTU 作者:孙敏 2023-09-17 15:37 次阅读

Vivado是Xilinx公司2012年推出的新一代集成开发环境,它强调系统级的设计思想及以IP为核心的设计理念,突出IP核在数字系统设计中的作用。

01

什么是IP核

随着电子设计自动化工具功能的不断增强,以及半导体制造工艺的飞速发展,所设计的数字系统功能越来越复杂,所要求的设计周期越来越短,设计可靠性越来越高。对设计人员来说,不可能从头开始进行复杂数字系统的设计。目前普遍采用的方法是,在设计中尽可能使用已有的功能模块。人们把这些现成的模块通常称为知识产权(Intellectual Property,IP)核,也就是IP核。IP核可以理解为一个个具有特定功能的电路模块,通过这些模块间端口的互联完成功能复杂的数字系统设计。

02

IP核来源

①IP核可以来自FPGA生产厂商,例如,Vivado设计工具中的IP目录中就提供了丰富的IP核,可以直接使用。

②IP核还可以是第三方IP厂商提供。

③我们也可以将自己设计的,经过验证的电路模块封装成IP核,可以在后期设计中重复使用。

我们自己的设计包括:

RTL代码描述的电路。

HLS高层次综合工具的设计。

Syetem Generator工具生成的工程。

03

IP核如何使用

那么我们如何在Vivado中使用IP核呢?

有两种方式:

①一种是在RTL工程中,在我们的Verilog设计程序中调用IP核,我们叫做实例化IP。

图片

△ 实例化IP

②一种是在IP Integrator中,也就是使用IP集成器创建一个Block Design,可以将IP核,以图形化的方式添加到界面中,再通过端口的互联,像搭积木一样完成一些复杂的设计。

04

Vivado设计输入

在Vivado中,我们有多种方式来进行我们的设计输入。

RTL工程

通常使用的方法是创建RTL工程,使用硬件描述语言编写代码。所谓的RTL是Register Transfer Level 的缩写,也就是寄存器传输级。

图片

△ 创建RTL工程

我们在描述一个数字系统时,可以采用不同的抽象层级,抽象程度从高到低有系统级、算法级,RTL级,逻辑门级,以及开关级。

RTL级设计是描述数据信号是如何在寄存器中传输和处理的,一般都是通过硬件描述语言实现的。如,最常使用的Verilog 和VHDL,以及近年来,发展起来的System Verilog。

System Verilog实际上是Verilog的超集,可以被看做是Verilog的升级加强版,尤其加强了对设计验证的支持,在现代数字系统设计与验证广泛使用。

IP集成器

另一种方式就是通过IP集成器,可以将IP核添加到图形化界面中,再通过连线完成设计,这里的IP来自于IP目录中的IP核。

图片

△ 通过IP集成器创建工程

高层次综合(HLS)工具

Xilinx还推出了Vivado High-Level Synthesis (HLS)高层次综合工具,用户可以使用C或C++ 来对FPGA编程,实现算法开发,然后通过高级综合工具直接将C语言转换为硬件描述语言,可以大大加速我们的设计,提高开发效率。HLS会将转换后的RTL代码封装成IP,我们可以将其添加到IP 目录中,在Vivado设计输入时使用。

System Generator

Vivado还提供了System Generator 工具,该工具是基于MATLAB下的Simulink工具运行的。他将Xilinx开发的一些模块嵌入到了Simulink中,主要用于数字信号处理开发。在Simulink中设计完成后,可以生成HDL文件,包括测试文件,能够加快DSP系统的开发进度。

05

基于IP的设计

Vivado HLS的输出结果也可以导入到System Generator中,以模块化的方式使用。

Vivado中的IP packaging功能可以将我们的RTL代码,High Level Symthesis设计,System Generator模块以及IP集成器生成的设计封装成新的IP,放到IP目录中使用。

所以说,Vivado是基于IP的设计。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA设计
    +关注

    关注

    9

    文章

    425

    浏览量

    26273
  • 寄存器
    +关注

    关注

    30

    文章

    5028

    浏览量

    117731
  • C语言
    +关注

    关注

    180

    文章

    7530

    浏览量

    128732
  • RTL
    RTL
    +关注

    关注

    1

    文章

    377

    浏览量

    59068
  • Vivado
    +关注

    关注

    18

    文章

    790

    浏览量

    65101
收藏 人收藏

    评论

    相关推荐

    Vivado IP集成器

    大家好,欢迎Vivado的一个快速演示,它是xilinx新的设计套件,应用到7系列和以上的系列器件。
    发表于 04-25 08:55 2228次阅读

    Vivado IP中的Shared Logic到底是干嘛的

    在很多Vivado的高速接口的IP中,比如Ethernet、PCIe、SRIO的设置中,都会有个Shared Logic的页面。可能很多同学并没有很关注这个页面,直接默认设置就完事了。但其实这个页面的内容也是非常有用的,我们可以看到页面中有两个选择:
    的头像 发表于 08-02 09:03 1470次阅读
    <b class='flag-5'>Vivado</b> <b class='flag-5'>IP</b>中的Shared Logic到底是干嘛的

    VIVADO——IP封装技术封装一个普通的VGA IP-FPGA

    有关FPGA——VIVADO15.4开发中IP 的建立
    发表于 02-28 21:04 15次下载

    如何将Vivado IP和第三方综合工具配合使用

    观看视频,学习如何将 Vivado IP 和第三方综合工具配合使用。 此视频将通过一个设计实例引导您完成创建自定义 IP 的步骤;用第三方综合工具IP黑盒子来审查所需
    的头像 发表于 11-21 06:34 4855次阅读

    如何让Vivado IP Integrator和Amazon F1开发套件进行协同使用

    欢迎阅读本快速视频,我将解释如何使用Vivado IP Integrator流程与Amazon F1硬件开发套件或HDK配合使用
    的头像 发表于 11-20 06:35 2241次阅读

    如何使用Vivado IP Integrator组装具有多个时钟域的设计

    该视频演示了如何使用Vivado IP Integrator组装具有多个时钟域的设计。 它显示了Vivado中的设计规则检查和功能如何帮助用户自动执行此流程。
    的头像 发表于 11-27 07:40 3569次阅读

    调用Vivado IP核的方法

    在开发PL时一般都会用到分频或倍频,对晶振产生的时钟进行分频或倍频处理,产生系统时钟和复位信号,下面就介绍一下在vivado2017.3中进行PL开发时调用IP的方法。
    发表于 12-22 14:26 4487次阅读

    VCS独立仿真Vivado IP核的一些方法总结

    前年,发表了一篇文章《VCS独立仿真Vivado IP核的一些方法总结》(链接在参考资料1),里面简单讲述了使用VCS仿真Vivado IP核时遇到的一些问题及解决方案,发表之后经过一
    的头像 发表于 03-22 10:31 3510次阅读

    教你打包一个自己的Vivado IP

    模块复用是逻辑设计人员必须掌握的一个基本功,通过将成熟模块打包成IP核,可实现重复利用,避免重复造轮子,大幅提高我们的开发效率。
    的头像 发表于 02-16 16:21 1664次阅读
    教你打包一个自己的<b class='flag-5'>Vivado</b> <b class='flag-5'>IP</b>核

    使用VCS仿真Vivado IP核时遇到的问题及解决方案

    前年,发表了一篇文章《VCS独立仿真Vivado IP核的一些方法总结》(链接在参考资料1),里面简单讲述了使用VCS仿真Vivado IP核时遇到的一些问题及解决方案,发表之后经过一
    的头像 发表于 08-29 14:41 1615次阅读

    使用Vitis HLS创建Vivado IP

    LUT 或 SICE是构成了 FPGA 的区域。它的数量有限,当它用完时,意味着您的设计太大了!
    的头像 发表于 09-09 09:09 1690次阅读

    VCS独立仿真Vivado IP核的问题补充

    在仿真Vivado IP核时分两种情况,分为未使用SECURE IP核和使用了SECURE IP核。
    的头像 发表于 06-06 14:45 1276次阅读
    VCS独立仿真<b class='flag-5'>Vivado</b> <b class='flag-5'>IP</b>核的问题补充

    VCS独立仿真Vivado IP核的问题补充

    在仿真Vivado IP核时分两种情况,分为未使用SECURE IP核和使用了SECURE IP核。
    的头像 发表于 06-20 14:23 661次阅读
    VCS独立仿真<b class='flag-5'>Vivado</b> <b class='flag-5'>IP</b>核的问题补充

    如何在Vivado中配置FIFO IP

    Vivado IP核提供了强大的FIFO生成器,可以通过图形化配置快速生成FIFO IP核。
    的头像 发表于 08-07 15:36 1928次阅读
    如何在<b class='flag-5'>Vivado</b>中配置FIFO <b class='flag-5'>IP</b>核

    Vivado IP核Shared Logic选项配置

    在给Vivado中的一些IP核进行配置的时候,发现有Shared Logic这一项,这里以Tri Mode Ethernet MAC IP核为例,如图1所示。
    的头像 发表于 09-06 17:05 635次阅读
    <b class='flag-5'>Vivado</b> <b class='flag-5'>IP</b>核Shared Logic选项配置