可编程逻辑器件与专用集成电路——《Verilog 与数字ASIC设计基础》读书笔记(一)
早期电子系统硬件设计采用分立元件,随着集成电路的出现和应用,人们选用功能固定的标准集成电路(例如各种逻辑门,编码器,译码器,触发器,和计数器等)构成硬件系统,后来,又以微处理器为核心构成系统,现在则广泛采用专用集成电路(ASIC)来构成系统,一个复杂的数字系统只要一片或则是几片ASIC即可实现。
制作ASIC的方法大致分为两种,一种是掩膜处理方法(掩膜处理是IC的一种制作工艺,指在IC的不同制造阶段需要处理晶片上的不同位置,这就需要遮住其他的不需要处理的地方,称为不同的掩膜层),由半导体厂家制造;另一种是使用现场可编程器件实现,用户通过计算机和EDA开发工具,将所设计的电路或则是系统“编程”到芯片上,就可以得到一块专用集成电路。
1.1 可编程逻辑器件
可编程逻辑器件PLD(Programmable Logic Device)就是一种可以由用户定义和设置逻辑功能的数字集成电路,属于可编程 ASIC。PLD的种类较多,目前广泛使用的PLD器件主要是复杂可编程逻辑器件CPLD(Complex Programmable Logic Device)和现场可编程门阵列FPGA(Field Programmable Gate Array) .
CPLD器件内部含有许多逻辑块和连线资源,而逻辑块由与-或阵列和触发器等构成,逻辑块的功能由用户编程决定。逻辑块之间,逻辑块与芯片外部可以通过可编程的连线资源实现信息交换。通常CPLD器件采用COMS E2PROM工艺制作,当用户的逻辑写入后即使掉电也不会丢失。通常CPLD内部还集成了E2PROM,FIFO,或则是双口RAM,以适应不同功能的数字系统设计。
FPGA是另一类可编程逻辑器件,在结构上与CPLD有很大的差别,电路设计不受与-或阵列结构的两级组合逻辑限制。芯片内部主要由许多可编程逻辑模块组成,靠纵横交错的分布式可编程互联线连接起来,可构成极其复杂的逻辑电路。它更适用于实现多级逻辑功能,并且具有更高的集成密度和应用灵活性。目前,主要有基于COMS SRAM工艺制造的FPGA和基于反熔丝工艺制造的FPGA两种类型。由于SRAM中数据理论上可以进行无数次的写入,所以基于SRAM技术的FPGA可以进行无限次编程。但是,SRAM具有数据易失性的特点,即一断电,其原有的逻辑功能将消失,所以在使用这类FPGA时外部需要一个PROM保存编程数据,上电后FPGA先从读入编程数据进行初始化,然后才开始正常工作。基于反熔丝技术的FPGA则只能编程一次,此类FPGA比较适合定型产品和大批量应用。
可编程逻辑器件是组成数字逻辑系统的理想器件,设计时只需要通过定义器件内部的逻辑和输出/输入引脚,就可以实现各种逻辑功能,而且由于定义引脚的灵活性,大大减轻了电路图和电路板设计的工作量和难度,从而有效地增加了设计的灵活性,提高工作效率。和ASIC相比,这种方法的缺点是单片成本较高,电路的性能受到PLD器件的限制,很难实现高性能或有特殊要求的设计。
1.2 专用集成电路
ASIC芯片主要由半导体厂家采用半定制的方法制造,常用的有门阵列(Gate Array)和标准单元(Standard Cell)两种类型。门阵列和标准单元的内部结构不同,使用的制造技术也不一样,因而他们的成本,生产时间,效率也不一样。
门阵列是一种用掩膜版编程的集成电路设计技术。门阵列技术包括COMS门阵列,射极耦合逻辑(ECL)门阵列,BiCMOS门阵列,数字和模拟兼容门阵列。半导体厂家预先在芯片上制备逻辑门或元件的规则阵列,一直加工到互连线光刻之前一道工序,这样的半成品芯片被称为门阵列母片。然后,厂家根据客户的要气,设计互连线版图并进行制版及光刻加工,芯片就成为一个满足用户要求的专用集成电路。因此,门阵列母片可以大量生产,只需改变互连线版图,即可适应多品种的要求。通常编程的工艺层只限于最后的互连线(单层或多层布线层)。门阵列设计技术的优点是周期短,成本低,成功率高,可靠性好;但也存在着设计不够灵活,门的利用率低,功耗较大等缺点。
标准单元是目前使用较多的一种半定制芯片。半导体厂家预先设计好具有一定逻辑功能的单元电路(如触发器,加法器,计数器和RAM等),并且这些单元电路的布局布线工作已经完成,经过严格的测试,能保证逻辑功能和良好的时序功能,然后以标准单元库的形式提供给设计者。ASIC设计者能把这些已经具有一定功能的单元连接到一起实现所需要的功能,就像印制电路板设计者在PCB板上将那些具有特定功能的逻辑器件进行连接时一样的。当然,需要设计者利用半导体厂商提供的布局布线工具将这些逻辑单元尽可能以最优化的方式布局布线到晶片上。
与门阵列不同的是,尽管这些标准逻辑单元已经预先设计好,但并不预先放到晶片中(因为厂家事先不知道设计者的设计情况,没有一种通用的方式决定各种逻辑单元使用的数量和具体的摆放位置)。因而标准单元设计没有母片的概念。每块晶片都是根据设计者的需求临时制作的,晶片内部最基本的晶体管都是现场刻制的。所以,标准逻辑单元的生产周期较门阵列较长。由于标准单元的每一层掩膜都是根据不同用户的需求定制的,用户不能共享开发成本,因而标准单元专用集成电路的试制费比门阵列专用集成电路要高。
标准单元结构的优点是晶片体积小,可以支持很复杂的设计,批量生产单片成本低,用户定制性好。对于门阵列来说,母片是事先生产好的,他的晶片尺寸已经固定下来,片内的资源也是均匀分布在片内,许多资源可能得不到充分利用。但是,对于标准单元来说,只有需要的标准单元才会被放置到晶片中,所以晶片的尺寸越小,每块晶圆能够切割的晶片数量就越多,单片的成本越低。这是在大批量生产时标准单元结构专用集成电路的优势。