L80C186-10是一款具有极高集成度的16位微处理器,它把15“20个最常用的微处理器系统部件组合在一块芯片上,性能是标准80C186-10的2倍,由于集成了许多外部设备接口,因而使得系统结构得到了大大的简化。L80C186-10与iAPX86、88微处理器是目标代码相兼容的,并且还在现存的iAPX86、88指令集中加入了10种新的指令类型。本文对L80C186-10的内部结构及各部件功能块测试做了详细介绍。
电路结构与功能框图
L80C186-10具有复杂的内部结构,它将DMA部件、定时器部件、中断控制部件、总线控制部件、片选信号和准备就绪信号生成部件以及CPU集成在一块单芯片上。
L80C186-10 CPU具有4个16位通用寄存器(AX、BX、CX、DX),4个16位指针寄存器(SI、DI、BP、SP),4个16位段寄存器(CS、DS、SS、ES),1个16位指令指针和1个16位状态寄存器,以及1个6字节的预取指令队列和4字节的预存指令队列。取指令和执行指令是由分离部件、总线接口部件和执行部件各自完成的。
测试
随着设计和工艺的发展,在单块芯片上所能实现的集成度越来越高,一些器件在性能和功能方面都达到了更新、更高的水平。在这样的情况下,对集成电路测试技术的要求也越来越高,在集成电路研制过程中,测试环节占有举足轻重的地位,也越来越受到研制者的重视。通过测试验证版图能够进行故障定位,对工艺生产提供可行性建议,从而促进电路的研制开发。电路的测试包括功能测试、直流参数测试和交流参数测试几部分,其中,功能测试尤为关键。
功能测试
功能测试主要针对器件进行,因此,在编制测试码点前必须熟悉电路的工作原理,了解内部各个相关寄存器的状态及读写时序等。然后,根据器件要求的输入条件,采用多种方式调制出正确的输入波形,以满足器件的工作条件。同时对输出端进行采样,并做出比较,以验证电路的相应功能。功能测试应对电路的所有功能进行验证,以便查找电路缺陷,验证版图的正确性。
L80C186 CPU指令
对于L80C186 CPU来说,每个指令的执行由取指令、译码和执行构成。而执行一条指令的一系列动作,都是在时钟脉冲CLK的统一控制下一步步进行的。执行一条指令所需要的时间称为指令周期,再把指令周期划分为一个个总线周期。CPU从存储器或输入输出端口存取一个字节就是一个总线周期,所以多字节指令取指就需要若干个总线周期;在指令的执行阶段,不同的指令也会需要不同的总线周期。
每个总线周期通常包含4个状态,每个T状态是L80C186-10中处理动作的最小单位,即时钟周期。虽然各条指令的周期有很大的差别,但它们仍然是由以下一些基本的总线周期组成的:存储器读/写、输入/输出端口读/写、中断响应。
DMA部件
16位微处理器L80C186-10提供了2个独立的高速DMA通道,每个通道在控制块中有6个寄存器,它们定义了通道的具体操作。这些控制寄存器由1个20位的源指针(2个字),1个20位的目标指针(2个字),1个16位的传输计数器和1个16位的控制字组成。DMA控制块的格式如表1所示。传输计数寄存器(TC)指定了要进行的DMA传送次数,控制字定义了通道的操作。在DMA活动期间,全部寄存器都可以被修正或改变,对这些寄存器所作的任何改变都会立即在DMA操作中反映出来。
只要控制寄存器的ST/STOP位(启动/停止(I/O)通道位)被设置,就会产生DMA周期。若被编程为同步传送,则必须先产生一个DRQ,因此,源/目标指针和传输计数寄存器(若使用的话)必须在这一位被设置前完成编程。在RESET时,DMA将执行以下两个操作:每个通道的启动/停止位被复位或STOP,任何在执行中的传送被放弃。
中断控制部件
L80C186-10能够从内部和外部的许多源接受中断,内部中断控制器把这些请求在一个优先级基础上进行合并,使其能由CPU一个一个地进行服务。内部中断源(定时器和DMA通道)能够被它们自己的控制寄存器或由在中断控制器中的屏蔽位来禁止。L80C186-10的中断控制器有自己的控制寄存器,该寄存器用于设置控制器的操作方式。
主设备方式下中断控制器的基本操作方式与8259A类似。中断控制器对在所有三种方式下的内部中断响应是相同的,不同的地方仅在于对4个外部中断引脚的功能解释上。中断控制器被设置到三种方式之一是通过对在INT0和INT1控制寄存器中的正确位进行编程来实现的。中断控制器的三种操作方式为全嵌套方式、级联方式和特殊全嵌套方式。
总线控制部件与L80C186-10指令集
L80C186-10的总线接口与8086总线结构非常相似,它具有多路转换地址/数据总线,以及各种各样的控制和状态总线,每个总线周期需要最少4个CPU时钟周期和任意多个等待状态,其需要等待状态的个数由外部存储器和外部设备的访问速度所决定。
L80C186-10的指令集被分成7种类型:数据传送、算术、移位/环移/逻辑、串处理、控制转移、高级指令和处理器控制。一条80C186指令能够引用在任何地方的零个到多个操作数。一个操作数可以常驻在一个寄存器里,在指令本身中或在存储器中。
时钟发生器
L80C186-10包含一个时钟发生器,用来为所有的L80C186-10集成部件,以及在该系统中所有与CPU同步的设备产生主时钟信号。这个时钟发生器包含一个晶体振荡器,二分频器,复位电路,以及准备就绪信号生成逻辑。
晶体振荡器的输出(或外部频率输入)驱动一个二分频电路,此电路为L80C186-10生成占空比为50%的周期时钟。L80C186-10的所有时序都是参考这一信号的,该信号可以从L80C186-10的CLKOUT引脚上得到,在EPI信号从高电平到低电平转换时改变状态。时钟发生器还为系统提供一个同步的复位信号(RES),这一信号同步于时钟输入信号。复位输入信号还复位二分频器,当RES输入信号第一次有效时,将生成一个单个时钟周期的内部复位脉冲。
L80C186-10的时钟端采用双倍时钟方式,可使测试码点减少一半,大大减少了码点编制的工作量,缩短了测试时间,提高了工作效率。
直流参数测试
对集成电路直流参数的测试,在不同测试系统上的测试原理和方法基本上是一致的,都是按照详细规范和规定对所测项目施加相应的测试条件,从而得出所测参数值。
交流参数测试
L80C186-10的交流参数测试是严格按照详细规范,采用功能验证方法进行测试的。
结语
16位微处理器L80C186-10是集成电路技术高度发展的产物,由于集成电路的使用,可以将许多所需的外围器件及其接口制作在一个硅片上,这就增加了集成电路测试的难度,也更体现了测试的重要性。L80C186-10的整套测试程序和测试码点都是在DIC-8032集成电路测试系统上开发的,通过验证版图和故障定位,使L80C186-10顺利研制成功,并能够满足用户要求。