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

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

3天内不再提示

介绍floorplan基本规则

数字后端IC芯片设计 来源:未知 作者:李倩 2018-06-25 14:15 次阅读

大家都知道,Floorplan的目的是为了确定模块大小,位置,形状,以及摆放Macro,也就是我们通常见到的随机存储单元RAM、只读存储单元ROM,还有其他IP模块等等。它与Place(布局)有着一些相似的地方。Floorplan的复杂之处在于模块的形状与大小可能是一个不确定的变量,需要权衡结果来反推这个变量。而其简单之处在于,Floorplan相比于Place的超大规模标准单元而言,整体数据量并不是十分庞大。

对于Floorplan而言,人们更倾向于靠自己的经验去摆放Macro,摆放它们时不仅要考虑面积、互联线长等传统问题,还需要考虑Place阶段,Macro的摆放对于Place的影响。因为Macro从本质上讲就是一个巨型的标准单元,很多Macro也存在于各个模块内,在Floorplan阶段并不能和模块对等的考虑。对于这个问题,人们根据实际生活中的经验,提出一种边缘摆放(edge place)的方法。

因为长久以来,人们在使用具有矩形或者多边形结构的平面石砖砌墙或者铺地面的时候发现一个规律,要想更好的利用手头的材料,更少的产生材料的冗余,需要先从平铺区域的边边角角开始工作,并且首先将最大块的材料铺于区域中,再向中心扩展,并用一些小材料填补区域上的空隙。

边缘摆放的好处主要来源于下面两点:

a.从目前芯片设计的趋势来看,芯片中除了计算单元,随机存储单元RAM、只读存储单元ROM等。这些存储单元占据的芯片面积在有些设计中甚至超过百分之五十。对于存储单元来说,存在数据端口和存储端口,并且周围需要有一些可测性电路。这使得这些单元引线众多且功耗巨大。将它们贴边放置,不仅有利于这些单元的供电,而且防止这些单元过多的引脚对其他单元的布线造成影响。

b.标准单元在布局时,按照Row所划定的高度一排一排的摆放,这样既有利于算法的设计,又有利于工业制造。并且在给各个器件供电时,可以使用横向的电源线将处于同一高度的器件连接在一起统一供电。若是将标准单元都摆放在芯片区域的中心,而大的Macro摆放在四周,就可以使标准单元方便的只用一条电源线连接在一起,而不会被高度不统一的Macro打断。对电源网格的设计提供了巨大便利。

而Macro的摆放原则基本如下,可以参照下面这张图

a.模块尽量摆放在靠近相应输入输出口(I/O port)的位置。一般来说对于大型的Macro,他们不仅仅需要与芯片内部的其他Macro或者标准单元进行数据交换,还需要与芯片外部的器件进行通信。比如,锁相环单元需要接收外部晶振信号,存储单元需要接收外部地址等。这种数据交换就是靠I/O port进行的,因此摆放在离相应的数据端口附近,有利于减少互联线长度,减少线上延迟,并节约布线资源。

b.大的Macro摆放尽量贴近版图的边缘和角落,这样有利用空间的利用。如下图所示:

c.Macro与Macro之间要留有一定空隙,给予布线资源。特别是在Macro的间隙有端口的时候更是如此,设计者可以通过相邻Marco边界上端口的多少来决定留有多大的间隙比较合适。在使用EDA软件的Floorplan设计时,同样可以给Macro加上halo来控制Macro与Macro之间的距离。Halo分为placement halo和routing halo,可以分别阻止在有Halo区域放置其他单元或者绕线,类似于blockage。但是Halo并不是独立存在,而是依附于Macro周围,可随Macro移动的。所以它是专门用来控制Macro和其他单元之间距离的一种功能。

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

    关注

    455

    文章

    50714

    浏览量

    423138
  • ROM
    ROM
    +关注

    关注

    4

    文章

    563

    浏览量

    85731
  • 存储单元
    +关注

    关注

    1

    文章

    63

    浏览量

    16148

原文标题:Build A City——Floorplan

文章出处:【微信号:IC_Physical_Design,微信公众号:数字后端IC芯片设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    区域规则设置

    我用的是Cadence 15.7,使用区域规则设置,定义线宽,但是布线时规则设置未起作用,我按照书里的介绍一步一步来的,哪位高手可以帮忙下。
    发表于 03-02 13:08

    Altium designer设置区域规则和器件规则

    转 Altium designer 如何设置区域规则和器件规则下面为大家介绍下区域(room)规则打开altium designer软件,在设置Design>>Rooms根据自己的要
    发表于 07-05 08:24

    Maxplus2使用技巧—使用floorplan(底层编辑)

    What is the Floorplan􀂄It is use to control the placement of your design logic–to increase
    发表于 09-12 09:54 0次下载

    业务规则管理在电信网管系统中的应用

    主要介绍业务规则及业务规则管理的概念,讨论了业务规则管理系统的基本原理,实践一个简单的业务规则管理系统并应用于电信网络管理系统中告警过滤。[
    发表于 06-19 11:57 17次下载

    分类规则挖掘算法综述

    分类规则挖掘算法综述:分类规则挖掘是数据挖掘中一个重要的研究领域。通过介绍当前数据挖掘中具有代表性的分类算法,总结了各种算法的优缺点,给出了分类算法的应用以及
    发表于 10-10 14:24 3次下载

    什么是3W规则 20H规则 五五规则

    什么是3W规则 20H规则 五五规则 3W规则
    发表于 12-12 15:33 5385次阅读
    什么是3W<b class='flag-5'>规则</b> 20H<b class='flag-5'>规则</b> 五五<b class='flag-5'>规则</b>

    详细介绍PCB设计时需要遵守的规则

    详细介绍PCB设计时需要遵守的规则
    发表于 09-18 14:08 0次下载

    PCB设计:如何导入导出设计规则

    介绍如何在Altium Designer中导入导出设计规则,借鉴其他设计的优秀合理的规则设置(宝贵的设计经验)为我所用,而不需要自己手动创建。
    发表于 06-05 07:17 9567次阅读
    PCB设计:如何导入导出设计<b class='flag-5'>规则</b>

    AltiumDesigner规则设置技巧的详细中文资料介绍

    本文档的主要内容详细介绍的是AltiumDesigner规则设置技巧中文资料概述
    发表于 06-29 08:00 0次下载
    AltiumDesigner<b class='flag-5'>规则</b>设置技巧的详细中文资料<b class='flag-5'>介绍</b>

    Altium Designer教程之PCB的设计规则

    本文档的主要内容详细介绍的是Altium Designer教程之PCB的设计规则主要内容包括了:1 电气相关的设计规则2 布线相关的设计规则3 SMD布线相关的设计
    发表于 09-21 08:00 0次下载

    PCB设计的规则流程及注意事项介绍

    PCB设计规则、层定义、过孔设置、CAM输出设置已经作成缺省启动文件,名称为Default.stp,网表输入进来以后,按照设计的实际情况,把电源网络和地分配给电源层和地层,并设置其它高级规则。在所
    发表于 04-30 12:00 5779次阅读

    闸流管和双向可控硅成功应用的规则有哪些十条黄金规则详细说明

    本文档的主要内容详细介绍的是闸流管和双向可控硅成功应用的规则有哪些十条黄金规则详细说明。
    发表于 10-11 14:33 18次下载
    闸流管和双向可控硅成功应用的<b class='flag-5'>规则</b>有哪些十条黄金<b class='flag-5'>规则</b>详细说明

    AD设计规则详细介绍

    AD设计规则详细介绍
    发表于 02-11 13:41 0次下载

    pcb走线的规则设置方法介绍

    随着电子产品的迅速发展,PCB(Printed Circuit Board)在电子设计中扮演着重要的角色。设计PCB走线时,合理设置规则是确保电路在安全、稳定、高效工作的基础。本文将详细介绍PCB走
    的头像 发表于 01-09 10:45 2551次阅读

    Redis实现分布式多规则限流的方式介绍

    市面上很多介绍 Redis 如何实现限流的,但是大部分都有一个缺点,就是只能实现单一的限流,比如 1 分钟访问 1 次或者 60 分钟访问 10 次这种,但是如果想一个接口两种规则都需要满足呢,我们的项目又是分布式项目,应该如何解决,下面就
    的头像 发表于 02-26 10:07 489次阅读
    Redis实现分布式多<b class='flag-5'>规则</b>限流的方式<b class='flag-5'>介绍</b>