vivado 制定执行策略

制定执行策略

策略是一组到工具的开关,这些开关在预先配置的一组选项中定义用于合成应用程序或在实现期间运行的各种实用程序和程序。每个主要版本都有特定于版本的策略选项。

视频:有关更多信息,请参阅以下内容:Vivado Design Suite QuickTake视频:创建和管理跑步。

从Flow Navigator中选择Settings,选择Synthesis,然后从策略下拉列表,如上图所示,然后单击“确定”。设置合成输入Vivado合成允许两种输入类型:RTL源代码和定时约束。添加RTL或

到管路的约束文件:

1.从“文件”菜单或“流导航器”中,选择“添加源”命令以打开“添加”源向导,如下图所示。

2.选择与要添加的文件相对应的选项,然后单击“下一步”。下图显示了添加或创建设计源页面,如果添加或选择“创建设计源”。

3.添加约束、RTL或其他项目文件,单击“完成”。

有关更多信息,请参阅Vivado Design Suite用户指南:系统级设计入门(UG895)关于创建RTL源项目。Vivado合成工具读取可以用VHDL、Verilog、Verilog等进行合成的文件的子集SystemVerilog或AMD工具中支持的混合语言选项。

控制文件编译顺序

当一个文件具有声明而另一个文件依赖于声明时,特定的编译顺序是必要的根据该声明。Vivado IDE从的顶部控制RTL源文件的编译图形层次结构显示在“源”窗口“编译顺序”窗口的底部。Vivado工具可自动识别并设置最佳顶级模块候选者,以及自动管理编译顺序。顶部模块文件和下的所有源活动层次结构以正确的顺序传递给合成和模拟。在“源”窗口中,弹出菜单提供“层次更新”命令。提供的选项为Vivado IDE指定如何处理对顶部模块和源代码的更改设计中的文件。

默认设置“自动更新和编译顺序”指定该工具管理编译顺序,如“编译顺序”窗口中所示,并显示哪些模块使用的,以及它们在“层次结构”窗口的层次结构树中的位置。当您更改源文件时,编译顺序会自动更新。要在合成前修改编译顺序,请选择一个文件,然后右键单击“层次更新”>自动更新,手动编译顺序,使Vivado IDE可以自动确定设计的最佳顶部模块,并允许手动指定编译顺序。默认情况下,“手动编译”处于禁用状态。如果选择一个文件并在“编译顺序”窗口中移动它弹出菜单询问是否要打开“手动编译”,如下图所示。

从“源”窗口的“编译顺序”选项卡中,拖放文件以安排编译顺序,或使用菜单“上移”或“下移”命令。其他选项可从“层次更新”上下文菜单中获得,如下所示图形

有关设计的信息,请参阅Vivado Design Suite用户指南:设计流程概述(UG892)流量。

定义全局包含文件

Vivado IDE支持将一个或多个Verilog或Verilog Header源文件指定为全局'包括文件并在任何其他来源之前处理这些文件。使用公共的设计头文件可能需要在多个Verilog中重复多个`include语句设计中使用的来源。

要将Verilog或Verilog头文件指定为全局`include文件:

1.在“源”窗口中,选择文件。

2.选中“源文件属性”窗口中的“全局包含”复选框,如如下图所示。

提示:在Verilog中,引用专门应用于单个Verilog源的头文件(用于实例特定的“define macro”),使用“include”语句,而不是将其标记为全局`include文件。有关的信息,请参阅Vivado Design Suite用户指南:使用Vivado IDE(UG893)“源”窗口。

RTL过梁

Vivado Synthesis附带了一个RTL linter,它可以分析您的代码,以确定是否存在任何可能导致您的设计出现问题的合法代码段。

运行Linter

运行Linter有两种方法。第一个是中带有-lint选项的命令行合成设计:

synth_design-顶部<顶部级别>-部分<部分>-lint

第二种方法是使用IDE。在项目经理的RTL分析部分,有一个运行Linter按钮,该按钮将运行当前零件和顶层的Linter。

注意:RTL linter目前不适用于OOC模块。这将在以后的版本中得到支持。

Linter输出

运行linter后,该工具将显示一个带有结果的新选项卡。

输出将有一个规则ID,有问题的信号或端口的RTL名称找到它的层次结构,以及潜在问题所在的消息和文件名。在在上图中,test.v中有一个名为“in3”的端口,但从未使用过。

注意:如果RTL已更改并保存,则RTL linter将不会更新。在之后查看新结果如果RTL发生变化,则需要重新运行过梁。为RTL Linter创建弃权可以创建弃权,以便林特可以忽略某些条件。这些是用创建的带有-type LINT选项的create_waiver命令例如:

create_waiver -type LINT -id ASSIGN-1 -rtl_hierarchy x/y

停止报告x/y层次结构中的任何ASSIGN-1问题。弃权可以使用以下内容任何组合的选项。

•id:弃权的规则id。

•rtl_name:信号或端口名称。

•rtl_hierarchy:设计中的层次结构。

•rtl_file:有问题的文件。

一旦你的设计获得了正确的豁免,你就可以把它们写到Tcl文件中,供将来使用您的流量:

write_waivers -type LINT -file <filename>.tcl

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/368353.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在Flutter中调用Android的代码

参考 【Flutter 混合开发】嵌入原生View-Android 默认使用Android studio 和 Kotlin 基本配置 创建flutter项目 在终端执行 flutter create batterylevel添加 Android 平台的实现 打开项目下的android/app/src/main/kotlin 下的 MainActivity.kt 文件。 我这里编辑器有…

MicroPython ESP32开发:快速参考

ESP32是使用非常广泛的一款微处理器&#xff0c;集成了WiFi和蓝牙模块&#xff0c;根据性能和应用场景的不同有很多不同的版本&#xff0c;本文是ESP32开发板在MicroPython环境下运行的快速参考&#xff0c;对于首次使用这个开发板在MicroPython下进行开发的应该会有一定的帮助…

会计的记账凭证

目录 一. 记账凭证的填制与审核1.1 收付款凭证1.2 转账凭证1.3 单式记账凭证 二. 记账凭证的编号 \quad 一. 记账凭证的填制与审核 \quad \quad 1.1 收付款凭证 \quad 注意︰ 凡是涉及货币资金之间收付款的业务如将库存现金存入银行或从银行提取现金等类经济业务。在实际工作中…

探索设计模式的魅力:为什么你应该了解装饰器模式-代码优化与重构的秘诀

设计模式专栏&#xff1a;http://t.csdnimg.cn/nolNS 开篇 在一个常常需要在不破坏封装的前提下扩展对象功能的编程世界&#xff0c;有一个模式悄无声息地成为了高级编程技术的隐形冠军。我们日复一日地享受着它带来的便利&#xff0c;却往往对其背后的复杂性视而不见。它是怎样…

幻兽帕鲁服务器多少钱?价格PK阿里云腾讯云华为云

2024年幻兽帕鲁服务器价格表更新&#xff0c;阿里云、腾讯云和华为云Palworld服务器报价大全&#xff0c;4核16G幻兽帕鲁专用服务器阿里云26元、腾讯云32元、华为云26元&#xff0c;阿腾云atengyun.com分享幻兽帕鲁服务器优惠价格表&#xff0c;多配置报价&#xff1a; 幻兽帕鲁…

【C++】C++入门— 类与对象初步介绍

C入门 1 认识面向对象2 类的引入3 类的定义类的定义方式 4 类的访问限定符及封装访问限定符封装 Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读&#xff01;下一篇文章见&#xff01;&#xff01;&#xff01; 1 认识面向对象 C语言是面向过程的&#xff0c;关注…

位运算之妙用:识别独特数字(寻找单身狗)

目录 找单身狗1 图解&#xff1a; 代码如下&#xff1a; 找单身狗2 图解&#xff1a; 代码如下&#xff1a; 寻找单身狗1 从数组中 的1 2 3 4 5 1 2 3 4 中找出没有另一个相同的数与其匹配的数 这个问题的原理是利用异或运算的性质。异或运算&#xff08;XOR&#xff09…

java学习03 判断和循环

一 流程控制语句 1.流程控制语句分类 顺序结构 判断和选择结构(if, switch) 循环结构(for, while, do…while) 2. 顺序结构 顺序结构是程序中最简单最基本的流程控制&#xff0c;没有特定的语法结构&#xff0c;按照代码的先后顺序&#xff0c;依次执行&#xff0c;程序中…

Blender使用Rigify和Game Rig Tool基础

做动画需要的几个简要步骤&#xff1a; 1.建模 2.绑定骨骼 3.绘制权重 4.动画 有一个免费的插件可以处理好给引擎用&#xff1a;Game Rig Tool 3.6和4.0版本的 百度网盘 提取码&#xff1a;vju8 1.Rigify是干嘛用的&#xff1f; 》 绑定骨骼 2.Game Rig Tool干嘛用的&#xf…

Revit中使用依赖注入

依赖注入的技术已经很成熟&#xff0c;本文主要是说明一下Revit中的适用版本与介绍相关的开源项目。 版本问题 版本 目前的依赖注入包无法支持Revit 2020 以下的版本&#xff0c;原因是因为包中的依赖项与Revit本身的依赖项不一致导致的&#xff0c;所以说如果使用Revit DI…

2V2无人机红蓝对抗仿真

两架红方和蓝方无人机分别从不同位置起飞&#xff0c;蓝方无人机跟踪及击毁红方无人机 2020a可正常运行 2V2无人机红蓝对抗仿真资源-CSDN文库

探索Gin框架:Golang使用Gin完成文件上传

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站https://www.captainbed.cn/kitie。 前言 在之前的文章中&#xff0c;我们讲解了Gin框架的快速入门使用&#xff0c;今天我们来聊聊如何使用…

单细胞scATAC-seq测序基础知识笔记

单细胞scATAC-seq测序基础知识笔记 单细胞ATAC测序前言scATAC-seq数据怎么得出的&#xff1f; 该笔记来源于 Costa Lab - Bioinformatics Course 另一篇关于scRNA-seq的请移步 单细胞ATAC测序前言 因为我的最终目的是scATAC-seq的数据&#xff0c;所以这部分只是分享下我刚学…

c++类继承

一、继承的规则 &#xff08;1&#xff09;基类成员在派生类中的访问权限不得高于继承方式中指定的权限。例如&#xff0c;当继承方式为protected时&#xff0c;那么基类成员在派生类中的访问权限最高也为protected&#xff0c;高于protected会降级为protected&#xff0c;但低…

阿里云部署的幻兽帕鲁服务器,为什么没有一键更新游戏服务端、导入存档、可视化的游戏配置

如果有的朋友发现自己用阿里云部署的幻兽帕鲁服务器&#xff0c;找不到一键更新游戏服务端、一键导入存档、以及可视化的游戏配置。其实答案很简单&#xff0c;因为你的“阿里云计算巢”版本需要更新。你只需要更新到最新版&#xff0c;就可以拥有这些便捷的功能了。 具体的操…

【备战蓝桥杯】——循环结构终篇

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-yl4Tqejg4LkjZLAM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

一文辨析清楚LORA、Prompt Tuning、P-Tuning、Adapter 、Prefix等大模型微调方法

本文探讨了大模型微调的核心概念和方法&#xff0c;详细介绍了如LoRA、Adapter Tuning、Prefix Tuning等多种微调策略。每种方法的原理、优势及适用场景都有详尽阐述&#xff0c;大家可以根据不同的应用需求和计算资源&#xff0c;选择到最合适自己的微调途径。 希望本文能对想…

Linux下grep命令详解

grep #文件内容过滤显示 #在指定的普通文件中查找并显示含有指定字符串的行&#xff0c;也可与管道符一起使用格式&#xff1a; grep-参数 查找条件 文件名 参数&#xff1a; 示例&#xff1a; [rootnode1 ~]# grep -n "root" /etc/passwd # -n&a…

LangChain结合通义千问的自建知识库

LangChain结合通义千问的自建知识库 在使用了通义千问API了之后&#xff0c;下一步就是构建知识库文档&#xff0c;使用了比较有名的LangChian&#xff0c;最后成果将自己的txt生成了知识向量库&#xff0c;最后我还把自己的论文生成了一个知识向量库&#xff0c;然后问他我的…

Java 基于 SpringBoot+Vue 的前后端分离的火车订票管理系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…