• 发文
  • 评论
  • 微博
  • 空间
  • 微信

cadence genus版的综合脚本

ExASIC 2022-05-31 14:28 发文

再来问一问什么是逻辑综合?

简单地讲就是把RTL转成网表。这不过这里要强调两点:

满足内部和外部的约束条件。具体包括面积、时序、功耗等,其中时序是重点。

要映射成指定fab的标准单元库。

在《把riscv core代码变成网表最少需要几步》里,写过synopsys dc版本的脚本例子。今天我们再来写个cadence genus版本的综合脚本。为了简单说明,只做了worst corner,可以满足大部分老工艺的综合。

set TECH_LIB_PATH /data/fab/TSMC130/digitalset top digital_top

# global settingset_db / .auto_ungroup none

# read libraryset_design_mode -process 130read_libs ${TECH_LIB_PATH}/Front_End/timing_power_noise/NLDM/wc.lib

# read rtlread_hdl -languare v2001 {    ../../rtl/a.v    ../../rtl/b.v    ../../rtl/digital_top.v}

# elabelaborate ${top}check_designuniquify ${top}

# constraintsread_sdc ../scr/normal_mode_max.sdc

# set dont touch to special insts in RTLset_dont_touch [get_cells u_buf*]set_dont_touch [get_cells u_icg*]set_dont_touch [get_cells u_a/u_delaycell*]

# clock gatesset_db / .lp_insert_clock_gating true

# compilesyn_genericsyn_mapsyn_opt

# check resultreport_areareport_timing

# write resultwrite_hdl ${top} > ${top}_syn.vwrite_sdc ${top} > normal_mode_max_out.sdc

初看与synopsys dc的版本也没有太大的区别,只是一些命令或者参数变了,但流程和要做的事情是一样的。有一点要注意的,genus默认是common ui,一些老命令不支持了,比如set_attribute,需要用set_db代替。

最后,通过下面的命令来运行综合:

genus -no_gui -files syn.tcl

安装目录下有用户手册可以参考:

genus/doc/genus_user/genus_user.pdf

声明:本文为OFweek维科号作者发布,不代表OFweek维科号立场。如有侵权或其他问题,请及时联系我们举报。
2
评论

评论

    相关阅读

    暂无数据

    ExASIC

    分享数字集成电路设计中的经验和方...

    举报文章问题

    ×
    • 营销广告
    • 重复、旧闻
    • 格式问题
    • 低俗
    • 标题夸张
    • 与事实不符
    • 疑似抄袭
    • 我有话要说
    确定 取消

    举报评论问题

    ×
    • 淫秽色情
    • 营销广告
    • 恶意攻击谩骂
    • 我要吐槽
    确定 取消

    用户登录×

    请输入用户名/手机/邮箱

    请输入密码