白山头 · 2021年02月08日

一个信号pin出多个terminal会有什么后果

image.png

最近有小伙伴问,能不能一个信号,在block出两个terminal。

从工具的角度是完全可以的,不止两个,出多个terminal也是没有任何问题的。

尽管会有这样的需求,但是强烈建议不要采用这样的方式。哪怕中间加个buffer,出两个不同的pin。

那么这里解释一下原因。

1

首先,两个terminal之间的连线不能加buffer。

假设block内对于信号有两个terminal。而这连个terminal距离比较远的话,是需要一个很长的线来将他们进行连接的。而这两个terminal之间是没有办法加buffer的。这是因为虽然在物理上是两个点,而逻辑上,他们是一个pin,一个点。而这条长线,可能没有一个cell能够驱动得了。

2

其次,top层在处理block的两个同名terminal时具有随机性。也就是说,工具会认为这两个terminal是相连的。因此,会就近连上其中一个terminal。这可能不是想要的。

3

第三,如果在top层,确实需要将两个terminal都需要连的话,是需要手工进行连接的。但是这时候还是会有问题的。在抽RC的时候,工具会认为这条net是open的,因此会插入一个非常大的电阻。导致这条net的delay大的惊人。当然,时序工具可以选择不同的处理方式,例如将这种open处理为0电阻,但是这也是有风险的。

4

在设计中,如果以上三点都考虑到了并且避免的话,那么你就可以将一个信号pin,处理为多个terminal了。这种情况在实际应用中还是比较常见的。举个例子,我们的信号IO。会有一个terminal连接外部的pad,一个terminal连接内部的信号。

相关文章推荐
最简timing signoff checklist
如何在早期估算芯片面积

更多IC设计技术干货请关注IC设计技术专栏。
推荐阅读
关注数
20201
内容数
1307
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息