目录
一. 简述数字IC设计流程
1. 项目需求。确定芯片的功能,由架构师来设计架构,用C/C++/Matlab等进行模拟仿真,得出可行的芯片设计方案
2. 前端。利用Verilog等硬件描述语言将体系结构转换为RTL(register-transfer level,寄存器传输级)的硬件描述语言代码,其中需要进行功能仿真验证(动态)、门级仿真(辅助验证)、形式仿真(静态)、STA、逻辑综合(将RTL级描述转化为门级表达,把代码翻译成元器件)
3. 后端。Floorplan、Power、place and route布局布线、PT、DRC(design rule check,设计规则检查)、LVS(layout versus schematic,版图电路图一致性检查)
4. 物理实现。将设计的GDS文件给芯片制造厂商进行物理实现,包括掩膜制作、晶圆加工、封装测试等环节
5. 芯片测试:对功能和性能进行测试
二.如何选择工艺节点(xPyM)
工艺节点的选择一方面取决于芯片产品性能需求(spec)、另一方面取决于生产成本
表示x层poly(栅极),y层金属层(高层用来走power)
三. Floorplan的步骤及注意事项
3.1 步骤
1. 确定芯片面积:area=std cell area/0.65+macro area/0.82,确定模块尺寸
2. 对于多电源电压的设计,需要创建Voltage domain
3. 摆放macro、IP、IO,注意macro和IP的poly方向、出pin方向、memory之间是否需要留space、memeory原则上需要摆放在boundary边上,交互较多的macro放在一起,
(macro包括memory、PLL等各种IP)
4. 添加placement blockage和routing blockage
5. 对于多电源电压的设计,需要添加power switch cell,来控制std cell电源的开关
6. 添加一些特殊的cell(phtsical cell):
tap cell:也称boundary cells,放在macro、row的两端,std cell的上下边界,防止闩锁效应(两个BJT(三极管)导通,在VDD和VSS之间产生低阻抗电路,两个晶体管反馈电路增益乘积大于1,会使VDD和VSS之间产生大电流)
endcap cell:包围模块四周和macro四周,为了保证栅以及氧化层的一致性,需要在标准单元row两端放置endcap,相当于一种dummy管子,用来保证两边的标准单元左右环境的一致性,避免在光刻时,由于最两端标准单元左右环境不一致导致的性能差异
(tie cell:进行esd静电保护二极管,固定电平,普通隔离作用
decap cell:小电容器,减小动态电压降
filler cell:填充标准单元row中的空白区域,没有逻辑连接)
3.2 如何评价floorplan好坏
1.符合data flow
2.congestion map和cell density适度(拥挤和密度)
3. routing drc相对clean