0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

芯片Block的划分问题解析

冬至子 来源:伟酱的芯片后端之路 作者:伟酱的芯片后端之 2023-12-06 14:51 次阅读

后端在floorplan阶段,如何摆放macro是一个很重要的问题。如果采用层次化设计,对于每一个block来说都需要在block内部把所分配的macro摆好。

如果某一个block里的macro很多,又很大,std cell再多一些,utilization就会很大,相应的这个block的floorplan就比较难做,而其他block的utilization很小,这样的design就不太好。

我们总是希望所有的block都能有差不多的utilization,平均且充分地利用芯片的每一块面积,这就需要在block划分初期就做好预估。

这个问题需要前端与后端协调配合,block的划分是需要前端提供带有hierarchical结构的netlist,然而前端在做hierarchical的综合的时候,并不会过多考虑后端物理层面的信息,因此可能综合出的netlist各个block物理上不是那么均衡。

当然,这种netlist也是可以物理实现的,只是对于有些要求比较高的design来说,最后出来的芯片性能可能会有所不足。

这个时候后端工程师就可以反馈,比如说,把某个block的某个macro综合到另一个block里去,或者两个block就直接merge变为综合成一个block。收到反馈以后,前端工程师就可以重新综合,再给我们新的netlist来做物理实现。

以上这个过程可能需要迭代几次才能达到最佳效果,但这样会需要花费很多时间,导致芯片设计周期变长。一种更快速的方案是,前端首先综合出flatten的netlist,就是不带任何hierarchical信息的,出这种netlist的速度应该相对快一点。

后端拿到flatten的netlist之后,就知道了macro以及有关的std cell的面积了,这样后端就可以直接通过这些物理信息和逻辑信息来划分block,再把分配好的结果给前端,前端就可以参考这样的分配来做hierarchical层级。

不管是flatten的综合还是hierarchical的综合,出来的cell的count或area是差不多的,因此后端在拿到hierarchical的netlist之后,做出来的block物理情况应该也与之前用flatten netlist的预估差不多。

有一个可能疑惑的地方是,这里前端给的netlist永远是总的芯片的所有的netlist,不管是flatten还是带hierarchical结构的netlist都是一个file。

我们后端也会做netlist的划分,不过是根据前端给的那份netlist切割成好多个netlist给不同的block来用,相当于把一个文件变成多个文件,每个block拿一个,分割的依据是总的netlist的hierarchical结构。

有的时候资本家觉得上面的方法还是慢,并且还想追求比较好的芯片性能,就有人想出了更为讨巧的办法。这个方法牺牲了一定的准确度,但大大提高了速度。

就是说前端在综合之前就把ip和所用macro的信息提供给后端,而后专门有工程师来利用大数据机器学习的方法预估出每个ip相关的std cell的area和count。

没错,机器学习也应用到芯片领域了,一个ip在之前的芯片中用的越多,样本量就越大,学习的效果就越好。

后端就可以根据这一份预估的结果来进行block划分,然后把划分结果反馈给前端,前端就可以直接按这个方案综合,综合次数最少仅需一次!芯片设计周期大大缩短,但相应的划分的准确度也较难保证。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片设计
    +关注

    关注

    15

    文章

    997

    浏览量

    54784
  • STD
    STD
    +关注

    关注

    0

    文章

    36

    浏览量

    14340
  • 机器学习
    +关注

    关注

    66

    文章

    8367

    浏览量

    132357
收藏 人收藏

    评论

    相关推荐

    MLCC断裂问题解决方案

    MLCC断裂问题解决方案
    的头像 发表于 10-16 09:43 304次阅读

    Keystone NDK常见问题解

    电子发烧友网站提供《Keystone NDK常见问题解答.pdf》资料免费下载
    发表于 10-11 10:41 0次下载
    Keystone NDK常见问<b class='flag-5'>题解</b>答

    TFPxxx常见问题解

    电子发烧友网站提供《TFPxxx常见问题解答.pdf》资料免费下载
    发表于 09-29 09:56 0次下载
    TFPxxx常见问<b class='flag-5'>题解</b>答

    LDO芯片有哪些种类

    LDO(Low Dropout Regulator,低压差线性稳压器)芯片作为电源管理领域的重要组件,具有广泛的应用场景和多样化的种类。根据其设计特性、工艺技术及应用需求的不同,LDO芯片可以被划分为多个种类。以下是对LDO
    的头像 发表于 09-11 09:58 945次阅读

    freertos系统如何划分任务?

    正在看freertos方面的教程,想请教下如何划分任务? 比如之前做的一个数据采集板,用到了单片机以下功能: 1,单片机通过SPI1和ADC芯片通讯,同时还要通过SPI控制ADC电路部分的其他外围
    发表于 05-08 07:16

    vlan的划分方法有哪些?有哪几种?

    VLAN(Virtual Local Area Network)是一种虚拟局域网技术,可以将多个物理上分散的局域网划分为逻辑上的若干虚拟局域网。VLAN的划分方法主要有以下几种: 1. 端口VLAN
    的头像 发表于 04-20 14:20 3110次阅读

    【电磁兼容技术案例分享】智能门禁的ESD问题解决案例

    【电磁兼容技术案例分享】智能门禁的ESD问题解决案例
    的头像 发表于 04-19 08:16 324次阅读
    【电磁兼容技术案例分享】智能门禁的ESD问<b class='flag-5'>题解</b>决案例

    OVP过压保护芯片:为何电子工程师需要它?功能、作用全解析

    OVP过压保护芯片:为何电子工程师需要它?功能、作用全解析
    的头像 发表于 03-06 10:27 5679次阅读
    OVP过压保护<b class='flag-5'>芯片</b>:为何电子工程师需要它?功能、作用全<b class='flag-5'>解析</b>

    滚柱导轨精度等级是如何划分?

    滚柱导轨的精度等级主要根据其表面精度、滑块与导轨表面的公差以及定位精度等性能指标来划分。根据不同的标准和应用需求,精度等级的划分存在一定的差异。
    的头像 发表于 01-11 17:41 785次阅读
    滚柱导轨精度等级是如何<b class='flag-5'>划分</b>?

    PCB压合问题解决方法

    PCB压合问题解决方法
    的头像 发表于 01-05 10:32 984次阅读

    光耦失效的几种常见问题解析

    光耦失效的几种常见问题解析  光耦失效是一个常见的问题,特别是在电子设备中经常使用光耦进行隔离和信号传输的情况下。下面将详细介绍一些光耦失效的常见问题以及解析。 1. 输出信号弱或无输出 有时,光耦
    的头像 发表于 12-25 14:30 5920次阅读

    芯片制造步骤解析

    电子发烧友网站提供《芯片制造步骤解析.docx》资料免费下载
    发表于 12-18 10:32 3次下载

    block schematic如何使用?

    block schematic这个如何使用,有使用指南吗?auido input 没东西可选啊。
    发表于 11-29 07:11

    不同频段的划分及特征解析

    不同频段的划分及特征解析  在无线通信中,不同频段的划分是为了在频谱资源有限的情况下,能够有效地进行频率的分配和共享,以提高通信系统的效率和性能。不同频段的划分是根据频率范围、传输速率
    的头像 发表于 11-27 16:19 1.4w次阅读

    CLOCK常见问题解

    电子发烧友网站提供《CLOCK常见问题解答.pdf》资料免费下载
    发表于 11-23 10:23 0次下载
    CLOCK常见问<b class='flag-5'>题解</b>答