关于FPGA如何快速生成模块的例化模板(实用)

这篇具有很好参考价值的文章主要介绍了关于FPGA如何快速生成模块的例化模板(实用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于FPGA如何快速生成模块的例化模板(实用)

语言 :Verilg HDL 、VHDL
EDA工具:ISE、Vivado、Quartus II

一、引言

在FPGA开发中,最常用的设计方式是自顶层向下的模块化设计,将设计要求分成一个个的子模块,负责实现不通的功能,顶层负责调用这些子模块,并负责子模块之间的连接以及与外部接口的连接。
因此,顶层常常要对好多个子模块进行例化,所谓的例化,对标到软件上来说,就是调用,模块也自然对应的就是一个个函数了。此时,如果子模块的输入输出接口比较多的时候,手动去巧例化的模板就是一件非常枯燥乏味浪费时间的事情,本文,在结合平时做项目中的经验,对快速生成模块的例化模板作了一个总结,望能对各位实操应用中有所帮助。

二、快速生成例化模块的几种方法
1. IP核的例化模块

工程中,IP核的使用是比较频繁的,而ip核的例化模板在生成IP的时候,就附带生成了,只需要找到位置复制即可。

(1)quartus 软件的ip核的例化模板
quarus软件需要在生成IP时,选中xxx_inst.v,生成的模板即在所在工程目录下的xxx_inst.v文件中
关于FPGA如何快速生成模块的例化模板(实用)
如下
关于FPGA如何快速生成模块的例化模板(实用)
(2)Vivado软件的ip核的例化模板

vivado的例化模板在生成IP中自动生成,如下,在工程source中找到所要例化的IP,红色框中的.veo文件中即是该IP的verilog 例化模板,而红色框上面的.vho文件中即是该IP的vhdl例化模板关于FPGA如何快速生成模块的例化模板(实用)
关于FPGA如何快速生成模块的例化模板(实用)

2. 自行设计的模块

如果模块是自行设计的模块,那么例化模块不会自动生成,但是也有一些快速的方式。

(1)利用ISE软件

这个方法是我经常会用到的,如果模块接口很多的时候,是一种快速的模板生成方式。

只需要将自己设计的模块添加到某一个ISE工程之中,再点击ISE软件具有的一键生成,即可得到自己设计模块的模板。
a) 选择如下第一个红框中的+,选择自己设计模块的路径,然后再选择ok,即可将模块添加到当前的工程中。
关于FPGA如何快速生成模块的例化模板(实用)
b)再选中我们添加的模块,再点击下方的生成例化模板即可得到想要的模块模板。
关于FPGA如何快速生成模块的例化模板(实用)

(2)利用vivado软件的插件

首先要在vivado中安装Design Utilities插件, 点击Tools --Xilinx Tck Store选项,如下
关于FPGA如何快速生成模块的例化模板(实用)
然后,点击Install, 安装Design Utilities
关于FPGA如何快速生成模块的例化模板(实用)
再把要生成例化模板的HDL文件设置为top文件,并点击Open Elaborated Design
关于FPGA如何快速生成模块的例化模板(实用)
在Tcl Console中执行指令

xilinx::designutils::write_template -template -verilog

即可生成verilog的例化文件。

在Tcl Console中执行指令

xilinx::designutils::write_template -template -vhdl

即可生成vhdl的例化文件。

最后根据提示内容,去对应位置找到生成的例化模板文件即可,如下。

关于FPGA如何快速生成模块的例化模板(实用)

三、结尾

本文阐述了快速生成verilog\vhdl例化模块模板的几种方法,有补充的可在下方留言评论,笔耕不辍,厚积薄发。文章来源地址https://www.toymoban.com/news/detail-402333.html

到了这里,关于关于FPGA如何快速生成模块的例化模板(实用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA-结合协议时序实现UART收发器(五):串口顶层模块UART_TOP、例化PLL、UART_FIFO、uart_drive

    串口顶层模块UART_TOP、例化PLL、UART_FIFO、uart_drive,功能实现。 对照代码,串口发送模块UART_TOP实现功能包括: PLL锁相环,实现稳定系统输入时钟功能 UART_FIFO,数据先进先出,实现数据缓存功能,防止出现数据错乱 w_clk_rst = ~w_system_pll_locked;保证复位电平是先高位再地位 r_use

    2024年02月08日
    浏览(52)
  • verilog基础-模块例化

    verilog语法中的模块例化 FPGA的设计通常都是由很多个模块组成,有顶层模块、高层模块和子模块之分,模块例化的功能即为 连接这些模块 。 以数码管显示代码为例,根据要实现的功能,需在顶层模块中对计时模块和数码管静态显示模块分别例化。 计时模块代码如下: 数码

    2024年02月11日
    浏览(30)
  • FPGA 学习分享-- 05 例化与仿真

    依我看,例化其实就是C语言的函数调用。这样做方便整体代码修改,以及模块化编写程序。咱们就带着函数调用的思想去学习例化的语法规则就好。 例化的大体框架如下: 这是fifo核的例化。 外部模块名为fifo_generator_0, 一般的,新名字都是 “u_模块名” ,即u_fifo_generator

    2024年02月02日
    浏览(30)
  • Verilog 学习笔记(一)模块例化

        1.单个模块的例化 verilog中模块的例化有两种方式,一种是基于端口位置来例化模块,另一种则是根据端口名称来例化。首先介绍第一种基于端口位置来例化。在此之前,我们先给出一个简单的模块如下:  上图中的mod_a模块声明如下: module mod_a ( output, output, input, input,

    2024年02月13日
    浏览(31)
  • Verilog语法——2.模块例化、运算符

    参考资料 【明德扬_verilog零基础入门语法HDL仿真快速掌握-手把手教你写FPGA/ASIC代码设计流程中的应用】 2.1.1 什么是模块例化 例化,即将项目不断拆分成次级功能模块,然后从最简单的模块开始实现,进而完成整个复杂项目 2.1.2 模块例化的方法 针对已经抽象好的模块,需要

    2024年01月16日
    浏览(32)
  • VScode快速生成Vue3组件模板(代码片段&插件)

    方法一:配置用户代码片段 好处:可以完全按照个人习惯设置。 1、打开设置里的用户代码片段 2、找到vue.json 3、配置如下: 4、使用:输入vue回车生成 方法二:使用Vue VSCode Snippets插件 好处:安装即用,生成默认模板。 1、下载Vue VSCode Snippets插件并启用 2、使用:输入vue回车

    2024年02月14日
    浏览(26)
  • Verilog基础语法(4)之模块和端口及其例化和处理

    Verilog进行FPGA/IC设计值,通常划分为各个子模块,木模块之间可能相互例化,并在顶层统一例化,并连接成一个顶层模块文件。 基本的模块模板: 如果模块内的变量位宽参数化,则模块模板为: 例化带参数的模块: 端口类型/端口描述 input 设计模块只能使用其input端口从外部

    2024年02月13日
    浏览(24)
  • 一个基于Excel模板快速生成Excel文档的小工具

    DocumentGenerator是一个Excel快速生成工具,目标以后还能实现Word、pdf等的文件的生成。该程序独立运行,可通过HTTP接口调用其生成接口。 典型使用场景为如下: 使用者编写模板文件 使用者准备模板文件的填充JSON数据内容 使用者通过网络接口调用该程序服务完成模板数据自动

    2024年02月08日
    浏览(30)
  • 带你了解关于FastAPI快速开发Web API项目中的模板和Jinja

    摘要: FastAPI 实际上是为构建 API 和微服务而设计的。它可用于构建使用 Jinja 提供 HTML 服务的 Web 应用程序。 本文分享自华为云社区《FastAPI 快速开发 Web API 项目: 模板和 Jinja 介绍》,作者:宇宙之一粟。 模板是全栈 Web 开发的重要组成部分。使用 Jinja,您可以构建丰富的模

    2023年04月25日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包