首页 > 其他分享 >vivado 打开综合设计

vivado 打开综合设计

时间:2024-03-13 20:59:40浏览次数:19  
标签:run Vivado vivado design synth 设计 打开 open

打开综合设计

实现的第一步是将合成设计中的网表读取到内存中并应用设计约束。您可以通过各种方式打开合成设计,具体取决于使用的流量。

创建内存中的设计

为了创建内存中的设计,Vivado design Suite使用以下过程进行组合网表文件、约束文件和目标零件信息:

1.汇编网表。

如果需要,网表是从多个来源汇编而成的。设计可以包括结构化Verilog、EDIF和Vivado IP。

重要!AMD UltraScale™的Vivado Design Suite不支持NGC格式的文件设备。建议您使用Vivado Design Suite IP自定义重新生成IP具有本地输出产品的工具。或者,您可以使用convert_ngc Tcl实用程序来转换NGC文件转换为EDIF或Verilog格式。然而,AMD建议使用本机Vivado IP,而不是XST生成的NGC

2.将传统网表基元转换为当前支持的Unisim基元子集。

提示:使用report_transformed_pritimits生成已转换单元格的列表。

3.处理来自XDC文件的约束。

这些约束包括时间约束和物理约束,例如封装用于平面布置的引脚分配和Pblocks。

重要!查看识别失败约束的关键警告。可能会放置约束对已优化或不再存在的设计对象。Tcl命令“write_xdc”-constraints INVALID’还捕获无效的XDC约束。

4.构建放置宏。

Vivado工具根据单元的连接或放置创建单元的放置宏以简化放置。放置宏的示例包括:

•基于XDC的宏。

•相对放置的宏(RPM)。

注:RPM是作为一个组而不是单个单元格放置的。

•需要放置在多个CLB中的长承载链。

注意:组成进位链的基元必须属于单个宏,以确保下游放置将其对齐为垂直切片。

Tcl命令

下表中显示的Tcl命令可用于将合成设计读入内存,具体取决于设计中的源文件和设计的状态。

合成设计

synth_design命令既可用于项目模式,也可用于非项目模式。它在运行在具有指定选项的RTL源上进行Vivado合成,并将设计读入内存合成后。

synth_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] [-srl_style <arg>] [-keep_equivalent_registers] [-resource_sharing <arg>] [-cascade_dsp <arg>] [-control_set_opt_threshold <arg>] [-incremental <arg>] [-max_bram <arg>] [-max_uram <arg>] [-max_dsp <arg>] [-max_bram_cascade_height <arg>] [- max_uram_cascade_height <arg>] [-retiming] [-no_srlextract] [-assert] [- no_timing_driven] [-sfcu] [-debug_log] [-quiet] [-verbose]

synth_design示例脚本

以下是示例中create_bft_batch.tcl脚本的摘录/软件安装的Vivado_Tutorials目录。

# Setup design sources and constraints read_vhdl -library bftLib [ glob ./Sources/hdl/bftLib/*.vhdl ] read_vhdl ./Sources/hdl/bft.vhdl read_verilog [ glob ./Sources/hdl/*.v ] read_xdc ./Sources/bft_full.xdc # Run synthesis, report utilization and timing estimates, write design checkpoint synth_design -top bft -part xc7k70tfbg484-2 -flatten rebuilt write_checkpoint -force $outputDir/post_synth

有关使用synth_design示例脚本的更多信息,请参阅Vivado design Suite教程:设计流程概述(UG888)和Vivado设计套件用户指南:综合(UG901)。synth_design示例脚本读取VHDL和Verilog文件,读取约束文件,以及综合指定部分的设计。该设计由Vivado工具打开到synth_design完成时的内存。完成后编写设计检查点合成有关synth_design Tcl命令的更多信息,请参阅Vivado design Suite Tcl命令参考指南(UG835)。本参考指南还提供了Tcl的完整描述命令及其选项。

打开检查点

open_checkpoint命令打开一个设计检查点文件(DCP),在内存中创建一个新项目,并使用的内容立即在新项目中初始化设计检查点。此命令可用于打开顶层设计检查点或检查点为断章取义的m创建

注意:在以前的版本中,read_checkpoint命令用于读取和初始化检查点设计。从2014.1版本开始,此功能由open_checkpoint命令提供。这个read_checkpoint的行为已经更改,因此它只将检查点文件添加到的列表中源文件。这与其他读取命令一致,如read_verilog、read_vhdl和read_xdc。需要一个单独的link_design命令来初始化设计并将其加载到使用read_checkpoint时的内存。打开检查点时,无需先创建项目。打开检查点命令将设计数据读取到内存中,以非项目模式打开设计。参考一节了解Vivado Design Suite用户中的项目模式和非项目模式指南:设计流程概述(UG892),了解有关项目模式和非项目的更多信息模式

open_checkpoint Syntax open_checkpoint [-part <arg>] [-quiet] [-verbose] <file> open_checkpoint Example Script # Read the specified design checkpoint and create an in-memory design. open_checkpoint C:/Data/post_synth.dcp

open_checkpoint示例脚本打开合成后设计检查点文件。

打开(_run)open_run命令打开先前完成的合成或实现运行,然后加载Vivado工具的内存中设计。

重要!open_run命令仅在项目模式下工作。中不支持设计运行非项目模式。在RTL设计上实现之前使用open_run打开之前完成的Vivado合成运行,然后将合成的网表加载到内存中。

提示:因为内存中的设计是自动更新的,所以在之后不需要使用open_run合成设计。您只需要使用open_run从早期设计会议。open_run命令仅用于RTL设计。要打开基于网表的设计,请使用链接设计。

open_run Syntax open_run [-name <arg>] [-quiet] [-verbose] <run> open_run Example Script # Open named design from completed synthesis run open_run -name synth_1 synth_1

open_run示例脚本从完成合成运行(也称为synth_1)。如果在设计已经在内存中时使用open_run,Vivado工具会提示您保存打开新设计之前对当前设计的任何更改。链接设计link_design命令从网表源(例如从第三方合成工具),并将网表和设计约束与目标部件链接。

提示:link_design命令同时支持项目模式和非项目模式来创建网表设计。在未加载网表的情况下使用link_design-part<arg>打开的空白设计设备探索。

link_design Syntax link_design [-name <arg>] [-part <arg>] [-constrset <arg>] [-top <arg>] [-mode <arg>] [-pr_config <arg>] [-reconfig_partitions <args>] [-partitions <args>] [-quiet] [-verbose] link_design Example Script # Open named design from netlist sources. link_design -name netDriven -constrset constrs_1 -part xc7k325tfbg900-1

如果在设计已在内存中时使用link_design,Vivado工具会提示您在打开新设计之前,请保存对当前设计的任何更改。

建议:在Vivado工具中创建内存中的合成设计后,查看错误和缺少或不正确约束的严重警告。成功创建设计后,您可以开始运行分析、生成报告、应用新约束或运行实现。

注意:有关link_design的部分重新配置选项的更多信息,请参阅阅读部分Vivado设计套件中的设计模块用户指南:动态功能扩展(UG909)。打开内存中的合成设计后,立即运行report_timing_summary以检查定时约束。这确保了设计目标的完整性和合理性。对于有关report_timing_summary命令的详细描述,请参阅Vivado Design SuiteTcl指令参考指南(UG835)

BUFG优化

发生在link_design开头的强制逻辑优化(MLO)支持使用CLOCK_BUFFER_TYPE属性插入全局时钟缓冲区。支持的值为BUFG用于7系列,BUFG和BUFGCE用于UltraScale、AMD UltraScale+™和Versal设备。值NONE可用于所有体系结构,以抑制全局时钟缓冲区通过MLO和opt_ design进行插入。对于BUFG和BUFGCE,MLO插入相应的缓冲区类型来驱动指定的网络。CLOCK_BUFFER_TYPE的使用提供了使用XDC控制缓冲区插入的优势从而不需要修改设计源或网表。插入的缓冲区使用CLOCK_BUFFER_TYPE不受任何限制,因此必须谨慎使用该属性避免在设计中引入过多全局时钟,这可能会导致放置失败。有关详细信息,请参阅《Vivado Design Suite属性参考指南》(UG912)。

标签:run,Vivado,vivado,design,synth,设计,打开,open
From: https://blog.csdn.net/cckkppll/article/details/136691191

相关文章

  • vivado 启动实施运行
    启动实施运行您可以启动活动的实现运行,也可以选择同时启动多个运行。启动单个实施运行执行以下任意操作以在“设计运行”窗口中启动活动的实现运行。启动单个实现运行将为实现启动一个单独的过程。提示:在“设计运行”窗口中选择一个运行,以启动活动运行以外的运行。•在Flo......
  • Node+Vue毕设购物网站的设计与渗透测试(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在电子商务迅猛发展的今天,购物网站已成为人们日常生活的一部分。一个具备良好用户体验、安全可靠的购物网站能够吸引并留住大量用户,对于提升品牌影响力和实......
  • 求解器研究中的实验设计
    最近收集了部分文献中实验设计如下: 1.文献:CommunityStructureinIndustrialSATInstancesA.段落:第7节第4段后半段。讲解了一个实验,很有意思。笔记:(1)关于SAT结论对应于可能有多个不同的赋值序列。特别是:Noticethatthisexperimentisequivalenttoremovingallac......
  • 毕业设计课题:家庭理财系统,基于java+SSM+mysql
          一、前言介绍       近几年来,网络事业,特别是Internet发展速度之快是任何人都始料不及的。目前,由于Internet表现出来的便捷,快速等诸多优势,已经使它成为社会各行各业,甚至是平民大众工作,生活不可缺少的一个重要组成部分。        随着社会的发展线......
  • 工程管理系统简介 工程管理系统源码 java工程管理系统 工程管理系统功能设计
     鸿鹄工程项目管理系统SpringCloud+SpringBoot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统1.项目背景一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管理的提升提出了更......
  • 跟着GPT学设计模式之桥接模式
    说明桥接模式,也叫作桥梁模式,英文是BridgeDesignPattern。在GoF的《设计模式》一书中,桥接模式是这么定义的:“Decoupleanabstractionfromitsimplementationsothatthetwocanvaryindependently。”翻译成中文就是:“将抽象和实现解耦,让它们可以独立变化。”桥接模式......
  • 从零开始利用MATLAB进行FPGA设计(一):建立脉冲检测模型的Simulink模型2
    目录1.模块的总体结构1.1从工作空间导入输入信号1.2FIR滤波器2.Subsystem3.MATLABFunction文章灵感来源于MATLAB官方免费教程:HDLCoderSelf-GuidedTutorial考虑到MATLAB官网的英文看着慢,再加上视频讲解老印浓浓的咖喱味,我决定记录利用MATLAB&Simulink&SystemGenerat......
  • 设计模式学习(一)单例模式的几种实现方式
    设计模式学习(一)单例模式的几种实现方式前言饿汉式懒汉式懒汉式DCLP局部静态式(Meyers'Singleton)单例模板参考文章前言单例模式,其核心目标是确保在程序运行的过程中,有且只有存在一个实例才能保证他们的逻辑正确性以及良好的效率。因此单例模式的实现思路就是确保一个......
  • java毕业设计基于微信小程序的新闻管理系统
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着移动互联网技术的飞速发展,智能手机的普及率日益增高,人们获取信息的方式也发生了翻天覆地的变化。微信小程序作为一种新型的应用形态,因其无需下载安装......
  • C# 创建一个分布式文件存储系统需要怎么设计??
    创建一个分布式文件存储系统在C#中涉及的技术栈和架构设计相对复杂,主要包括以下几个关键步骤和技术考量:设计阶段系统架构设计:Tracker服务:设计跟踪服务器(TrackerServer),负责管理存储节点(StorageServer)的状态,提供文件存储位置索引服务。存储节点:设计存储节点,用于实际存储文......