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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 3765|回复: 7

[求助] 综合:IO口复用的情况下怎么约束

[复制链接]
发表于 2013-11-13 22:32:12 | 显示全部楼层 |阅读模式

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

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

×
时钟和数据共用一个引脚时,综合时如何约束?
工作模式A下,此引脚是时钟,
工作模式B下,此引脚是数据

如果按时钟来约束,设置ideal_network来综合,那么当数据口来用时的input delay属性就没法约束?
发表于 2013-11-14 15:17:05 | 显示全部楼层
感觉这种复用不好。
clock最后是需要长clock tree的,clock上的latency会比较大。
所以最好是数据IO复用,clock IO复用。
当然,clock跟data复用也可以。IO进来后,手工插入2个buffer,分成数据和clock两路。再分别约束。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-21 18:58:46 | 显示全部楼层
回复 2# asic_service


    手工改RTL加入两个buffer,但是analyze & elaborate后,这两个buffer被优化了,

加synopsys translate_off也不管用。set_dont_touch要elaborate完才能设。

请教接下来该怎么约束?
回复 支持 反对

使用道具 举报

发表于 2013-11-22 13:02:36 | 显示全部楼层
手工加buffer不是让你写
assign  input_data = in_sig;
assign  input_clock = in_sig;
而是直接调用cell library的buffer cell.格式如下:
buf_x2 in_data_buf (.A(in_sig), .O(input_data));
buf_x2 in_clk_buf (.A(in_sig), .O(input_clock));
这样DC绝对不会优化掉
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-22 21:56:04 | 显示全部楼层
回复 4# asic_service


    我调用的就是库里的buf0,elaborate完,用get_designs就取不到了
回复 支持 反对

使用道具 举报

发表于 2013-11-22 22:04:22 | 显示全部楼层
试试Multi Mode...
回复 支持 反对

使用道具 举报

发表于 2013-11-23 18:05:14 | 显示全部楼层



根据我的经验,手工调用的cell library,在DC elabrate的时候是不会优化掉的。并且抓cell应该用"get_cell"这个命令吧?

实在不行可以随便综合一把,write netlist,在netlist里面找那两个buffer是否还存在。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-26 22:25:00 | 显示全部楼层
回复 7# asic_service

找到个方法,写个module,这人module里就一个BUF0,再在顶层里例化这个module。这么包一层可以用。谢谢你的帮助
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2025-9-14 05:41 , Processed in 0.015199 second(s), 3 queries , Gzip On, Redis On.

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