azsx8452的个人空间 https://blog.eetop.cn/225378 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

DC synthesis script总结

已有 2858 次阅读| 2010-11-25 12:38 |个人分类:脚本

1. synthesis library设置相关:

Set_target_library, set_symbol_library, set_link_library,

Set_search_path, set_link_path

2. rtl design读入:

Read_file –format verilog *.v

Current_design $top_desing

Link

Check_desing

3. clock设置相关(clock period , uncertainty)

Create_clock –name * -period *eg. 3.8ns

Set_clock_uncertainty *eg. 0.2ns

Clock & reset network需要设置ideal & dont_touch属性:

Set_dont_touch_network *

Set_ideal_network *

另外针对clock需要设置(pre-layout阶段:未长clock tree):

Set_clock_lantency 0 *

Remove_driving_cell *

Set_drive 0 *

4.对非clock input/output port设置I/O delay

Set_input_delay –clock *à针对input port

Set_output_delay –clock *à针对output port

5. library cell设置(禁用或者指定synthesis cell):

Remove_attribute * dont_useàlibrary中有些cell是默认禁用的,需要去除其属性才能使用

Set_dont_use àdesign如果需要在synthesis时避免使用某些cell,就设置这些cell禁用

6. design rule设置:

Set_max_fanouteg. 30, set_max_transitioneg.0.8, set_max_capacitance

7. timing exception设置

Set_false_pathà如果design中存在几个clock的话,clock之间需要设置false path,避免不必要的timing check

Set_multicycle_path

8.设置clock gating celltiming check rule

For example

Set icg_dly 1.00  // gated clock cell delay assumption

Set_clock_gating_style -setup [expr $icg_dly+0.14] \

                    -hold 0 \

                    -minimum_bitwidth 3 \

                    -enhanced_min_bitwidth 6 \

                    -max_fanout 32 \

                    -sequential_cell latch \

                    -positive_edge_logic integrated \

                    -negative_edge_logic integrated \

                    -control_point before –control_signal scan_enable \

                    -num_stages 1

Insert_clock_gating

Propagate_constraints –gate_clock

Report_clock_gating -gated

9.编译:

Compile –map_effort medium –area_effort highàrtl sythesis

Compile –incremental_mapping –map_effort highànetlist optimization

10.导出synthesis report & synthesis file

1timing report

Redirect $timing_report { check_timing }

Redirect –append $timing_report { report_timing –nosplit –transition_time –nets }

Redirect –append $timing_report { report_clock –nosplit –skew –attributes }

2constraint report

Redirect $constraint_report { report_constraint –nosplit –all_violators }

2design report

Redirect $design_report { printvar [current_desing] }

Redirect –append $design_report { report_reference }

Redirect –append $design_report { report_resource }

Redirect –append $design_report { check_design }

Redirect –append $design_report { report_area –hierarchy }

3syntheiss file

Write –hierarchy –output *.db

Wirte –format verilog –hiearachy –output *_syn.v

Wirte_sdf –context verilog *.sdf

Write_sdc *.sdc -nosplit



点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 13

    评论
  • 285

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 20:15 , Processed in 0.016563 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部