没有合适的资源?快使用搜索试试~ 我知道了~
DC工具中set_dont_touch和set_size_only的区别.doc
需积分: 50 64 下载量 94 浏览量
2021-04-20
09:28:13
上传
评论 4
收藏 660KB DOC 举报
温馨提示
试读
2页
DC工具中set_dont_touch和set_size_only的区别
资源详情
资源评论
资源推荐
DC 工具中 set_dont_touch 和 set_size_only 区别
DC 工具中有两个命令 set_dont_touch 和 set _size_only。两个命令在有些场景下能达
到相似效果,但两者在使用上是不能互相替代的。这两个命令有以下不同:
1. 应用的主体
前者可以作用在 cell、net、reference、design 上。后者只能作用在 leaf cell 上。Leaf
cell 是指用标准单元库中基本单元,比如说与门、或门等。
2. 应用的效果
前者目的是保留其结构或连接,不被替换为其他功能实现,比如,原始设计中使用的是
或非门
_______
A+B,用这个命令能保证不会被替换成
_
A&
_
B与门的实现。
后者是根据该 leaf cell 的驱动和负载情况,工具可将该 cell 替换为同样功能但驱动能力
不同的 cell。比如原始设计中使用了一个 XOR2M4UP 器件,这是一个驱动能力为 4 级的 2
输入或非门,用该命令有可能将其替换成 XOR2M2UP、XOR2M8UP 等不同驱动能力但功能
完全一致的器件。
以 U3088 项目举例说明,项目要求 AES 模块中所有带”_donttouch”字样的 instance 保留
其 原 结 构 。 其 中 , i_aes_xor_donttouch_op13 这 个 instance 例 化 的 design 是
aes_xor_donttouch,其功能是一组异或器件。该模块结构示意如下:
module aes (
…
i_aes_xor_donttouch_op13 aes_xor_donttouch (
.a_i (A),
.b_i( B),
.out(OUT)
);
endmodule
module aes_xor_donttouch (
input [7:0] a_i,
input [7:0] b_i,
output [7:0] out;
);
generate
for (i=0; i<8; i=i+1)
XOR2M4UP i_aes_xor2x8_donttouch (
.A ( a_i[i] ),
.B ( b_i[i] ),
.Z ( out[i] )
);
end generate
endmodule
综合中如果设置以下命令:
set_dont_touch *i_aes/i_aes_xor_donttouch_op13*”
aes_xor_donttouch 这个模块会被保留不做任何修改,该模块内部由 8 个异或器件组成,
异或器件用的是 XOR2M4UP 这个类型的 cell。
如果将上述命令中的 set_dont_touch 换为 set_size_only,则执行时会报 Error,提示无
法设置。这是因为 set_size_only 无法作用到一个 instance 上。
如果修改命令如下,使得 set_size_only 作用到某个具体的 cell 上:
set_size_only *i_aes/i_aes_xor_donttouch_op13 /i_aes_xor2x8_donttouch*” , 则 这句
gudububai
- 粉丝: 2
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0