数字后端设计实现中route阶段的那些事

数字后端设计实现中route阶段的那些事

文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点。点击进去后出现任何损失与社区无关。

校园招聘当属 “金九银十”,小编这个时候也是比较忙的时候。目前正奔波忙碌于各大校园招聘的面试工作。因此,公众号更文频率降低希望各位粉丝能够理解。另外,如果你们在笔试或者面试的过程中遇到技术或者非技术上的问题,比如某道题的解答,offer 的选择等问题,都可以添加小编微信 (ic-backend2018),进行讨论交流。

Route stage

Target:

将 standard cell,ip 和 memory 的逻辑连接变成实际的物理连接。

Input:

  • Place 好的 design

  • Fixed number of metal/copper layers(基于现有 Metal Stack 可以用来绕线的 layer)

Output:

  • 将所有的逻辑连接全部实现物理连接,确保无 DRC,Short 和 Open;

  • 满足 setup 和 hold t time 要求。

Route 阶段遵循的原则

  • Timing driven routing

  • Timing budget for each net

  • Minimize critical paths

  • Signal integrity aware

  • Crosstalk 最小

  • DRC clean

  • Rule based versus Model based

  • Double via ratio

Route 细分步骤

整个 route 过程可以细分为三个阶段,分别是 Global route,Track Assignment 和 Detail route。

Global Route

Input:

Cell and macro placement

Routing channel capacity per layer/per direction

Goal:

Perform fast ,coarse grid routing through global routing cells (GRCs)

这个过程需要考虑以下几个因素

  • Wire length

  • Congestion

  • Timing

  • Noise/SI

通过 global routing 可以预估 design 的 congestion 情况。

Congestion =(required routing resources> availablerouting resources)

Global route 阶段,tool 使用 placement 的 engine 来预估 design 的 congestion 并解决 congestion issue。

如果任何一个 gcell 存在 congestion,工具在做 global route 时就会避开 congestion 区域来做 global route,如下图所。在数字后端实现中,我们偶尔也会碰到 congestion 估算不准确导致 congestion map 与实际绕线资源不匹配的情况。

比如下图中红色那段 net 之所以出现 detour,是由于工具估算 congestion 时发现如果直接走 virtual route 那段路,会出现 short 或者其他的 physical drc。而实际情况有两种可能性,一种是工具预估的 congestion area 绕线资源确实很紧张,另外一种则是 congestion area 中绕线资源还是比较宽松。

Track Assignment

For nets that tranverse multiple GCells

Assign each net to a specific track and lays down the actual metal traces

Makes long,straight traces and reduce via numbers

Detail Route

Detail route dones actual routing. means actual routing metal connections. it checks also physical drc’s.

Detail routing does not work on the entire chip at the sametime like track assignment, instead it works be rerouting within the confines of a smallarea called an “sbox”.

sbox : divide the block into mini boxes these are used forthe detail route.

Search and Repair (remove physical drc violations like short, spacing)

通常情况下 detail route 后很有可能存在一些 short 和 drc,此时需要做一遍 search and repair 来进一步修复 DRC,从而得到一个 DRC 相对 clean 的 database。因此,如果你发现 design 中有 short,可以将迭代次数调大,让工具自己解这部分 short。

当然解 short 的方法有很多,小编在知识星球上也推送过了,比如删除 short 的 net,重新 route,比如改变 route 的方向等等。

Grid based and Gridless routing

Grid based routing 是指工具在分配实际走线时,是按照 Metal 的 track,使得 metal 的中心点是落在格点上。相邻两根金属线之间的间距我们称之为 wire pitch,如上图所示。Wire pitch 等于 metal 的最小宽度(Wire width)加上线间距 (Wire distance)。基于 Grid based 的 routing 更简便,更高效。

吾爱 IC 社区小编之前回答过 “关于如何预留 Memory 之间的间距”,其实就是基于上面这个图来计算出来的。

Gridless routing 则是金属走线不需要严格按照金属层的 Track 来布线。采用这种方式比较复杂,而且 runtime 会更久点。现在大部分的工具都是基于 Grid based 进行绕线的。

小编知识星球简介:

在这里,目前已经规划并正着手做的事情:

  • ICC/ICC2 lab 的编写

  • 基于 ARM CPU 的后端实现流程(已经发布)

  • 利用 ICC 中 CCD(Concurrent Clock Data)实现高性能模块的设计实现(已经发布)

  • 基于 ARM 四核 CPU 数字后端 Hierarchical Flow 实现教程(准备中)

  • 时钟树结构分析(规划中)

  • 低功耗设计实现(规划中)

  • 定期在星球布置作业题(星球已经支持布置作业功能)

在这里,各位可以就公众号推文的内容或者实际项目中遇到的难题提问,小编会在 24 小时内给予解答(也可以发表你对数字后端设计实现中某个知识点的看法,项目中遇到的难点,困惑或者职业发展规划等)。

反正它是一个缩减版的论坛,增强了大家的互动性。更为重要的是,微信有知识星球的小程序入口。星球二维码如下,可以扫描或者长按识别二维码进入。目前已经有五十四星球成员,感谢这五十四童鞋的支持!欢迎各位铁杆粉丝加入!终极目标是打造实现本知识星球全员年薪百万的宏伟目标。 (星球的门槛将会越来越高,有需求的朋友趁早上车)****

相关文章推荐

低功耗设计实现中 secondary power pin 的连接方法汇总

数字后端面试问答 No.22-24(每日三问)

免费领取数字 IC 后端实现培训教程,再赠送一箱水蜜桃!

项目后期踩到这些坑,原来可以这么简单处理!(数字后端实现救火篇)

想要彻底掌握 placement 各种技巧,这个一定可以如你所愿!

IC 自媒体访谈:吾爱 IC 社区

教你轻松玩转天线效应 (Process Antenna Effect)

深度揭秘异步复位同步释放原理

数字后端面试问答 No.19-21(每日三问)

这些低功耗设计实现经验,你真的懂了吗?

Lockup latch 的用法,看这个就够了!

深度解析 Create_clock 与 Create_generated_clock 的区别

盘点数字后端设计实现用到的各种文件

clock jitter 是否对 hold time 有影响?(文末有福利)

为什么时钟树上要用 clock inverter(min pulse width check)

LVS 就是这么简单!(数字后端物理验证篇)

揭秘为何 net delay 是负值(数字后端实现时序篇)

PBA(Path Base Analysis)想说爱你不容易(静态时序分析基础篇)

一网打尽时钟树综合 Clock Skew

数字后端设计实现之时钟树综合实践篇

【惊呆了!】你居然还在用 flatten 方式进行 timing signoff

数字后端面试问答 No.16-18

合理的时钟结构能够加速 Timing 收敛(时钟树综合中级篇)

数字后端面试问答 No.13-15(每日三问)

【机密】从此没有难做的 floorplan(数字后端设计实现 floorplan 篇)

数字后端面试问答 No.10-12(每日三问)

数字后端面试问题 No.7-9(每日三问)

听说 Latch 可以高效修 hold 违例(Timing borrowing 及其应用)

15 天零基础入门到精通 python - 最全的视频教程

数字后端面试问答 No.4-6(每日三问)

IR Drop 分析之 Redhawk 分析流程

CRPR 能补偿 crosstalk 吗?

原来电路最高工作频率是这么算出来的(STA 基础篇)

数字后端面试问答 No.1-3(每日三问)

秒杀数字后端实现中 clock gating 使能端 setup violation 问题

教你轻松调 DCT 和 ICC 之间 Timing 与 Congestion 的一致性

数字芯片设计实现中修复 setup 违例的方法汇总

数字 IC 设计中 ECO 的那些事,其实并不是事!

Scan chain reordering 怎么用你知道吗?

如何评价数字后端设计中 floorplan 的好坏?

数字后端实现时 congestion 比较严重,你 hold 得住吗?

数字后端实现 place 过程进阶

Final netlist release 前,你应该做好哪些工作?

基于 Physical Aware 的动态功耗优化实现方案

深入浅出讲透 set_multicycle_path,从此彻底掌握它

【大师必备】最全的数字 IC 设计经典书籍电子版下载

你与数字后端大神的差距在这里,快来瞧瞧!

数字后端实现时 congestion 比较严重,你 hold 得住吗?

时钟树综合(clock tree synthesis)基础篇

【福利】数字 IC 后端各种 Userguide 下载

好了,今天的码字就到这里了,原创不容易,喜欢的可以帮忙转发和赞赏,你的转发和赞赏是我不断更新文章的动力。小编在此先谢过!与此同时,吾爱 IC 社区(52-ic.com)也正式上线了。吾爱 IC 社区(52-ic.com)是一个专业交流和分享数字 IC 设计与实现技术与经验的 IC 社区。如果大家在学习和工作中有碰到技术问题,欢迎在微信公众号给小编留言或者添加以下几种联系方式进行提问交流。

https://mp.weixin.qq.com/s/yal69Kjcgyat5xyUWferig

  • 4
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值