欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    常用时序分析SDC.docx

    • 资源ID:6804765       资源大小:50.60KB        全文页数:55页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    常用时序分析SDC.docx

    1、常用时序分析SDC(一)命令参考 常用时序分析SDC Define design environment1. Set_operating_conditions1.1. Set_wire_load_model1.2. Set_driving_cell1.3. Set_load1.4. Set_fanout_load1.5. 1.6. Set_min_library Set design constraints2. Design rule constraints2.1. Set_max_transition2.1.1. Set_max_fanout2.1.2. Set_max_capacitanc

    2、e2.1.3. Design optimization constraints2.2. Create_clock2.2.1. create_generated_clock2.2.2. Set_clock_latency2.2.3. Set_propagated_clock2.2.4. Set_clock_uncertainty2.2.5. Set_input_delay2.2.6. Set_output_delay2.2.7. Set_max_area2.2.8. Other commands3. set_clock_groups3.1. set_false_path3.2. set_case

    3、_analysis3.3. set_max_delay3.4. Do not exist in timing fix sdc file:1. Set_max_area1.1. set_operation_conditions1.2. set_wire_load_model1.3. set_ideal_*1.4. Must be placed in timing fix sdc file:2. Set_clock_uncertainty,2.1. set_max_transition2.2. set_propagated_clock2.3. create_clock1 / 62 在当前设计中创建

    4、一个时钟 语法:status create_clock -name clock_name -add source_ojbects -period period_value -waveform edge_list 数据类型: clock_name 字符 列表 source_objects 浮点 period_value 列表 edge_list 参数:clock_name-name source_objects指定时钟名称。如果你不使用该选项,时钟名称将会与第一个时钟源在,你就必须使用本选项,它会创建一个与指定的一样。如果你没有使用souce_objects一起使用可以为时钟增加一个source

    5、_objects端口或接脚无关的虚拟时钟。本选项与。描述性的名称 选项,并且要为有相同源的时钟分配不同的名选项,你必须使用-name-add如果你使用 称。 如果省略,就必须要指定创建时钟的节点。这也是默认的做法。(注解:-name 不指定时钟创建节点的意思就是指创建一个虚拟时钟。 alias。)可以认为是一个选项,这个如果既指定了时钟节点,有写了-name-name (疑难点:虚拟时钟,-add选项) -add 2 / 62 指明是否将该时钟加到已存在的时钟中或将其覆盖。使用本选项抓取有相同源不同波形,选项。定义在相同源接脚进行同时分析的复合时钟。你使用该选项时,必须使用-name因为或端口

    6、的复合时钟相比一个单一时钟,会导致更长的运行时间和更高的内存占用。使用时序综合引擎必须搜索所有开始(launch)和截取(capture)组合的可能性。除非复合时钟分析的相set_false_path该选项在默认为关闭,命令限制不期望的组合。 。被设为关变量timing_enable_multiple_clocks_pre_regtrue ,-add)(疑难点:timing_enable_multiple_clocks_per_reg 命令,它也是有-add选项的。)(注意,这是create_clock(举一个简单的例子,对于一个输入时钟端口,你创建了两个时钟。第二个时钟创建的互相检查的和cl

    7、k2-add选项。则,看timing路径的时候,就会发现clk1时候使用了把它们进行设置。这属于两时钟物情况。这种情况是不真实的。需要使用false path 理互斥的范畴。) source_objects -name 指定应用于时钟的接脚或端口的列表。如果你没有使用本选项,你必须使用,它会创建一个与接脚或端口无关的虚拟时钟。如果你指定的时钟已经在clock_name -add选项。接脚上了,旧的时钟会被取代,除非你增加 -period period_value 以库时间单位指定时钟波形的周期。 edge_list-waveform 列表中第一个时间是上升以库时间单位指定整个时间周期中时钟的上

    8、升或下降沿时间。,并且它们假定这里增加次数必须是偶数转换,通常第一个上升转换在时间零点之后。 。数值上,为一个完整时钟周期。为交替的上升和下降时间默认情况,波形假-period period_value,如果-waveform edge_list没有设定,但有 。上升沿和一个period_value/2下降沿定为一个0.0 是必须要写的。也就是说,把波形给画出来。但是,-period(疑难点:通过-waveform。如果想创建后占空比,且先指定一个时钟周期。默认是你可以只使用-period50%103 / 62 第一个上升的位置在什么时刻,来描述了,就要通过占空比不是50%的时钟,-wavef

    9、orm) 下降的位置在什么时刻。 选项很容易混淆!)(和create_generate_clock中的-edge 描述:命令在当前设计中创建一个时钟。该命令在当前设计中定义指定的create_clock没。如果source_objectssource_objects作为时钟源。一个接脚或端口可以成为一个单时钟源给定,一个虚拟时钟会被创建。一个虚拟时钟可以被创建,代表一个片有指定,但clock_nameset_input_delay外时钟用于描述输入或输出延迟。更多关于输入和输出延迟的信息,可以阅读参考。和set_oupt_delay 。使用propagated_clockdont_touch_

    10、network, fix_hold和时钟影响到时钟网络的属性,比如也同时定义时钟波形。create_clockcreate_clock在已存在的时钟上会覆盖时钟上已有的属性。建立和保持路径延迟是从时钟波形路径的起点到终点自动衍生的。时钟允许每个周期多脉冲形式错误。(hold) 修复时钟保持 属性(用fix_holdset_fix_hold设定)指导compile 要将时钟从分配的该组与时钟相关的终点用于估算函数的计算。默认状态,时钟对应一组路径。命令分配时钟到另一个组或默认路径组。更多的信息可参考group_path组中删除,使用命令帮助。group_path 命令让时钟能使用set_prop

    11、agated_clock新的时钟有理想时序,不能通过时钟网络传播延迟。)到理想波形中,使用)和不确定因素(uncertainty够进行延迟传播。要添加偏差(skew命令。或set_clock_uncertainty set_clock_latency get_clocks命令。得到时钟源列表,使用显示当前设计中所有时钟源信息,使用report_clock,create_clock命令。返回所有与特定时钟相关的序列单元,使用all_registers命令。取消命令。remove_clock使用 多条件多模式支持:该命令仅使用当前方案中的信息。 范例:【不规则占空比】 9.5. ,下降在10,上升

    12、在5.0PHI1在端口创建时钟周期为waveform 5.0 9.5PHI1” period 10 “create_clock 【特殊】 4 / 62 10 ,上升在,下降在5在端口PHI2创建时钟周期为10 waveform 10 15period 10 ”“PHI2 create_clock 【周期内多脉冲】 15.0.10.0,上升在,上升在5.0,下降在CLK在接脚u12/Z创建时钟,周期25,下降在0.0 waveform 5 10 15 25 period 25 name “CLK” create_clock “u13/Z” 【典型,但是是一个虚拟时钟】 5.0 ,下降在,上升在0

    13、.0PHI2创建一个虚拟时钟,周期10 waveform 0.0 5.0period 10 “PHI2” create_clock name 【更为复杂】 创建多源复合波形时钟 waveform 0.0 2.0 4.0 6.0 period 10 clk2create_clock name “” clkgen1/Z clkgen2/Z clkgen3/Z 时刻上010,在(注解:相当于在三个端子上都创建了同一个形态的时钟。这个时钟具有周期时刻的10也就是说,10时刻上升. 时刻下降。在时刻下降,在升,在24时刻上升,在6 时刻。后面的话就是周期的复制了。)动作,等同于0 更多:all_cloc

    14、ks, all_registers, check_timing, compile, current_design, get_clocks, group_path, remove_clock, reset_design, set_clock_latency, set_clock_uncertainty, set_dont_touch_network, set_fix_hold, set_max_delay, set_output_delay, set_propagated_clock create_generated_clock创建一个生成时钟 语法:string create_generate

    15、d_clock 5 / 62 -name clock_name -add source_objects -source master_pin -divide_by divide_factor | multiply_by multiply_factor -duty_cycle percent -invert -preinvert -edges edge_list -dege_shift dege_shift_list -combinational 数据类型: clock_name 字符 source_objects 列表 列表 master_pin 字符clock divide_factor 整

    16、数 整数 multiply_factor 浮点 percent 列表 edge_list 列表 edge_shift_list 参数:-name clock_name 设定的指定生成时钟的名称。如果你不使用本选项,时钟接受与第一个时钟的-source选项,并且不能与源时钟有选项,你必须使用-name-add名称相同的名称。如果你使用 相同的名称。 -add 6 / 62 指定是否增加这个时钟到已经存在的时钟中或将其覆盖。使用本选项去截取相同源的复合时钟。理想状态,一个生成时钟必须设定为每个时钟扇出的源接脚。如果你使用该选选项。项,必须同时使用-name 定义相同源接脚或端口的复合时钟,会增加运

    17、行时间和需要更多的内存,因为时序综合取消不希望有的组合。默set_false_path引擎搜索启动与截取组合的所有可能。使用变量设为timing_enable_multiple_clock_per_reg认状态,忽略该选项,除非将. true 打开复合时钟分析 source_objects 指定一组端口或接脚定义为要产生的生成时钟源。 -source master_pin ,可以是一个主时钟源接脚或被主时钟驱动的一个接脚,并且是驱动生主时钟接脚指定 主接脚的时钟波形用于驱动生成时钟波形。成时钟定义的接脚。 -master_clock clock 如果多个时钟扇入这个主接脚,指定主时钟用于这个生

    18、成时钟。 7 / 62 -divider_by divide_factor ,生成时钟周期是主时钟周期的两倍。2divide_factor指定频率被除数。如果为 -multiply_by multiply_factor ,则生成时钟周期为原先的三分之一。为3指定频率倍数。如果multiply_factor -duty_cycle percent 之间的数值。占空比是高电平脉冲宽度。指定倍频使用时的占空比。允许0-100 -invert )unate反转生成时钟信号,不管主接脚上,源时钟反应或判断(sense)是单因素决定(遇到倍频时)。(non-unate) 还是非单因素决定 -preinve

    19、rt 创建一个生成时钟基于反转的时钟信号,仅当主接脚源时钟有非单因素决定反应,或生不同之处在于,-preinvert成时钟不被反转,仅当该选项没有被指明时。-invert与是先反转信号,再创建生成时钟。preinvert先创建生成时钟后反转信号,而-invert -edges edge_list 沿解释为交替变化的上升和下降沿,指定正整数列表,代表形成生成时钟沿的源时钟沿。的奇数,用来创建一个完整的并且每个沿不小于它之前的沿。沿的数值必须是不小于3代表第二代表第一个源边沿,2生成时钟的波形。第一个沿必须大于或等于1。比如,1个源边沿,依次类推。 -edge_shift edge_shitf_l

    20、ist 指定浮点数列表代表偏移量,指定的沿经过变化产生最终的生成时钟波形,单位与库时钟单位相同。指定的沿偏移量必须等于沿指定的数值。数值可以为正或负。正数表示延个时间单位。代表相应的沿被延后了11后,负的表示提前。比如, -combinational 指定源滞后路径,作用于某个类型的生成时钟,其包含主时钟传播组合路径上的逻辑。源滞后路径不会通过序列单元的时钟接脚,透明锁存器数据接脚,或其他生成时钟的源接脚。 描述:create_generated_clock命令在当前设计中创建一个生成时钟。该命令定义一个对象列表作为当前设计生成时钟源。你可以指定接脚或端口作为生成时钟对象。命令同时指定被生成时

    21、钟源。使用该命令的优势在于,无论何时主时钟发生改变,生成时钟也同时发生改变。 生成时钟可以进行变频处理,降低频率时使用-divide_by选项,增加频率时使用-multiply_by选项,沿派生使用-edge选项。另外,频率在除或乘时也可以用-invert选项进行反转。沿派生时钟的沿偏移使用-edge_shift选项。-edge_shift使用在对沿的故意偏移,而非时钟滞后。如8 / 62 的幂,主时钟上升沿被用来决定生成时钟的沿。如果是2果生成时钟使用divide_factor 的幂,则是从对主时钟沿尺寸改变得来。不是2divider_factor 属,会覆盖已有的generated_clo

    22、ck对已有的generated_clock使用create_generated_clock性。 在时序分析时被扩展为真实的时钟。generated_clock generated_clock:以下命令能够引用 set_clock_latency set_clock_uncertainty set_propagated_clock set_clock_transition 命令。report_clock显示有关生成时钟的信息使用 多条件多模式支持:该命令仅使用当前方案中的信息。 范例:的生成时钟-divide_by 2创建频率 source CLK get_pins foocreate_gene

    23、rated_clock divide_by 2 ,则生成时钟周期为24 36主波形为的生成时钟。主时钟周期为30, 创建频率-divide_by 372 10890,波形为 source CLK get_pins div3/Qdivide_by 3 create_gneraged_clock 。60%创建频率-multiply_by 2的生成时钟,占空比为 source CLK get_pins foo1duty_cycle 60 create_generated_clock multiply_by 2 ,36 ,主波形为24 占空比不变。创建频率-multiply_by 3的生成时钟,如果主

    24、时钟周期为308 1210,波形为生成周期为 source CLK get_pins div3/Qcreate_gnerated_clock multiply_by 3 9 / 62 ,6036,生成时钟周期为波形1,3,5沿。如果主时钟周期为30,24 创建生成时钟沿为主时钟的24 54波形为 source CLK get_pints foo2create_generated_clock edges 1 3 5 ,60,生成时钟周期为,主波形为24 36如果主周期为与上个例子相似,但沿偏移1个单位。3025 55波形为 source CLK get_pins edge_shift 1 1 1

    25、 create_generated_clock edges 1 3 5 foo2 创建一个反转时钟 invertcreate_generated_clock divider_by 2 更多check_timing, create_clock, get_generated_clocks, remove_generated_clock, report_clock, set_clock_latency, set_clock_unertainty, set_propagated_clock, timing_enable_multiple_clocks_per_reg set_clock_groups这

    26、些时钟之间的路径不会在时序分析时被考虑。时钟组互相排斥或彼此异步。因此,指定设计中, 语法:Boolean set_clock_groups -physically_exclusive |-logically_exclusive |-asynchronous -allow_paths -name name -group clock_list 参数:-physicall_exclusive 10 / 62 指定时钟组在物理上彼此排斥。物理排斥时钟不能同时存在在实际物理设计中。比如多和个时钟定义在同一个源接脚。-physical_exclusive, -logically_exclusive选项是

    27、相互排斥的,你只能选择其中一个。-asynchronous -logicall_exclusive 多MUX两个时钟排斥类型,一个是物理排斥,另一个是逻辑排斥。逻辑排斥的例子比如路选择。但如果存在物理路径,就不推荐对多路选择时钟进行排斥设定。选项是互相排斥的,-physically_exclusive, -asynchronous -logically_exclusive和你只能选择其中一个。 -asynchronous 指定时钟组是彼此异步的。两个时钟是异步的如果它们彼此之间没有相位关系。信号完整性分析使用一个无限到达窗口给干扰源,除非所有到达窗口的受噪声干扰的连线和干和扰源的连线由同步时钟

    28、控制。-physically_exclusive, -logically_exclusive选项是互相排斥的,你只能选择其中一个。-asynchronous -allow_paths 允许在指定的时钟组之间进行时序分析。如果这一选项没有被使用,在时钟之间的时序分析会被禁止。该选项仅可以用于异步时钟组。 -name name 指定被创建时钟组的名称。每个命令只能指定一个唯一的名称,这些名称指明指定时钟组的排斥或异步关系,并且这个名称之后也便于对时钟组定义的删除。默认情况下,命令创建一个唯一的名称。 -group clock_list 指定一个时钟列表。 循环设定一组时钟,与其-group选项在一

    29、条执行命令中。每个你可以多次使用-group他所有时钟组是排斥或异步关系。如果仅有一个组被指定,这意味着该组与其他所有时钟是排斥或异步的。包含其他时钟的另一个组也同时会产生。无论何时一个新的时钟被创建,它会自动地加入到这个组。 替换上你希望的列表。clock_list给 描述:除非这些时钟之间的时序路径在时序分析时不会被考虑,指定设计中的时钟组彼此排斥或异步。执行命令不能对同一时钟定义多次,但可以多选项。一条set_clock_groups使用-allow_paths次使用该命令把它加入到多个分组中。 信号完整性分析会在时序窗口两个不同类型的互斥时钟在简单时序分析时不会视为不同。然而,。物理排

    30、斥时钟不会被时序窗口分析所考虑。 视逻辑排斥时钟为异步 11 / 62 设定。这类似这些排斥或异步时钟之间的路径不会在时序分析时被搜索,除非使用-allow_path。因此你无需人为的再次设定禁止路径。如果一个在两(false path)于在时间之间设定禁止路径产生的禁止路径会将其覆盖。那么set_clock_groups个排斥或异步时钟之间禁止路径已经设定,其他不会受影响。 这一情形也可称为无在时序窗口重叠分析时,串扰分析忽略之间的时序关系。当时钟彼此异步,使限窗口重叠。对于同步时钟没有无限窗口重叠,结果会变得乐观。所以当时钟不彼此同步时,是十分重要的。asynchronous用set_clock_groups 如果有必当一些排斥或异步时钟组被定义时,一个生成时钟和它的主时钟默认不在同一分组中。要,你必须明确地将他们让在一起。 如果多个时钟组关系为相同成对时钟而定义,物理排斥有最高优先级,其次是异步和逻辑排斥。 命令。报告设计中的时钟分组,使用remove_clock_groups取消set_clock_groups设定,使用选项。-groupsreport_clock命令加 多条件多模式支持:该命令从当前方案中读取信息 范例:定义两个异步时钟域 group CLK2group CLK1 set_clock_group


    注意事项

    本文(常用时序分析SDC.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开