数字逻辑电路的ASIC设计
第1节 面向高性能系统的设计
更新于2008-08-29 13:23:14

1.1.1ASIC的基本锁存器构造

如图1.1所示,锁存器有两种,其一是双稳态锁存器结构,其二是边缘触发型锁存器结构。


图1.1ASIC中使用的基本的锁存器结构

图1.2D锁存器的结构是采用两个双稳态锁存器

图1.3单边锁存器的系统构成


双稳态锁存器(bistable latch)是指逻辑门单元打开时接收信号,逻辑门单元关闭时保持信号畅通的电路构造。与之相对,边缘触发型锁存器(edge trigger latch)是指打开锁存器后复制数据并保存数据。两种结构也可以组合在一起运行。
如图1.2所示,把两组双稳态锁存器呈纵向排列连接在一起,并使之单独运行,就变成了边缘触发型锁存器结构。它所需的晶体管数量是双稳态锁存器的两倍,但是,因为能以两倍的速度运行,即使数据进行最大限度变化也没问题。
但是,因为双稳态锁存系统更加进步,边缘触发型锁存器结构是否要遭到淘汰,这一问题并不能立刻找到一个简单的答案。
如果把电路比作数据通道,那它就是一边逐个加工数据,一边把数据从左向右的传递,如果用反转的锁存器把两种运行的双稳态锁存器结构相互并联在一起,就可以组成一个稳定运行的系统。这被称为单边锁存器(single latch)(参见图1.3)。


1.1.2ASIC的数据通道

仅就数据通道而言,和以边缘触发型锁存器为基础的双锁存器系统(double latch system)相比,单边锁存器系统的最大运行速度更快。之所以如此,是因为把通过锁存器的时间也考虑在内,边缘型锁存器的内部结构中,如果不通过两个双稳态锁存器,输出和输入就不能相连。而与此相对,单边锁存器结构中,只要通过一个双稳态锁存器就可以了。
如图1.4所示,双稳态锁存器使用多相时钟来控制。备有多个不同相位的时钟,配合重叠调制,随意调整时钟就可以最大限度地适应系统。而且,因为是最小的电路尺寸,其发热量也最小化。这在某种意义上,可以说是一种终极的电路设计技术。


图1.4采用多相时钟的系统


如果把通过锁存器的时间看作是系统的开销(overhead),那么在单边锁存器系统中它为最小值。
说得更极端的话,有人认为系统时钟本身就是无用的开销。如果输入信号固定,仅用电路延迟时间就可以得出输出信号,所以没有系统时钟也可以运行。这种理想式的非同步电路的设计也正在研制之中。


1.1.3完全同步式设计

遗憾的是,本书将这种终极的设计方法忍痛割爱了。这是因为制作ASIC有诸多限制,例如,有完成设计并使配线通畅,设定试验并且能够批量生产等制约因素的存在。
因此,如果用完全同步电路(参见图1.5),仅把系统时钟当作一个单独系统,就可以利用计算机辅助设计(CAD:Computer Aided Design)完成设计,进行模拟试验,并可以投入批量生产,制作实际的IC。


图1.5完全同步电路


不可否认的是,本书只涉及完全同步式设计,确实有可能输给高手设计的绝妙的非同步电路。但是作为现实的解决方案,还是要选择完全同步电路。至少,如果ASIC没有达到100k的话,利用完全同步电路组装就万无一失。如果规模更大些,就需要多种辅助技术来抑制发热。这是一种设计和制作利用完全同步电路技术,而现实的操作则使用非同步电路技术的方式。


1.1.4现代的ASIC设计方法

随着电路规模的变大,设计方法也随之增加(参见图1.6)。用电路图最多只能设计出百余个TTL的10k门程度的规模电路。如果规模没有这么大,电路尺寸只有1k的话,就可以用自由度更大的RTL(Register Transfer Level)来设计。


图1.6电路大小与CAD


如图1.7所示,若用RTL来设计,设计方面只用指定出逻辑式,可以用CAD来载入工艺映射(technology map)实现电路设计(参见图1.8)。如果用RTL,可以进行工艺独立的设计(不为ASIC的工艺变化所左右)。同样,也可以设计TTL和CMOS门阵列。
Bcount0:= (Load & Data 0)
                    # |Load & Bcount0)
                    (Enp);
Bcount1:=(Load & Datal)
                    # |Load & Bcount1)
                    (Bcount0 & Enp);
Bcount2:=(Load & Data2
                     # |Load & Bcount2)
                     (Bcount1 & Bcount0 & Enp);
只描述逻辑关系,逻辑构成和工艺都不指定
图1.7采用RTL的逻辑描述

如果设计更抽象,实现的电路可以用硬件描述语言(HDL:Hardware Description Language)描述。这些电路使用了VHDL(Very HighSpeed Integrated Ciramt HDL)或VeriLOG(Cadence公司的HDL商品)的设计方法。
用HDL描述的电路,可以综合LSI的特性,组成具有特殊功能的部分。而且可以构成更自由的工艺映射。但是,使用HDL并非一定要做细节指定,因为使用HDL的同时也可以做RTL的指定,或是与EDIF(Electronic Design Interchange Format)相等的描述。


图1.8采用RTL制作电路


最终成果ASIC的性能与工具无关,而是取决于设计者。如果CAD的使用没有预计的理想,那么设计者可以随意插手修改。另一方面,如果CAD比设计者更优秀,也可以利用CAD进行高效设计。
如果使用HDL,CAD就可以现实性地设计100k逻辑门规模的ASIC。如果超过这个规模,就必须使用层次化模块(参见图1.9)设计方法。所谓的层次化模块设计方法就是把电路分割成5k到50k的电路块,再逐个设计的方法。


图1.9层次化模块


本书将ASIC设定成10k逻辑门以下的规模,包含有数百个锁存器。也就是说这个规模大小,用电路图不可能设计出来,可以用HDL,但还不必用层次化模块设计方法。


1.1.5电路设计者和器件商

现在,如果说到逻辑电路设计,即使是正式的设计也不用记述内部结构的MIL符号(参见图1.10)。多数情况下,指定RTL,逻辑式的构成法用CAD。按规定有一定的功能单元存在其中即可。


图1.10MIL符号的内部结构由器件商设计


由于逻辑器件设计者——器件商的不懈努力,计数器或是移位寄存器都作为逻辑单元了,所以逻辑电路设计者可以专心设计更加高级复杂的电路。
逻辑电路设计者和器件商之间有条不成文的规定,如果使用相同的方法,器件商可以随意改变逻辑部件的内容。而且,设计者对此改变不可以有任何疑义。在指定RTL的时候,CAD可随意适用于方便的工艺库,实现设计者无法想像的性能,这正是CAD的过人之处。
本书将同步式逻辑电路作为论述重点,对MIL符号的真正内容晶体管晶体管逻辑(TTL:Transistor Transistor Logic)或CMOS(Complementary Metal Oxiside Semiconductor)忽略不记。
电路设计者,器件商以及CAD使用者的激战将持续下去,并白热化。

 

网友留言