在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3649|回复: 13

[讨论] DC脚本

[复制链接]
发表于 2015-7-23 17:12:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
求一个自顶向下的dc综合脚本,求各位大神分享下,小弟跪求!!!!!!
 楼主| 发表于 2015-7-23 17:15:16 | 显示全部楼层
回复 1# yi4105635


    求一个自顶向下的脚本。。顶起来
发表于 2015-7-24 08:22:34 | 显示全部楼层
----------------------------------- 基本流程如下,后面慢慢扩展。
read_verilog -rtl aa.v
current_design aa
link
compile
发表于 2015-7-24 08:24:57 | 显示全部楼层
自顶向下 ---
read all verilog
read constraint
charater sub_1
current_design sub_1
compile
charater sub_2
current_design sub_2
compile
...

current_design top
compile
...
wite -f verilog -h -o top.syn.v
 楼主| 发表于 2015-7-24 08:57:42 | 显示全部楼层
回复 3# voiluce


   为什么是read而不是analyze呢?  他们俩有啥区别   而且我有四个小模块 一个顶层模块, read design 那四个小模块,然后再怎么做啊?求大神指教啊
发表于 2015-7-26 22:24:15 | 显示全部楼层
为什么是read而不是analyze呢?  他们俩有啥区别   
----- 没有区别。read_verilog 看起来舒服一些而已。

而且我有四个小模块 一个顶层模块, read design 那四个小模块,然后再怎么做啊?
---- 小模块?多小?后面PR 流程如何? 已经预先综合好啦?
---- 通常做法是 先 uniquify,  然后总和。
 楼主| 发表于 2015-7-27 10:49:47 | 显示全部楼层
回复 6# voiluce


    大侠你好,下面是我写的脚本。你可以帮我看看有何不妥吗? 已经综合出个网表,不过我自己不知道对不对。
analyze -format verilog dsp_0000.v
analyze -format verilog dsp_0001.v
analyze -format verilog dsp_fffe.v
analyze -format verilog dsp_ffff.v


analyze -format verilog Mon.v
# analyze -library DW02_mult_3_stag
# define_design_lib  DW02_mult_3_stag -path /home/soc_test/ss/dw/dw02/lib/dw02



elaborate Mon

current_design Mon

link
uniquify
check_design
set_wire_load_model -name smic18_wl10
set_wire_load_mode enclosed
set_operating_conditions -analysis_type bc_wc -max slow -max_library slow -min fast -min_library fast
create_clock -period 20 -waveform {0 10} clk
set_clock_latency 2.0 [get_clocks clk]
set_clock_uncertainty -setup 1 [get_clocks clk]
set_clock_uncertainty -hold 0.1 [get_clocks clk]
set_clock_transition 0.1 [get_clocks clk]
set_dont_touch_network [list clk]


set_driving_cell -cell BUFX3 -pin Y [all_inputs]
set_drive 0 [list clk]


set_input_delay 5.0 -clock clk -max [all_inputs]
set_output_delay 3.0 -clock clk -max [all_outputs]


set_max_area 0

set_load 0.2 [all_inputs]
# set_max_dynamic_power 0 mW

# link
# uniquify

# set_structure -timing true -boolean true
# compile -map_effort high -area_effort medium -exact_map

# change_names -rule verilog -hier
# set verilogout_no_tri true
# set_fix_multiple_port_nets -all
# write -format verilog -hierarchy -output Adder.v
compile -map_effort high -area_effort medium -exact_map
current_design Mon
write -format verilog -hierarchy -output Mon_test.v
发表于 2015-7-27 11:20:21 | 显示全部楼层
看上去好像行
 楼主| 发表于 2015-7-27 11:54:02 | 显示全部楼层
回复 8# icfbicfb


    版主您好 是可以综合了  
Information: Building the design 'DW02_mult_3_stage' instantiated from design 'dsp_0000' with
    the parameters "16,16". (HDL-193)
Warning: Cannot find the design 'DW02_mult_3_stage' in the library 'WORK'. (LBR-1)
Warning: Design 'Mon' has '4' unresolved references. For more detailed information, use the "link" command. (UID-341)
Current design is 'Mon'.
综合后报的warning,折磨我好几天,我report_desgin_lib发现
DW02 (/home/soc_test/ss/dw/dw02/lib)
      entity        : p n    DW02_BOOTH
      architecture    :  mn d  DW02_BOOTH(STR)
      package        :   n    DW02_COMPONENTS
      entity        : p n    DW02_MAC
      architecture    :  mn    DW02_MAC(VERIF)
      entity        : p n    DW02_MULT
      architecture    :  mn d  DW02_MULT(CSA)
      architecture    :   n    DW02_MULT(VERIF)
      entity        : p n    DW02_MULTP
      architecture    :   n d  DW02_MULTP(NBW)
      architecture    :  mn d  DW02_MULTP(WALL)
      entity        : p n    DW02_MULT_2_STAGE
      architecture    :  mn d  DW02_MULT_2_STAGE(STR)
      entity        : p n    DW02_MULT_3_STAGE
      architecture    :  mn d  DW02_MULT_3_STAGE(STR)
      entity        : p n    DW02_MULT_4_STAGE
      architecture    :  mn d  DW02_MULT_4_STAGE(STR)
WORK里面没有我要的那个DW02_mult_3_stage  我猜想是写路径,于是我在search_path下写了DW02_mult_3_stage的当前路径也不好用,同时也写了DW02_mult_3_stage 也没消除。求解答啊。。。。。。。
发表于 2015-7-27 21:49:30 | 显示全部楼层
本帖最后由 voiluce 于 2015-7-27 21:50 编辑

set_wire_load_mode enclosed
---
set_wire_load_mode top

set_clock_uncertainty -hold 0.1 [get_clocks clk]
set_clock_transition 0.1 [get_clocks clk]
---
冗余脚本,删掉

其它没啥问题。

Warning: Design 'Mon' has '4' unresolved references.
---
这个Warning一定要解决 ,不能放过 。

DW02_mult_3_stage
---
echo $link_library看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-20 12:05 , Processed in 0.060448 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表