数字逻辑电路的ASIC设计
第3节 同步电路设计
更新于2008-08-29 13:25:57

1.3.1可测性设计的重要性

对于ASIC中的可测性设计,需要一个不可或缺的机能,即外部可以随意读写所有的内部锁存器。
ASIC的测试就是分析是否所有的内部电路都在正常运行。所以,最低限度也要显示内部锁存器的开关状况,并不只是控制开关,还必须调查清楚开关的所有组合是否在正常运行。而且,必须可以从外部实施监控。
和印刷基版的测试不同,不可能在任意地方建立测试管脚,因为,在内部有数百个锁存器的ASIC的测定试验,其难度之大是可想而知的。为了突破这一设计难关,只需导入一个新机能,即任意一个内部锁存器都可以从外部自由读写。我们称这个新机能为可测性设计。这样一来,可以从任意的初期值运行电路,所有的锁存器都可以读译其结果。
如果准备用1对1的I/O引脚来解读数百个锁存器,是极不现实的。各个公司都绞尽脑汁,试图用最少的I/O引脚来做出最有效的试验。为了突破此项技术困难,导入了可测性设计。LSI的试验环境被改善一新。可以随意决定内部锁存器的初期值,如果可以在进行了一定运行后进行解读,那么即使有更多的锁存器,也可以有效地进行试验。
必须提前声明的是,刚刚完成的ASIC是否能如设计预想一样正常运行,正是可测性设计的目的所在。可测性设计并不是一个用来测试(完成试验的)ASIC中的内部锁存器初期值的工具。
半导体生产商考虑了多种可测性设计方法,大体可以分为下述的两类。


1.3.2可测性设计的两种方式

1.RAM方式
如图1.18所示,ASIC的内部,根据锁存器的数量给出地址路径,将其一一分解成地址。解读或是输入都使用数据线或数据总线。


图1.18RAM方式的可测性设计


2.移位寄存器方式
如图1.19所示,把数据选择放入内部锁存器,试验的时候,让内部锁存器作为移位寄存器来运行。假设移位寄存器的输出端口和输入端口都用I/O引脚与外界相连,那么就可以读写内部锁存器。
根据半导体生产商的生产方式的不同,将代表性式样设计方法列举如下:
·IBM:LSSD(Level Sensitive Scan Design)移位寄存器方式,使用不重叠时钟。
·富士通:RAS(Randem Access Scan)方式之RAM方式。
·NEC:Scan Path移位寄存器方式,不是重叠时钟。
·日立:Scan Bus方式的RAM方式,是总线结构。
·东芝:移位寄存器方式。在运行时,单相时钟试验使用不重叠时钟。


图1.19基于移位寄存器的可测性设计


1.3.3同步电路的设计方法

对于RAM来说,地址线路的配线和与其相符的I/O引脚是必不可少的。即使在移位寄存器方式中,各个锁存器也需要数据选择。
两种方式孰优孰劣历来是历史难题,从ASIC设计方法的角度来看,不管是哪种方式有一点是相同的,那就是LSI的内部锁存器的主时钟和从时钟,都各自相连,同步运行。也就是说,仅用同步电路,就可以顺利设计ASIC的试验。
为了可测性设计,所有内部锁存器的时钟都共用了,所以,对于电路设计者来说,也产生了惟一的一个不便。那就是,电路设计者把共用时钟放入锁存器的时钟线路里,就要想尽办法用数据线路来完成电路的设计。
如果说这是不便的话也确实如此。可能有一些电路设计者不明白到底该如何设计电路了。但是,根本没有这回事。
要满足可测性设计的条件,必须遵守以下三项规则:
规则1——所有的内部锁存器,都是利用同一个系统时钟运行的双锁存器(主锁存器和从锁存器)。
规则2——系统时钟不能和其他的信号相通。
规则3——不存在只由逻辑门构成的回路。其中,如图1.20所示,逻辑门输入输出适当相连的时候,无意中可能形成锁存器,规则3正是为此设立。


图1.20无意中形成的锁存器


可测性设计当中不允许存在非法锁存器,即双锁存器之外的锁存器,因为外部不能自由解读。


1.3.4同步电路的优势

仅仅为了测试,锁存器变得复杂,而且不能使用自由时钟,很不方便。但是同步电路也有一个如图1.21所示的很大的优点。
因为内部的锁存器用一个共用时钟完成同步任务,所以可以把任何一个锁存器的输出定为0。
另外一个锁存器的输出,通过各种组合电路,一直连到一个锁存器的输入端口,计算此间的逻辑门单元数目,就能得出这条线路的延迟时间。在这一点上,比起非同步电路有了长足的进步。因为非同步电路必须要考虑数据及时钟线路两方面的延迟时间。
所有的内部锁存器都是用完全相同的系统时钟运行,形成了双锁存器结构,不必担忧竞争,这为电路设计带来了一个全新的设计技法。
正如图1.22所示,我们完全可以忽略解码器的信号失效(hazard),因为那只限于内部使用的信号线。解码器的输出没有直接和其他的锁存器的时钟线路相连。所以,即使出了错误,在它运行到下一个时钟之前如果进行修正,就不必担心运行差错。


图1.21非同步与同步电路

图1.22同步电路中内部发生的信号失效不影响电路运行


如图1.23所示,内部锁存器是可以自由交换数据的。只有使用和双锁存器完全相同的时钟进行同步运行,才可以交换数据。但是同步式电路通常可以满足此项条件。


图1.23同步电路中任意锁存器间都可以交换数据


因为电路设计中不进行时钟线路设计,所以需运用时钟时,电路处理的逻辑设计就改用数据线路来处理。仅这一点,数据线路的处理就变得复杂起来,但是换一个角度来看,如果只处理好数据线路就可以解决问题的话,设计的规则反而变得简单。
规则简单,处理方法复杂,这和CAD的导入完全一致。这是一大优势。
越是要组装高速、复杂的逻辑电路,这些优势就越能够体现出来。电路设计时所需的工作量,据说是逻辑门单元数的1.5或2.5倍,如果使用同步电路,所有的锁存器可以同时运行,仅此一点,就更容易进行解析和设计,能够减轻电路设计者的负担。


1.3.5同步电路的优势的体现

试总结一下同步电路的优势:
①所有的锁存器可以同时运行,延迟时间的计算变得极为简单。
②无错运行,无竞争运行。
③任意的锁存器之间都可自由交换数据。
④适用于CAD系统。用于可测性设计的同步电路,只因为其可测性,就徒劳地把电路设计得更为复杂,所以经常有人认为这是一种浪费。但是这种人只看到了同步电路的劣势,而忽视了它的巨大优势。
完全同步电路不需要信号失效对策电路,这和非同步电路相比有很大的优势,可以用小得多的电路实现相同的功能。关于这一点,比较一下巧妙设计的非同步电路的内容和实质性地预埋了信号失效对策功能的电路就可以明白。
完全同步电路用系统水平解决信号失效问题。电路越高速、越复杂,越能体现出同步电路的优势所在。作为ASIC测试手段所要求的同步电路,渐次派生出了新的电路设计技法,对于高速复杂电路设计来说,逐渐变得不可欠缺。
很多人想以通常的TTL的感觉进行设计,而宏单元的方法特为这种人准备,它具有巨大的相当于TTL的单元库,用非同步电路的感觉混乱地组装出ASIC电路,对于ASIC设计而言,这也是ASIC之所以成为ASIC特有的高效率的设计方法。
能够利用TTL进行有效设计的人,如果能回到最初,掌握ASIC的设计手法,就可以更进一步提高自己的电路设计水平。

 

网友留言