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

    文章

    428

    浏览量

    27519
  • 寄存器
    +关注

    关注

    31

    文章

    5447

    浏览量

    125355
  • C语言
    +关注

    关注

    180

    文章

    7633

    浏览量

    142501
  • RTL
    RTL
    +关注

    关注

    1

    文章

    390

    浏览量

    61369
  • Vivado
    +关注

    关注

    19

    文章

    835

    浏览量

    69142
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Vivado FIR IP核实现

    Xilinx的FIR IP核属于收费IP,但是不需要像 Quartus那样通过修改license文件来破解。如果是个人学习,现在网络上流传的license破解文件在破解Vivado的同时也破解
    的头像 发表于 03-01 14:44 ?1888次阅读
    <b class='flag-5'>Vivado</b> FIR <b class='flag-5'>IP</b>核实现

    Vivado IP交付

    在模拟模型方面,Vivado提供的IP似乎有一些根本性的变化。在将工作设计从ISE 14.4转换为Vivado 2013.2之后,然后按照建议的方式升级大部分Xilinx IP,例如基
    发表于 02-26 10:42

    怎么在Vivado HLS中生成IP核?

    的经验几乎为0,因此我想就如何解决这个问题提出建议。这就是我的想法:1 - 首先,用Vivado HLS转换VHDL中的C代码(我现在有一些经验)2 - 在Vivado HLS中生成IP核(如果我
    发表于 03-24 08:37

    vivadoIP core怎么用

    本实验通过调用PLL IP core来学习PLL的使用、vivadoIP core使用方法。
    发表于 03-02 07:22

    Vivado生成IP

    vivado生成ip核后缺少一大片文件,之前是可以用的,中途卸载过Modelsim,用vivado打开过ISE工程,因为工程中很多IP核不能用所以在重新生成过程中发现了这个问题,还请
    发表于 04-24 23:42

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

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

    vivado调用IP核详细介绍

    大家好,又到了每日学习的时间了,今天咱们来聊一聊vivado 调用IP核。 首先咱们来了解一下vivadoIP核,IP核(
    的头像 发表于 05-28 11:42 ?3.8w次阅读

    如何在Vivado Design Suite 中进行IP加密

    此视频概述了Vivado Design Suite中的IP加密。 它涵盖了IP加密工具流程,如何准备加密IP以及如何在Vivado中运行加
    的头像 发表于 11-20 06:34 ?7102次阅读

    如何使用Vivado Logic Analyzer与逻辑调试IP进行交互

    了解Vivado中的Logic Debug功能,如何将逻辑调试IP添加到设计中,以及如何使用Vivado Logic Analyzer与逻辑调试IP进行交互。
    的头像 发表于 11-30 06:22 ?3710次阅读

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

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

    使用VIvado封装自定IP并使用IP创建工程

    在FPGA实际的开发中,官方提供的IP并不是适用于所有的情况,需要根据实际修改,或者是在自己设计的IP时,需要再次调用时,我们可以将之前的设计封装成自定义IP,然后在之后的设计中继续使用此IP
    的头像 发表于 04-21 08:58 ?7131次阅读

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

    在仿真Vivado IP核时分两种情况,分为未使用SECURE IP核和使用了SECURE IP核。
    的头像 发表于 06-06 14:45 ?2374次阅读
    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 ?5963次阅读
    如何在<b class='flag-5'>Vivado</b>中配置FIFO <b class='flag-5'>IP</b>核

    Vivado中BRAM IP的配置方式和使用技巧

    FPGA开发中使用频率非常高的两个IP就是FIFO和BRAM,上一篇文章中已经详细介绍了Vivado FIFO IP,今天我们来聊一聊BRAM IP
    的头像 发表于 08-29 16:41 ?9001次阅读
    <b class='flag-5'>Vivado</b>中BRAM <b class='flag-5'>IP</b>的配置方式和使用技巧

    FPGA实现基于Vivado的BRAM IP核的使用

    文章是基于Vivado的 2017.1的版本,其他版本都大同小异。 首先在Vivado界面的右侧选择IP Catalog 选项。
    的头像 发表于 12-05 15:05 ?2534次阅读