ARM M3综合细节描述:

(路径:/home/implementation_tsmc_ce018fg/CORETEXM3INTEGRATION_synopsys

1、source -echo -verbose ../scripts/configuration.tcl

将脚本文件中的内容打印出来,并输出中间结果。(常用)

2、set_app_var synthetic_library dw_foundation.sldb

使用dc默认的综合库文件:dw_foundation.sldb

3、set_app_var link_library [concat * $target_library $synthetic_library]

设置链接库为目标库以及综合库

4、set_app_var mw_reference_library [concat $stdcell_mw_library]

设置物理标准单元库,一般为一个文件夹,内包含cell,FRAM,等lib文件。

5、不存在.tluplus文件,将其注释

6、不存在.map文件,将其注释

7、存在milkway以及db(standard cell)文件

8、set $tech_file  /arm/tsmc/ce018fg/2009q2v01/milkway/6lm/dc7_tech.tf
set_app_var mw_reference_library [milkway/6lm/sc7_ce018fg_base_rvt]
set_app_var mw_design_library CORETEXM3INTEGRATION

create_mw_lib -technology $tech_file \
-mw_reference_library $mw_reference_library \
$mw_design_library
create_mw_lib的直接参数是设计库名称
-technology 指定的参数是物理工艺库名称(techfile
-mw_reference_library 指定的参数是物理参考库名称】

9、set_min_library $max_lib -min_version $min_lib

set_min_library命令来指定单独的最小时序库。set_min_library命令将最小时序库和由link_library变量指定的最大时序库联系起来,min_version后的是最小库,max_lib是最大库,通常也是link_library指代的库】

10、set_driving_cell -library $target_library_name($slow_corner) \

         -from_pin $(driving_from_pin) \

         -input_transition_rise $max_transition($slow_corner ) \

         -input_transition_fall $max_transition($slow_corner) \

         -lib_cell ${driving_cell} \

         -pin ${clock_driving_pin} \

         ${clock_ports}

我们通过set_driving_cell命令来设置某个输入端口前面是什么驱动单元驱动它的,EDA工具会从指定的库中查找得出更加真实的Transition时间来代替零Transition(dc默认transition=0)

11set_driving_cell -library $target_library_name($slow_corner) \

         -from_pin $(clock_driving_from_pin) \

         -input_transition_rise $max_transition($slow_corner ) \

         -input_transition_fall $max_transition($slow_corner) \

         -lib_cell ${clock_driving_cell} \

         -pin ${clock_driving_pin} \

         ${clock_ports}

【时钟和非时钟端口的驱动需要分开添加】

12、set_operating_conditions \

-max $operating_condition_name($slow_corner) -max_lib [get_libs $target_library_name($slow_corner)] \
-min $operating_condition_name($fast_corner) -min_lib [get_libs $target_library_name($fast_corner)] \

Analysis_type bc_wc

13、在synthesis.tcl最开始,source configuration.tcl 其中表明,don’t include etm files

         这告诉在rtl.tcl中不导入etm files,因此需要在rtl.tcl中将对应etm选项注释。

14、ITF文件生成TLU plus文件,使用StarRC工具,

命令:grdgenxo -itf2TLUPlus -i <ITF file> -o <TLU+ file>,其中ITF需要到foundary厂商去下载。

15、warning:../../logical/cm3_nvic/verilog/cm3_nvic_undefs.v:48: The macro ‘num_non_irq’ you are attempting to undefine with the ‘ `undef ’ directive is not defined

警告,在对应verilog文件中,undef的参数并没有被define,不影响结果,可忽略此warning。

目前调用ARM之前给的包进行synthesis综合,能跑出最终结果,可以进一步优化,使用tluplus文件进一步精确结果。目前由于不存在tluplus文件,因此注释了相关部分。

生成的用于后仿的文件路径:/CORTEXINTEGRATION_synopsys/data主要包含:

.ddc  .v  .sdc  .svf这四个文件。

SDFstandard delay file】标准延时文件。描述的是输出时序延时信息。综合优化后,为进行后仿,要输出sdf文件。

SDCstandard delay constraint】;标准延时约束文件。描述的是类似DC中的约束,用文件的形式直接保存,用来给后端的布局布线提供参考。

.v:】:生成的门级网表文件

.ddc】:.ddc也是网表文件,但是ddc包含的网表文件不是实际意义上的网表文件,而.v形式的网表文件是用来做后仿的文件。

.svf】:svf文件用来后续做formality(形式验证)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值