芯片后端的APR指什么?

APR,全称为auto placement & route。目前已经基本成为芯片后端设计的代名词了,因为在芯片后端设计中,可以说placement and route是至关重要的两步,并且在EDA tool如此发达的今天,靠人工一个个手摆cell,再去绕线是不现实的。因此使用工具可以说是现代芯片设计的必须的事情,所以我们经常说做芯片后端,有的时候就是指代做APR,或者说做芯片物理设计等等。当然需要明确的是,芯片后端所涵盖的内容不仅仅是APR,只是APR是其中一个重要的部分了。

可能在早期,我们还会说P&R,placement&route。但现在,几乎没有谁可以绕过auto,也就是利用tool。所以渐渐的大家的称呼也就变成APR了。那么,它的具体含义是什么呢?从名字就可以看出,中文就是摆放和绕线,实际上,APR大致可以分为4个步骤:布局floorplan、单元摆放placement、时钟树综合CTS(clock tree synthesis)、绕线route。下面我就进行一下简单的介绍。

Floorplan,布局规划。要知道,我们在进行任何项目的时候,都要首先对所要做的工作有一个大致的蓝图规划,比如建高楼需要先想这个楼要在哪建,建几层,建多高等等,芯片的规划也不例外。我们首先要确定芯片的面积,确定core和die的尺寸,io的位置,bump的位置,先把macro ip什么的摆好。Floorplan有的时候也可以说包含了powerplan,我们一般在这一步就要画好PG,确定芯片的电压域,保证PG和macro连接正常。Floorplan是至关重要的一步,它深刻影响了之后的芯片性能会是什么样子。这里介绍的比较简单,以后我可能会专门各个stage都来写一篇。

Placement,单元摆放。这一步我们特指标准单元的摆放,io单元和macro等都是在floorplan阶段摆放完成的。我们在导入netlist和各个cell的物理库文件后,不论是icc2还是innovus,初始状态这些cell全部是叠在一起的,都在一个位置。而placement最重要的任务,就是把这些cell摆好,不能有重叠,不能有legalization的问题,不能有FE DRC。这就很类似于一堆散乱的乐高积木,我们要把它一个个的在地上铺好。在place的时候,并不仅仅要求把cell铺开就行了,这个时候就要考虑cell之间的绕线了,尽量把联系比较紧密的cell放在相近的位置啊,但又不能放的过于密集导致density过高出现congestion的问题啦,power能不能供上电啦等等,需要考虑的因素有很多。而它的核心任务就是摆放这些标准单元。

CTS,时钟树综合。我们的芯片设计中包括组合逻辑和时序逻辑,时序逻辑器件包括flip-flop和latch。所有的时序逻辑器件都需要接时钟信号,时钟信号就像芯片的心脏一样,芯片的运转就在它的跳动中产生。因此,我们的net就可以分为一般的信号线signal net和时钟线clock net,时钟网络上的cell可以成为clock cell。显然,我们要对芯片的timing有约束要求,那么保证一个良好时钟是非常重要的,因此clock net的优先级要比signal net的优先级高,所以我们要在route之前先做CTS。而CTS也不单单指clock net的绕线,它要生成一个clock tree,就需要插入一些buffer、inverter,其最基本的目的,就是想要保证时钟信号到达每个时序逻辑器件的时间都相同,也就是clock skew要等于0。先不深入太多了,总之CTS就是来生成一个时钟网络并且把clock net绕好。

Route,绕线。特指signal net的绕线。这一步需要绕的线就多如牛毛,需要避开前面的PG和时钟线,不能有open、short,不能有drc,在能绕通的情况下要考虑timing、power等。要知道,有的时候可能是绕不通的,可能是从floorplan开始这里的绕线资源就很紧张,或者placement摆了太多cell在附近,这样就必须回到floorplan或者placement重新来过,这样就很费时间。要知道现在的电脑来跑一个芯片,每个stage可能要十几个小时,所以在每个stage跑完适时进行check是很有必要的。有的时候可以绕通,但是会产生很长的detour,这也是我们不愿看到的。现在的芯片越来越复杂,之前的教材可能写的绕线层有五六层,现在的芯片多的绕线可以达到十几层了。如何在这些纷繁复杂的十几层里找到千万根线想要绕的位置,实在是一件非常难的事,更别说要附带考虑那么多其他的优化因素了。而这一切都已经必须由EDA工具帮我们完成,借助现代计算机的强大性能,还有不断优化的算法,我们就可以得到相对比较好的route结果。其实我一直很佩服那些EDA工具,总是想知道他们具体的算法是什么,不过这就属于非常机密的东西了。

Route结束也不代表APR结束了,一般还会做插filler的动作,后面就是交给signoff了。好了,这样就非常非常简略讲了一下APR要做的事,可能文中出现了一些不懂得名词,还有一些概念,以后我也会写文章慢慢一个个讲的。希望对大家有所帮助。

微信公众号D:伟酱的芯片后端之路

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • 和前端及DFT相比,数字后端真的不占优势吗? 众所周知,数字后端设计是IC设计中必不可少的一个环节,可是后端设计工...
    飞奔的大虎阅读 6,649评论 0 3
  • APR (floorplan, place, CTS,route) 真正详细完整的介绍应该是Synopsys和Ca...
    飞奔的大虎阅读 1,332评论 0 1
  • [1] EDA Electronic design automation,缩写:EDA)是指利用计算机辅助设计(...
    飞奔的大虎阅读 2,781评论 0 4
  • 以下三个是最经常被问到的,基本上属于介绍性的题目,无所谓正确答案,在我看来,这些不算真正的问题。 Discuss ...
    蜀湘情缘阅读 6,111评论 0 8
  • 数字后端流程学习 1.数据准备 2.布局规划 3.布局 4.时钟树综合 5.布线(route) 6.签核(sign...
    飞奔的大虎阅读 4,834评论 0 0