当前位置: 首页 > article >正文

数字IC开发:布局布线

数字IC开发:布局布线


前端经过DFT,综合后输出网表文件给后端,由后端通过布局布线,将网表转换为GDSII文件;网表文件只包含单元器件及其连接等信息,GDS文件则包含其物理位置,具体的走线;布局布线就是将单元器件及其连接信息,转换为具体版图的过程;本文是对布局布线的一个简单介绍(不包含验证过程)


1 . FloorPlan(布局规划)

🐶首先要对布局有一个规划,确定芯片的尺寸,形状,IO,宏单元的放置,数字部分,模拟部分,电源等等的放置和规划;这个过程就是FloorPlan(布局规划);

2. Place(布局)

🐭对各个元器件进行摆放,芯片一般不允许大面积留白,因此在空余的地方需要填充一些元器件。这里一般填充些与非门和D触发器(DFF),以便后期做ECO;

🐹ECO: Engineering Change Order; 后端已经开始,但我们前面发现了一些bug,为了节省开发时间,会选择让后端直接在版图设计时进行修改,如果是已经流片后发现的bug,则可以在金属层只修改其对应位置;在留白部分放置些与非门和DFF,可以方便连线完成ECO,否则如果后面发现bug,就需要新增元器件,从而增大eco成本;

3. CTS(Clock Tree Synthesis,时钟树综合)

🐰如图,时钟clk到达clk1和clk2的时间是不一样的,我们称这种偏差为skew; 请添加图片描述

🐺时钟信号clk本身也不是绝对标准的,有时可能高电平维持时间长些,有时可能低电平维持时间长些,这种时钟的抖动为jitter;
🐸此外DFF的输出数据需要一个保持时间(hold time)的延时,输入数据需要满足建立时间(setup time)的延时
CTS通过在时钟信号线路径上插入一些buff来改变时钟路径的延时,从而降低jitter,skew的影响,并使DFF传输数据🐯满足保持时间和建立时间的延时,从而保证DFF传输数据过程中不会出现错误;

4. Route(布线)

连接各个元器件的引脚;时钟信号可能会引起附近信号的波动,还要考虑天线效应,拥塞等等,这块还是比较麻烦和耗时的;

5. 参考资料

本文只是对数字布局布线原理的一个很简单梳理,具体细节可以参考下面的参考资料;

  • 【1】【详细】芯片设计全流程(包括每个流程需要用到的工具以及需要参与的工作人员)_芯片设计流程-CSDN博客
  • 【2】 ICC图文流程——(二)布局规划Floorplan-CSDN博客
  • 【3】 ICC图文流程——(四)时钟树综合Clock Tree Synthesis-CSDN博客
  • 【4】芯片设计中的ECO是什么?_芯片eco-CSDN博客
  • 【5】ICC图文流程——(五)布线Route_icc自动布局布线-CSDN博客
  • 【6】Layout天线效应的产生原因以及解决方法_天线效应的产生原理和解决方法-CSDN博客

http://www.kler.cn/a/370519.html

相关文章:

  • [STM32 HAL库]串口空闲中断+DMA接收不定长数据
  • 实力认证 | 海云安入选《信创安全产品及服务购买决策参考》
  • 2024年博客之星年度评选—创作影响力评审入围名单公布
  • JavaScript中提高效率的技巧一
  • 【Python运维】用Python管理Docker容器:从`docker-py`到自动化部署的全面指南
  • vue3常用的组件的通信方式
  • 动手学深度学习9.6. 编码器-解码器架构-笔记练习(PyTorch)
  • SQL Server 中,将单行数据转换为多行数据
  • 深度学习-BP算法详解
  • Python BeautifulSoup (bs4) 中 HTML 元素的定位与查找
  • 网页端.js和qt C++ 文件 怎么进行数据传递
  • MySQL5.7实现 row_number() over()函数的功能
  • 《计算机网络》期末复习资料
  • 最新影响因子排名和分区出炉!一本IEEE Trans上榜On Hold
  • python道格拉斯算法的实现
  • 基于springboot的旅游出行指南
  • 【electron+vue3】使用JustAuth实现第三方登录(前后端完整版)
  • BUG的跟踪管理
  • VLAN聚合
  • java后端项目技术记录(二)
  • 服务器耗电量怎么计算?
  • NineData快速生成大量有意义的测试数据
  • 数据清洗与分析工具详解:Pandas 和 NumPy 的全面教程
  • 《掌握 Java:从基础到高级概念的综合指南》(5/15)
  • 线程同步(互斥锁条件变量)
  • Phpwind GET型CSRF任意代码执行