数字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. 参考资料

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

相关推荐
ikun的男人14 分钟前
FPGA图像处理仿真:生成数据源的方法
fpga开发
北京太速科技股份有限公司2 小时前
太速科技-430-基于RFSOC的8路5G ADC和8路10G的DAC PCIe卡
fpga开发
RIGOL小普4 小时前
如何用李萨如图形测正弦信号的频率?若不使用李萨如图形,如何用示波器测交流信号频率?
单片机·嵌入式硬件·fpga开发·硬件工程·射频工程
约翰先森不喝酒15 小时前
Android BUG 之 Program type already present: MTT.ThirdAppInfoNew
bug
小眼睛FPGA18 小时前
紫光同创——盘古 50KN 网口板
fpga开发·开发板·国产fpga
Mr. zhihao1 天前
记录 Maven 版本覆盖 Bug 的解决过程
java·bug·maven
淡暗云之遥1 天前
XCode16.0 Command PhaseScriptExecution failed with a nonzero exit code 的错误
ios·bug·xcode·swift
北京太速科技股份有限公司1 天前
太速科技-217-A(B)-Base Camera link 转光纤传输双向模块
fpga开发
Q8343158192 天前
JL5109C 9口交换机芯片集成MAC RMII/MII百兆以太网交换机芯片
arm开发·网络协议·web安全·网络安全·fpga开发·信息与通信·信号处理