功能测试

功能测试主要针对器件进行,因此,在编制测试码点前必须熟悉电路的工作原理,了解内部各个相关寄存器的状态及读写时序等。然后,根据器件要求的输入条件,采用多种方式调制出正确的输入波形,以满足器件的工作条件。同时对输出端进行采样,并做出比较,以验证电路的相应功能。功能测试应对电路的所有功能进行验证,以便查找电路缺陷,验证版图的正确性。

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,任何在执行中的传送被放弃。