1.1 系统及系统集成
一个完整的电子信息系统应该能够及时地捕捉信息、处理信息、传递信息。那么,信息是什么呢?显然,信息除了自然界的物理量,还包含了需求,包含了方法,包含了信息处理系统设计者的知识甚至是文化。VLSI系统根据信息和人们需要解决的问题,采用电子信息处理方式对信息进行感知和处理,将广义的信息转换成狭义的电子信息并进行处理。
信息和信息处理可以是链式的,也可以是并发的。对于并发信息与信息处理需要更大规模的硬件来实现。对于大多数的并发处理机制其局部体系通常还是以串行方式工作。目前大部分的VLSI系统信息及信息处理是链式的,但并发的或称为平行的处理模式是一个重要的发展方向。
1.1.1 信息链
通常的链式信息处理机制是和信息链的结构密切相关的,图1.1给出了一个信息链及其处理模块的关联图。
图1.1 信息链及其处理模块关联图
外部信号主要是自然界的各种物理量,包括电、热、磁、声、光以及各种机械力等,它们属于不同能域的物理量;能域变换主要是将这些不同能域的物理量转换成电学量,以便统一的进行进一步处理;由能域变换单元得到的电信号通常是比较微弱的模拟信号,这些信号要经过预处理模块进行放大或选择,使之成为具有一定幅度并且稳定可靠的信号;接下来是进行信号的变换,将模拟小信号变成满足信号处理要求的数字信号。对于收到的外部信号所代表的信息需要通过一定的方法进行判断与处理,这些方法通常是一些算法,而算法既可以由硬件来实现,也可以由软件来实现。但不论是硬件实现的算法或是软件实现的算法,目前只能是数字信号形式,因此,必须将外部的信号变换成可用的数字信号;因为输出的信息经常需要以大小、强弱、速度等模拟量进行表示,也常常需要以热、力、磁、声、光等信号形式进行表示,所以,数字信号处理的结果还需要进行转换,将数字信号再变为模拟信号,以满足对外输出的要求;最终,通过驱动、伺服或能域变换单元输出经过处理的信息。
以上是对于一般的信号链及其相关处理模块的介绍。根据这样的信号或信息关系,VLSI系统被大致分为了几大模块:感知信息模块;电信号处理与变换模块;算法模块;输出处理模块。
当今的VLSI系统主要是集成在硅材料基片之上的,为了能够实现工艺的兼容和设计的兼容,要求以上的这些模块都以硅及硅微加工技术为基础,所有的设计、加工、封装都必须在这个基础上进行。
1.1.2 模块与硬件
1.感知信息模块
传感器是感知信息的一类器件,在VLSI中的传感器主要有半导体传感器和微机电(MEMS)传感器。
传感器的基本功能是完成不同能域的信号转换,所以,有时也将传感器称为换能器。在电子系统中主要是将非电量的信号转换为电量的信号。例如,将压力信号转换为电阻的变化,将湿度信号转换为电容的变化,将光强信号转换为电流的变化,等等。从设计角度看,这属于传感器设计范畴。
VLSI中的半导体传感器主要工作原理是基于半导体的材料特性,例如硅的热学特性,PN结的温度特性、光伏特性,硅的压阻特性等,可以利用的半导体材料除了单晶硅外,还可以是多晶硅,还可以是其他与工艺兼容的硅合金材料,可以是体硅材料,也可以是薄膜材料。例如,普通的PN结具有负的温度系数,即随着温度升高,PN结的正向导通阈值会下降,可以利用PN结的这个特性进行环境温度传感。
微机电(MEMS)传感器则可以采用运动部件来进行传感。MEMS是Micro Electro Mechanical System的缩写,它并不是宏观上的机电系统,而是利用微电子或其他非机械微加工技术实现的,具有特定功能的多能域工作的微型系统。MEMS器件有别于一般微电子器件的重要特征是可以具有运动部件和可以多能域工作,但这并不表示MEMS器件一定是可动的。MEMS传感器有许多种形式和结构,这里列举两个MEMS传感器来介绍:第一个例子是应用于汽车安全气囊中的加速度传感器。该传感器中有一个可以运动的质量块,当然,这个质量块非常轻,只有几毫克到十几毫克。当汽车平稳运动时,加速度很小,传感器中的质量块不发生相对运动或运动很小,但当汽车发生突然事故时,产生了很大的加速度(实际上是负的加速度),质量块由于惯性发生相对于基片的较大的运动,结构产生较大的位移并将这种变化转变为电量,如电阻或电容的变化,由此传感加速度的变化。加速度传感器将力学量转变成了电学量。第二个例子是MEMS风速计,设计的基本原理可以是通过检测风在单位时间内所带走的热量来传感。传感器中并没有可以运动的部件,它有一个被架空的发热元件,例如一个电阻条,被架空是为了减小热量对衬底的传递以提高敏感精度。在发热元件的两边各有一组感温元件。当没有风的时候,由发热元件所建立的热场使两边的感温元件得到相同的热量。当具有一定速度的风吹过的时候,热场的均衡被破坏,两边的感温元件可以检测出这种变化,显然,风速越大,带走的热量越多,两边的温度越失衡。两边这种温度的变化被转换成电压的变化,由此感知风速。
2.电信号处理与变换模块
通常的电信号处理与变换模块完成模拟信号的放大或者是调制信号的检出、模拟信号到数字信号的转换(ADC)、数字信号到模拟信号的转换(DAC)、信号的调制等。主要内容属于模拟集成电路的设计范畴。
从传感器来的信号通常都比较微弱或者噪声很大,因此,电信号处理电路必须解决微弱信号放大或滤噪。但是,因为在整个系统中,算法模块部分占有了主要的和重要的位置,它占用了VLSI系统的大部分资源,同时,因为以数字部分为主,模拟电路必须与数字部分工艺兼容,因此,VLSI系统中的模拟信号放大部分实际上是比较简单的电路,但必须满足信号放大指标的要求。滤噪可以通过算法部分实现,这也部分地减轻了模拟电路的设计难度。
为克服VLSI系统中模拟电路的设计难度,使传感信号能够被有效检出,有时利用传感器的电量去调制载波。例如,传感器电量是以电容变化表现的,则可以采用调制振荡器频率的方式来传递信号,算法部分通过判读频率并进行处理,由此判断外部信号的意义。例如,在某些湿度传感器应用中,湿度改变了电容介质的介电常数,从而引起电容量的变化,而该电容决定了多谐振荡器的RC时间常数,当振荡器在规定时间内输出的方波个数被读取后,可以计算得到电容发生了多大的变化并进而得到湿度的大小。
ADC完成将模拟信号变换为数字信号,DAC则实现将数字信号转换成模拟信号。因为VLSI系统大部分采用MOS工艺实现,所以,DAC和ADC也常采用权电容或电荷分配方式工作,在高速信号处理方面则采用并行变换和过采样技术。
信号调制也是一种常用的变换形式,根据需要,可以将模拟信号调制到一个载波上。例如,一个报警系统,传感器感知了突发事件,处理模块判断了事件类型或性质,系统以电话通信方式远程传送信息。这时,需要将信息调制到电话系统所能够支持的传送模式,例如双音频方式。
3.算法模块
毫无疑问,目前的算法模块以数字方式进行工作。它对应了数字硬件和算法软件或软硬协作。
微处理器的出现实现了用软件控制算术逻辑单元(ALU)完成算术运算和逻辑操作,将单一的硬件模块ALU变成为可以实现一系列功能的可复用的逻辑模块,在软件(实际上是控制码)的控制下,ALU或成为加法器,或成为逻辑门,等等。硬件乘法器的出现解决了用普通ALU进行乘法操作的长运算问题,使得一段软件代码变成为一个操作步骤,在单指令周期或双指令周期内完成两个几十位的二进制数的乘操作。从这个例子,我们可以看到软件和硬件在完成特定工作中各有优势,因此,算法模块的设计需要综合考虑资源与效率的需求。
经典的逻辑设计技术在VLSI系统中得到了优化与提升。随着系统复杂程度的大大提高,传统的设计技术已不能满足VLSI系统的要求。
首先是描述方式,逻辑图、电路原理图的描述方式对VLSI系统已变的越来越困难,硬件描述语言(HDL)被用于了设计描述,目前的HDL既可以描述数字逻辑系统,也可以支持模拟电路的描述,具有代表性的HDL是VHDL和VerilogHDL。
其次是设计方法,这里来看一个系统行为的描述,图1.2给出了一个普通的系统行为描述图。
图1.2 系统行为描述
将这个系统进一步的分解,对其中的每一个子过程再进行描述,如图1.3所示。
图1.3 子过程描述
显然,在这一步我们看到过程已经与子系统发生了联系,再进一步对子系统进行描述,得到图1.4所示的状态转换图。
从上面三个不同层次的描述可以看到,其非常像算法流程的描述,只不过这里没有具体描述每一个环节的具体行为。对这样的系统可以采用类似于软件的方式进行调试,可以采用模拟器对系统进行初步的验证。当调试验证通过后可以采用设计工具,例如综合工具,将行为描述“变成”为硬件。所谓的综合,是将行为描述与具体的硬件库或IP(Intellectural Property)库相结合,直接生成硬件层的设计。目前,硬件库和IP库的单元设计仍采用了传统的设计方法。借助于这些设计工具和底层硬件单元,VLSI系统设计被实现。为了能够提高设计效率,算法部分设计通常采用简单、规则、可重复或可重构的基本结构。
图1.4 子系统描述
4.输出处理模块
输出处理模块的任务是根据信息输出的需要,将信息转换成一定的输出形式或直接完成某些动作。例如,产生一定幅度的高压,产生某额度的电流,产生某些显示所规定的序列,甚至产生某些机械动作,等等。
我们来看一个例子:系统自带的液晶显示(LCD)驱动(假设尺寸为4 × 34)。这样的LCD驱动器包括一个控制器,一个电压发生器,4个公共(common)信号输出端口,34个图段(segment)信号输出端口。要求有两种偏压模式(1/3和1/2偏压)和三种占空比模式(1/4, 1/3和1/2占空比),它们都是可编程的。LCD RAM是一个输入/输出双口RAM,它不需要过程控制,能自动将数据传送到segment输出。因此,除了需要设计相应的RAM单元、控制器单元、还需要设计专门的电压产生电路,图1.5给出了1/4占空比,1/3偏压(VDD=3.0V, V1=4.5V, V2=1.5V, GND=0V)要求下的波形图。从图上可以看到,电压产生电路需要在单电源3V下产生4.5V和1.5V的电压。
图1.5 COMi的波形要求
显然,这样的功能电路设计需要了解液晶显示的原理,了解如何控制液晶对应像素(或笔画)被点亮的原理,了解扫描控制的原理等知识。
以上所介绍的内容在一个特定的VLSI中并不一定都存在,例如,一般的微处理器的输入信息是数字信号,没有前后的相关模块。这里只是从一般信息链的角度进行了讨论,具体系统的组成应根据具体要求来组织。
从信息链的结构我们可以得到具体的设计分类,甚至可以具体到电路或逻辑设计。从上面的分析可以看到,根据具体的问题,当分析了信息链结构后,实际上已将一个信息描述问题分解为具体的硬件类型划分,继续分解或分析后又可以得到更具体的设计问题。这样的过程体现了一个由顶向下逐级分解直至可以有效设计的过程。
1.1.3 系统集成
所谓系统集成是指将系统所包括的模块单元集成到一个硅衬底材料(芯片)上。由于工艺限制,目前也有采用两片或三片芯片通过封装技术将其做成一个封装体的方法。
我们来看两个硅集成系统的示例。
图1.6显示的是一个采用ARM8为核的可重构数字信号处理器芯片。
图1.6系统集成示例1
参考:Marlene Wan:Design Methodology for Low Power Heterogeneous Reconfigurable Digital Sig-nal Processors, University of California at Berkeley
从芯片上可以看到,该芯片具有一个先进的ARM核,这是一个精简指令系统(RISC)的处理器核,以此核为中心,集成了FPGA模块、接口模块、ALU模块、存储器,等等。采用0.25μm、6层金属布线的CMOS工艺,集成了约120万个晶体管,芯片面积5.2mm×6.7mm,低电源供电。
图1.7显示的是ADI公司(Analog Devices, Inc. )的一个用于汽车安全气囊的加速度传感器芯片ADXL—50。
图1.7(a)显示的是整个芯片的照片,芯片尺寸约为3mm×3mm,(b)图显示的是在该芯片中集成的MEMS部件,(c)图则给出了该芯片的电原理图。
这个芯片和传统的集成电路芯片的最大不同就是其中集成了MEMS结构。该结构是一块可以运动的硅材料,悬浮在硅衬底之上约2μm,其部分点被固定在衬底上,而大部分其他区域可以运动。在(c)图上可以看到一个用虚线框起来的结构,中间的一个标注为“BEAM”的极板正是表示了这个可以运动的部分,它与上下的两个极板形成了两个电容器。当中间极板未运动时,这两个电容器的大小相等,当中间极板由于某种原因偏离了平衡位置,两个电容器的大小发生了变化。在电容器的上下极板上各施加了一个大小相等、相位相差180°的脉冲信号,平衡时中间极板保持固定的电位。当中间极板偏离了平衡位置,则在中间极板上就得到了变化的脉冲,偏移量越大,脉冲的幅度也越大,即脉冲信号的幅度反映了位置偏移的大小,而脉冲信号的相位则反映了位移的方向。被检出的这个脉冲信号经后面电路的处理,输出有用的加速度信息。
图1.7系统集成示例2
参考:JackW Judy:Microelectromechanical systems(MEMS):fabrication, design and applications, SMART MATERIALS AND STRUCTURES
从(a)图显示的芯片照片和(c)图给出的电路结构,可以看到在该芯片中集成了MEMS结构、脉冲信号发生器、电压跟随器、解调电路、前置放大器电路和缓冲放大器电路等多种电路部件。
从上面两个硅集成系统可以看出,VLSI系统将是一个复杂的集成系统,除了每个模块的设计本身,还要考虑设计的兼容性、信号的兼容性、工艺的兼容性等诸多问题,因此,设计本身就是一个复杂的问题。