vivado TCL运行编译

用Tcl运行合成

运行合成的Tcl命令是synth_design。通常,此命令与一起运行多个选项,例如:

synth_design -part xc7k30tfbg484-2 -top my_top

在本例中,synth_design使用-part选项和-top选项运行。在Tcl控制台中,您可以设置合成选项,并使用Tcl命令选项运行合成。要检索选项列表,请在Tcl控制台中键入synth_design-help。以下内容snippet是-help输出的一个示例:synth_design-help。

Description:
Synthesize a design using Vivado Synthesis and open that design
Syntax:
synth_design [-name <arg>] [-part <arg>] [-constrset <arg>] [-top <arg>]
[-include_dirs <args>] [-generic <args>] [-
verilog_define <args>]
[-flatten_hierarchy <arg>] [-gated_clock_conversion
<arg>]
[-directive <arg>] [-rtl] [-bufg <arg>] [-no_lc]
[-shreg_min_size <arg>] [-mode <arg>]
[-fsm_extraction <arg>][-rtl_skip_mlo][-rtl_skip_ip]
[-rtl_skip_constraints]
[-keep_equivalent_registers] [-resource_sharing <arg>]
[-cascade_dsp <arg>] [-control_set_opt_threshold <arg>]
[-max_bram <arg>] [-max_uram <arg>]
[-max_dsp <arg>] [-max_bram_cascade_height <arg>]
[-max_uram_cascade_height <arg>] [-retiming] [-
no_retimimg]
[-no_srlextract]
[-assert] [-no_timing_driven] [-sfcu] [-debug_log] [-
quiet] [-verbose]
Returns:
design object
Usage:
Name Description
----------------------------------------------------------------------------
--------------------
[-name] Design name
[-part] Target part
[-constrset] Constraint fileset to use.
[-top] Specify the top module name.
[-include_dirs] Specify verilog search directories.
[-generic] Specify generic parameters. Syntax: -generic
<name>=<value> -generic <name>=<value> ...
[-verilog_define] Specify verilog defines. Syntax:
-verilog_define <macro_name>[=<macro_text>]
-verilog_define <macro_name>[=<macro_text>]
[-flatten_hierarchy] Flatten hierarchy during LUT mapping.
Values:
zull, none, rebuilt.
Default: rebuilt
[-gated_clock_conversion] Convert clock gating logic to flop
enable.
Values: off, on, auto
Default: off
[-directive] Synthesis directive. Values: default,
RuntimeOptimized, AreaOptimized_high,
AreaOptimized_medium, AlternateRoutability,
AreaMapLargeShiftRegToBRAM,
AreaMultThresholdDSP, FewerCarryChains.
Default: default
[-rtl] Elaborate and open an rtl design.
[-bufg] Max number of global clock buffers
used by synthesis.
Default =
12
[-no_lc] Disable LUT combining. Do not allow
combining.
[-shreg_min_size] Minimum length for chain of
registers to be mapped onto
SRL.
Default: 3
[-mode] The design mode. Values: default,
out_of_context.
Default: default
[-fsm_extraction] FSM Extraction Encoding. Values:
off, one_hot,
sequential, johnson, gray,
user_encoding, auto.
Default: auto
[-rtl_skip_mlo] Skip mandatory logic optimization
for RTL elaboration of
the design; requires -rtl option.
[-rtl_skip_ip] Exclude subdesign checkpoints in
the RTL elaboration of
the design; requires -rtl option.
[-rtl_skip_constraints] Do not load and validate
constraints against elaborated
design; requires -rtl option.
[-srl_style] Static SRL Implementation Style.
Values: register,
srl, srl_reg, reg_srl, reg_srl_reg.
[-keep_equivalent_registers] Prevents registers sourced by the
same logic from being
merged. (Note that the merging can
otherwise be
prevented using the synthesis KEEP
attribute).[-resource_sharing] Sharing arithmetic
operators. Value: auto, on, off.
Default: auto
[-cascade_dsp] Controls how adders summing DSP
block outputs will be
implemented. Value: auto, tree,
force.
Default: auto
[-control_set_opt_threshold] Threshold for synchronous control
set optimization to
lower number of control sets. Valid
values are 'auto'
and non-negative integers. The
higher the number, the
more control set optimization will
be performed and
fewer control sets will result. To
disable control set
optimization completely, set to 0.
Default: auto
[-max_bram] Maximum number of block RAM allowed
in design. (Note -1
means that the tool will choose the
max number allowed
for the part in question).
Default: -1
[-max_uram] Maximum number of UltraRAM blocks
allowed in design.
(Note -1 means that the tool will
choose the max number
allowed for the part in question).
Default: -1
[-max_dsp] Maximum number of block DSP allowed
in design. (Note -1
means that the tool will choose the
max number allowed
for the part in question).
Default: -1
[-max_bram_cascade_height] Controls the maximum number of BRAM
that can be cascaded
by the tool. (Note -1 means that
the tool will choose
the max number allowed for the part
in question).
efault: -1
[-max_uram_cascade_height] Controls the maximum number of
UtraRAM that can be
cascaded by the tool. (Note -1
means that the tool will
choose the max number allowed for
the part in question).
Default: -1
[-retiming] Seeks to improve circuit
performance for intra-clock
sequential paths by automatically
moving registers
(register balancing) across
combinatorial gates or LUTs.
It maintains the original behavior
and latency of the
circuit and does not require
changes to the RTL sources.
This is for non Versal devices only.
[-no_retimiming] For Versal devices only.Turns off
the retiming features
that are on by default in Versal.
[-no_srlextract] Prevents the extraction of shift
registers so that they
get implemented as simple registers.
[-assert] Enable VHDL assert statements to be
evaluated. A
severity level of failure will stop
the synthesis flow
and produce an error.
[-no_timing_driven] Do not run in timing driven mode.
[-sfcu] Run in single-file compilation unit
mode.
[-debug_log] Print detailed log files for
debugging.
[-quiet] Ignore command errors.
[-verbose] Suspend message limits during
command

对于-generic选项,需要使用VHDL布尔值和进行特殊处理std_logic_vvector类型,因为这些类型在其他格式中不存在。代替TRUE,例如,应给出FALSE或0010,Verilog标准。对于布尔值,FALSE的值为:

-generic my_gen=1‘b0
对于std_logic_vvector,0010的值为:
-generic my_gen=4‘b0010

注意:不支持重写字符串泛型或参数。

注意:如果在顶级上使用-mode out_of_context选项,请不要使用PACKAGE_PIN属性,除非在RTL中实例化了I/O缓冲区。out_of_context选项告诉工具不要推断包括三态缓冲区在内的任何I/O缓冲区。如果没有缓冲区,你会得到砂矿器中的错误。Vivado Design Suite Tcl命令参考指南中提供了详细版本的帮助(UG835)。要确定任何等效于Vivado IDE操作的Tcl,请在Vivado中运行命令IDE,并查看Tcl控制台或日志文件中的内容。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

layui

基于复杂结构的自定义模版相关介绍 我这里的接口给的格式数据 我这里搜索往返时候要显示成这样的 layui.use([table,form], function(){ var table layui.table; var form layui.form;// 渲染表格 table.render({ elem: #test-table-reload,toolbar: #toolbarDemo, …

【驱动】块设备驱动(四)-块设备驱动层

前言 块设备驱动程序是Liux块子系统中的最底层组件。它们从IO调度程序中获得请求&#xff0c;然后按要求处理这些请求。一个块设备驱动程序可能处理几个块设备。例如&#xff0c;IDE设备驱动程序可以处理几个IDE磁盘&#xff0c;其中的每个都是一个单独的块设备。而且&#xff…

json、jsonlines格式化显示

一、对于vscode暂时没找到合适的方法来格式化 二、利用JetBrains的IDE(例如PyCharm)来格式化(快捷键CtrlAltL) 三、利用jq工具&#xff1a;(速度快&#xff0c;推荐。) # 安装 sudo apt install jq# 使用&#xff08;假设你已经有一个dev.jsonlines文件&#xff09; jq . dev.…

数据库删除事务提交之后数据恢复

项目场景&#xff1a; 前几天的遇到的&#xff0c;老大让我删一条数据&#xff0c;不熟悉业务&#xff0c;我看了一下查询的sql语句&#xff0c;发现关联了三个表t1,t2,t3&#xff0c;把第三张表t3填报记录删掉了&#xff0c;又运行了一遍查询sql发现还能搜索到&#xff0c;问…

vulnhub靶场之Thales

一.环境搭建 1.靶场描述 Description : Open your eyes and change your perspective includes 2 flags:user.txt and root.txt. Telegram: machineboy141 (for any hint) This works better with VIrtualBox rathe than VMware 2.靶场地址 https://www.vulnhub.com/entry/t…

ensp实验合集(二)

实验6 VLAN划分....................................................................... - 30 - 实验7 路由器调试及常用命令使用........................................ - 42 - 实验8 配置静态路由器............................................................…

GCC编译器的使用以及使用Makefile语法进行操控

Makefile 这里使用的Makefile操控编译器 gcc 常见的组成部分 c&#xff1a; gcc 的一个版本&#xff0c;默认语言设置为 C&#xff0c;而且在链接的时候自动包含标准 C 库。这和 g 一样configure&#xff1a; GCC 源代码树根目录中的一个脚本。用于设置配置值和创建 GCC 编…

P2SH地址嵌套SegWit脚本

主要分为以下步骤&#xff1a; 创建SegWit脚本&#xff1a;首先&#xff0c;您需要创建一个SegWit脚本&#xff0c;可以是Pay-to-Witness-Public-Key-Hash&#xff08;P2WPKH&#xff09;或Pay-to-Witness-Script-Hash&#xff08;P2WSH&#xff09;脚本。这些脚本使用新的Seg…

pytest中fixture的使用方法

一、pytest中的fixture是什么 为可靠的和可重复执行的测试提供固定的基线&#xff08;可以理解为测试的固定配置&#xff0c;使不同范围的测试都能够获得统一的配置&#xff09;&#xff0c;fixture提供了区别于传统单元测试&#xff08;setup/teardown&#xff09;风格的令人…

2024最新版鸿蒙HarmonyOS开发工具安装使用指南

2024最新版鸿蒙HarmonyOS开发工具安装使用指南 By JacksonML 0. 什么是鸿蒙Harmony OS&#xff1f; 华为鸿蒙系统&#xff08;HUAWEI Harmony OS&#xff09;&#xff0c;是华为公司在2019年8月9日于东莞举行的华为开发者大会&#xff08;HDC.2019&#xff09;上正式发布的分…

算法每日一题: Nim游戏 | 找规律

哈哈&#xff0c;大家好&#xff0c;我是星恒&#xff0c;今天的每日一题真开心&#xff0c;连做了3天牢&#xff0c;终于ak了一道&#xff0c;太不容易了 这道题其实就是找规律&#xff0c;刚开始我还以为是动归&#xff0c;但是列举了不少例子之后&#xff0c;发现有自己直接…

蓝桥杯每日一题-----数位dp练习

题目 链接 参考代码 写了两个&#xff0c;一个是很久以前写的&#xff0c;一个是最近刚写的&#xff0c;很久以前写的时候还不会数位dp所以写了比较详细的注释&#xff0c;这两个代码主要是设置了不同的记忆数组&#xff0c;通过这两个代码可以理解记忆数组设置的灵活性。 im…

redis源码之:集群创建与节点通信(1)

一、创建集群与添加节点&#xff08;meet&#xff09; 通过redis源码之&#xff1a;redis-cli 集群命令发现&#xff0c;不管是新建cluster集群还是往集群里添加新节点&#xff0c;都是通过meet指令完成&#xff0c;假设有ABCD四个节点&#xff0c;新建集群&#xff1a;redis-…

vue3父子组件相互调用方法(setup)

一、父组件调用子组件方法 子组件需要使用defineExpose对外暴露方法&#xff0c;父组件才可以调用&#xff01; 1.父组件 <template><button click"getChild">触发子组件方法</button><!-- 一&#xff1a;定义 ref --><Child ref"…

Vue学习笔记之组件基础

1、组件的定义 一般将 Vue 组件定义在一个单独的 .vue 文件中&#xff0c;称做单文件组件&#xff1b;当然也可以将组件直接定义在js文件中&#xff0c;如下js代码&#xff0c;定义一个组件BlogPost&#xff0c;通过props定义对外暴露属性title&#xff0c;父组件传递title&am…

分享62个节日PPT,总有一款适合您

分享62个节日PPT&#xff0c;总有一款适合您 62个节日PPT下载链接&#xff1a;https://pan.baidu.com/s/1mheNtIvXknGHse44FW7nOw?pwd6666 提取码&#xff1a;6666 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易…

api接口是什么意思,api接口该如何防护呢?

API接口&#xff1a;应用程序与服务之间的接口 什么是API接口 API是应用程序接口的缩写&#xff0c;指的是能够让不同的应用程序之间交换数据的一种方式。一个API接口就是应用程序与服务之间的接口&#xff0c;它定义了服务提供的功能和数据&#xff0c;以及应用程序如何访问这…

【工具】使用asciidoctor-pdf将adoc文件转换成pdf

文章目录 配置方法配置gem镜像源安装工具 asciidoctor-pdf 将adoc转换成pdfreference 配置方法 使用gem镜像源&#xff0c; 安装工具 asciidoctor-pdf 配置gem镜像源 查找默认源 gem sources移除默认源 gem sources --remove https://rubygems.org/添加新镜像源 gem source…

2023年全球软件架构师峰会(ArchSummit上海站):核心内容与学习收获(附大会核心PPT下载)

微服务架构是当今软件架构的主流趋势之一。随着云计算和分布式系统的普及&#xff0c;越来越多的企业开始采用微服务架构来构建他们的应用。微服务架构可以将一个大型的应用拆分成多个小型的服务&#xff0c;每个服务都独立部署、独立运行&#xff0c;并通过轻量级的通信协议进…

非常好看的CSS加载中特效,引用css文件既可用

非常好看的CSS加载中特效 demo效果源码&#xff1a; <!DOCTYPE html5> <head><link rel"stylesheet" type"text/css" href"demo.css"/><link rel"stylesheet" type"text/css" href"loaders.css&…