开云-学习Fusion

进修Fusion_Compiler_FE17:Timing 相干:Modes, Corners and Scenarios2 时候:2024-12-13 21:21:51 手机看文章

扫描二维码随时随地手机看文章

经由过程场景阐发最小化模式和角点的数目:• 如若你继续了包括夹杂模式、角点和场景的束缚前提:▲ 为每一个场景建立独有的模式和角点,借此可以移除不异的场景。▲ 履行remove_duplicate_timing_contexts号令来找出模式和角点的最小调集,移除反复项,并从头分派场景。▲ 运行write_script号令来记实模式、角点和场景相干的束缚前提,以便后续利用或审查。

 1create_mode M1; create_corner C1 2create_scenario-nameS1-modeM1-cornerC1 3create_modeM2; create_corener C2 4create_scenario-nameS2-modeM2-cornerC2 5...... 6current_scenarioS1 7read_sdcS1.sdc 8current_scenarioS2 9read_sdcS2.sdc 10...... 11remove_duplicate_timing_contexts 12write_script

假定在上述例子中,remove_duplicate_timing_contexts号令发现模式M1和M2现实上是不异的模式(由于它们同享完全不异的束缚前提):它会删除模式M2,并将场景S2从头指派给M1(而不是本来的M2)。该号令一样会删除完全不异的场景。例如,假如S1=M1+C1且S2=M2+C2,进一步假定M1=M2、C1=C2和S1=S2,那末S2、M2和C2都将被移除。write_script号令会建立一个名为wscript的目次,此中包括为每一个模式、角点、场景和全局束缚零丁的Tcl文件。当你的网表或结构计划产生转变时,在设计设置阶段加载这些建立的文件。

查抄时序束缚前提:

• 可以使用以下号令来查抄束缚前提:▲ 利用check_timing查抄缺掉的时钟、时钟域交叉、缺掉的输入/输出延时等问题…▲ 运行report_exceptions辨认具有单周期时序异常的路径:子虚路径、多周期路径、异步最小或最年夜延迟路径。▲ 履行report_case_analysis以确认模式设置的准确性。▲ 应用report_disable_timing来辨认含有被禁用时序弧的路径(这些路径将不会针对时序进行优化)。

1check_timing 2foreach_in_collectionmode[all_modes]{ 3 current_mode 美金mode 4 report_exceptions 5 report_case_analysis 6 report_disable_timing 7}

■ 大都report_号令均针对当前场景生效:■ 部门号令供给-scenario,-corner, 和/或-mode选项,以便调剂陈述内容所触及的场景、角点或模式。

节制多角多模(MCMM)时序陈述

• 陈述所有勾当的、启用成立时候阐发的场景中,各个路径组内的单一最差成立时序路径:report_timing

• 从列出的和勾当的角点、模式或场景中,别离陈述单一最差成立时序路径:

1report_timing-corners"C1C4" 2report_timing-modesFUNC* 3report_timing-scenarios"S1S2S5S6"

• 别离为每一个活跃的角点、模式、场景或路径组陈述最差成立时序路径:

1report_timing-reportbycorner|mode|scenario|group

• 别离为每一个列出的和勾当的角点、模式或场景陈述最差成立时序路径:

1report_timing-worst-corners"C1C4"-modesFUNC*-scenarios"S1S2S5S6"
节制场景阐发与优化:

•create_scenario号令用在建立场景,将其设为勾当状况,并启用以下阐发类型:

成立时候和连结时候

泄露功耗与动态功耗

最年夜转换、最年夜电容与最小电容

• 针对所有勾当场景和其启用的阐发类型,优化会同时进行。

即便启用,连结时候优化也不会在综合阶段履行。

当利用同时产生的时钟和数据(CCD)时,会斟酌到连结时候。

• 利用set_scenario_status号令限制阐发类型,或在编译前将场景设为非勾当状况。

详情请拜见下一页的示例。

CCD = 同不时钟与数据(Concurrent Clock and Data)。CCD优化经由过程改变启动和捕捉触发器的时钟延迟值,可以改良数据路径的时序。当为知足成立时候而调剂时钟偏斜时,连结时候可能会遭到严重影响。是以,在编译进程中同时启用连结场景尤其主要。虽然这不会直接启用连结修复或优化,但它能确保连结时候不至在年夜幅恶化。CCD优化既可以在利用抱负时钟时进行,也能够在进行时钟树综应时利用。这一主题将在后续单位中更具体地会商。

点窜Scenario 状况的示例:

 1create_scenario -modemFUNC-cornercSLOW 2create_scenario-modemTEST-cornercSLOW 3create_scenario-modemFUNC-cornercFAST 4create_scenario-modemTEST-cornercFAST 5#DisablesetuptimingfortheFASTcorner 6set_scenario_status*cFAST-setup false 7#DisableleakagepoweranalysisandoptimizationfortheTESTmodescenarios: 8set_scenario_statusmTEST*-leakage_power false 9#Disablefasttestmode 10set_scenario_statusmTEST::cFAST-active false 11compile_fusion

上表中场景名称后的 "*" 暗示这些场景名称为用户自界说(而非默许的 "mode::corner" 格局)。除利用report_scenarios号令生成包括场景状况设置的表非分特别,你还可以经由过程查询场景属性来获得近似信息:mode(模式)、corner(角点)、active(勾当)、setup(成立时候)、hold(连结时候)、leakage_power(泄露功耗)、dynamic_power(动态功耗)、max_tran(最年夜转换)、max_cap(最年夜电容)、min_cap(最小电容)。对剧本编写目标而言,这类方式比利用report_scenarios更加适用。示例以下:

界说操作前提下的角点PVT值

• Fusion Compiler 撑持利用 set_operating_conditions 来肯定每一个角点的PVT值。set_operating_conditions Worst -library saed32lvt_ss0p95vl25c.db• 这是一种间接方式,依靠在操作前提模子名称和库来肯定PVT数值。

在上述示例中,经由过程在库 saed321vt_ss0p95vl25c.db 中指定操作前提名称为 Worst,别离肯定了标称PVT值为0.99(典型工艺误差)、125°C(温度)和0.95V(电压)。上述表格(针对分歧的LVT、IP1和IP2库)和后续页面中的表格,是经由过程利用 report_lib 号令生成的。

直接界说PVT - 保举

• 强烈建议利用直接方式,以提高清楚度和易用性:

1current_corner ss125c 2set_process_number 0.99 3set_voltage 0.75 4set_voltage 0.95 -object_list VDDH 5set_temperature 125

在施加电压时,您可以直接为设计设定电压(如第一个示例所示)。假如UPF建立了电源收集,那末也需要对该收集设定电压。例如,假如建立了VDD和VSS这两个收集:

1set_voltage -object_list VDD 0.95 2set_voltage -object_list VSS 0.0 

关在工艺(P)值的一点申明:年夜约几十年前,用户仅取得一个在“典型”PVT角点下特点化的库。该库会包括多个操作前提,每一个前提都有一套分歧的PVT值,以代表分歧的角点。时序阐发随后会将典型单位延迟乘以P值和基在工艺k因子的V和T缩放因子,从而推导出“max”和“min”角点的延迟。为了暗示比典型工艺更慢的角点,会利用年夜在1.0的P值;相反,对比典型工艺更快的角点,则利用小在1.0的P值。例如,P值为1.2意味着所有单位延迟因为较慢的工艺角点而比典型延迟慢20%;一样,P值为0.8则意味着因为较快的工艺角点,单位延迟比典型环境快20%。

现在,P值(或V和T值)不再用在任何缩放目标,由于每一个库中的“标称”单位延迟已针对特定的PVT角点进行了特点化。PVT值仅用在标识库的标称PVT角点。是以,很多库供给商已改成在所有工艺角点上利用P值为1的做法。这类做法直接致使了直接PVT指定方式的一个问题:没法辨别两个针对不异V和T但针对慢速和快速工艺角点特点化的分歧库,由于这两个库的P值都是1。解决这个问题的一种方式是为分歧的工艺角点利用分歧的P值(例如,上述示例中的0.99和1.01)。只要这些值分歧,具体数值其实不主要。假如不克不及利用分歧的P值,可以经由过程利用“工艺标签”来辨别库,这一点稍后会商。

欲知详情,请下载word文档 下载文档

上一篇:开云-通信系统中常见的中射频设计方案 下一篇:开云-【vivado学习五】时序分析