芯片设计流程(芯片设计流程 电路设计和版图设计)

新闻资讯2024-08-12 22:36小乐

芯片设计流程(芯片设计流程 电路设计和版图设计)

芯片设计又称集成电路设计(IC design),也可称为超大规模集成电路设计(VLSI design),是指以集成电路和超大规模集成电路为目标的设计过程。集成电路设计涉及电子器件(如晶体管、电阻器、电容器等)模型的建立以及器件之间的互连。所有器件和互连都需要放置在一块半导体衬底材料上。这些元件通过半导体器件制造工艺(例如光刻等)放置在单个硅基板上,形成电路。芯片设计流程1.总体规划随着集成电路设计规模的不断扩大,出现了许多成熟且常用的设计模块,也称为IP核。现在芯片正向设计不再是从头开始,而是基于某些成熟的IP核来使用,并在此基础上添加芯片功能。正向芯片设计仍然是从市场未来的需求出发,是否开发芯片是从开发成本和预期收益来衡量的。明确了市场未来的需求后,将这些需求转化为芯片的重要参数指标,然后进行任务划分。模拟设计师负责仿真,数字设计师负责数字。 2、架构/算法现在数字电路在芯片中占有巨大的比例,数字逻辑也越来越复杂,所以必须从架构和算法的角度来考虑。该架构可分为三大方向:数据流;控制流量;总线流量。 1、数据流向:数据从输入到输出是一条直线,没有数据回溯。这是一个纯粹的数据处理架构。这个芯片的功能应该比较简单。 2、控制流程:这是基于状态机或者CPU形式的架构设计。对于简单的芯片,使用状态机就足够了,但是对于复杂的芯片,就必须使用CPU作为控制核心。例如,单片机就是以CPU为控制核心,加上RAM和ROM形成的一种控制芯片。 3.总线流程:这是一种基于总线的芯片设计架构。最熟悉的就是SOC芯片。总线连接一个或多个各种组件,如CPU、RAM、ROM、I2C、UART等。这些组件的不同排列和组合形成满足各种需求的芯片,例如不同的ARM芯片。 3.RTL代码。算法工程师设计完芯片架构,在MATLAB上验证了各种算法,并考虑了其他必要条件后,工作就会交给ASIC工程师翻译RTL代码,即将RTL代码翻译成MATLAB。该算法被翻译成RTL。从翻译的角度来看,这一步只需要文本编辑器。不过后续还有模拟验证工作,这部分并不容易。有时,根据公司和项目的工作量,算法工程师和ASIC工程师的工作内容有重叠。他们还负责将MATLAB 转换为RTL。在设计RTL时,我们也会考虑DFT(Design For Test)的问题,并在RTL代码中添加测试链。我对此不太熟悉。 4、仿真验证这一步工作比较关键,可以说是设计部分的第一个分水岭。不同的公司、不同的项目,仿真验证的复杂程度差别很大。简单的,写一个比较完整的testbench来验证RTL代码的功能即可;对于复杂的,会在RTL验证环境中进行详细的验证,甚至可能会使用各种验证方法来学习UVM,VMM,OVM等,这种复杂验证所使用的语言一般使用SystemVerilog。验证软件可以使用Cadence公司的NC_VERILOG或Synopsys公司的VCS。

5.工艺选择正向设计必须在最初的总体规划中考虑工艺问题,这涉及到工艺的相关知识。有些工艺是专门为某些类型的芯片开发的。因此,一旦你想开发出相应工艺的芯片,直接使用即可。然而,工艺的选择往往非常耗时,需要考虑各种参数,例如工艺生产周期、工艺良率、工艺生产时间等。安排和其他方面都是经过仔细考虑的。 [2] 6.综合和时序功耗分析这部分工作主要使用synopsys的工具Design Complier(综合)和Prime Time(时序和功耗)。这两个工具的使用比较复杂。具体说明请参考百度文库相关信息。一般来说,这两个工具都是约束驱动的软件,软件在使用时是通过约束文件来驱动的。因此,工作的主要内容,除了软件的使用之外,最重要的是如何编写约束文件。一般来说,约束主要包括面积约束、扇入扇出约束、时序约束等约束。如果RTL代码不满足约束,则必须根据具体情况修改约束或者修改RTL代码。约束是用TCL脚本语言编写的。综合和时序分析将根据所使用的技术生成电路网表。该网表将作为下一步自动布局布线的主要文件。 7、形式化验证形式化验证是每次将芯片的逻辑电路转换成另一种表达形式时都需要做的工作。具体地,需要在网表综合生成后进行一次。主要对比文件是RTL仿真后的文件和综合后的网表。布局布线后需要再次进行。主要比较文件是综合后的网表和布局。布线后的网表。主要工作内容: 1、准备两个待比对文件及各种工艺技术库文件; 2、使用TCL脚本编写脚本程序,将其中一个文件设置为比较标准,将其中一个文件设置为待比较文件; 3.运行Formality并分析生成的对比报告; 4、根据报告进行相应的调整和修改。 8.自动布局和布线这一步很大程度上依赖于软件和经验。目前常用的软件是Cadence Encounter,Synopsys也有相应的自动布局布线软件ASTRO。主要工作内容: 1、编制工艺文件(时序文件库数字布局库); 2、综合后准备电路网表文件和约束文件; 3、根据设计要求设置布局面积等相关参数。 4、自动布局布线,检查时序和功耗。

猜你喜欢