绝对面积与相对面积:Design Compiler中的report_area

设计过程中,难免要用DC估计一下芯片的面积。DC中的命令report_area可以达到这个目的。
不过这个命令读取的每个cell的area参数都是从logiclibrary里读取的,一般格式为db。这个library一般由vender提供,每个vender的做法不同。比如Tvender,它的library里的area参数的单位就是um^2,即绝对面积。而Cvender,它的标准单元库里的area参数的单位却是二输入与非门的等效门数,即相对面积,例如二输入与非门的area是1,某加法器的area是8,相当于8个二输入与非门的面积之和。
这样的话,当我们用DCreport_area的时候,一定要清楚所用的logiclibrary里的area参数究竟是什么单位,否则会给决策带来误导。
C vender还有一个奇怪的做法,它的IOlib里的area参数是绝对面积,即um^2,这跟它的标准单元库的做法不一致,所以分析report_area的结果的时候,一定要分开计算,不能简单加在一起。
这个命令是一个Tcl脚本命令,用于进行物理综合前的设计优化。具体解释如下: - `ungroup -start_level 4 -all`: 将设计的组合逻辑和时序逻辑分开,此处 `-start_level 4` 表示从第四层开始分组,`-all` 表示分组所有的单元。 - `set_cost_priority -delay`: 设置优化目标为减小时序路径上的延迟。 - `set_critical_range 0.2 $Design`: 设置时序约束的最小保留时间为0.2ns。 - `remove_unconnected_ports [get_cells -hier * ]`: 删除所有没有连接的端口,`[get_cells -hier * ]` 表示获取所有单元。 - `-blast group_path -name in2reg -from [all_inputs] -critical_range 1000.0`: 将所有输入到寄存器的路径组合在一起,命名为 `in2reg`,并设置时序约束为1000.0ns。 - `-blast group_path -name reg2out -to [all_outputs] -critical_range 1000.0`: 将所有从寄存器到输出的路径组合在一起,命名为 `reg2out`,并设置时序约束为1000.0ns。 - `-blast group_path -name in2out -from [all_inputs] -to [all_outputs] -critical_range 1000.0`: 将所有从输入到输出的路径组合在一起,命名为 `in2out`,并设置时序约束为1000.0ns。 - `-blast group_path -name reg2reg -from [all_registers] -to [all_registers] -critical_range 1000.0`: 将所有寄存器之间的路径组合在一起,命名为 `reg2reg`,并设置时序约束为1000.0ns。 这些命令将通过路径组合和时序约束的设置来优化设计,以满足时序要求并提高设计的性能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值