APP下载

基于ASIC设计的手工综合研究

2010-05-13王小华,罗晓曙,殷严刚

现代电子技术 2009年20期
关键词:可靠性

王小华,罗晓曙,殷严刚

摘 要:针对IC前端设计中的关键技术,即将寄存器传输级(RTL)描述的手工综合成门级网表,通过人工参与的方式,运用数字电路设计知识将行为级代码用一些最基本的逻辑门(比如与非门、非门、或非门等)按照对应的综合电路模型得出其相应的门级电路。在ASIC设计过程中运用这种方法,不仅优化电路的结构,且能保证逻辑功能的正确性,同时可降低传输过程中的延迟,提高芯片设计的可靠性。因此,研究ASCI设计中的手工综合具有重要的实用价值。

关键词:专用集成电路;寄存器传输级;门级网表;可靠性;手工综合

中图分类号:TN402.22文献标识码:A

文章编号:1004-373X(2009)20-004-03

Research on Manual Synthesis Based on ASIC Design

WANG Xiaohua,LUO Xiaoshu,YIN Yangang

(College of Physics and Electronic Engineering,Guangxi Normal University,Guilin,541004,China)

Abstract:With the development of ASIC design rapidly,it is key technology of the front-end IC design that the register transfer level description is manually synthesized the register transfer level.Through artificial participation,behave-level code by some of the most basic logic gates(such as nand-door,non-door,nor-door,etc.) gets the corresponding gate-level circuit according to the corresponding synthesized circuit model.Such methods used in ASIC design not only can optimize the circuit structure,but also can guarantee the correct logic function.At the same time,it can reduce the transmission delay and improve the reliability of chip design.Therefore,research on the ASCI design by manual synthesis is of practical value.

Keywords:application specific integrated circuit;register transfer level;register transfer level;reliability;manual synthesis

0 引 言

随着专用集成电路(Application Specific Integrated Circuit)设计的迅速发展,将寄存器传输级(RTL)描述的手工综合成门级网表,是IC前端设计中的关键技术[1]。在当前IC设计中,通常在行为级功能验证后,采用软件进行自动综合的方式。这种方式虽然缩短了ASIC设计的周期,但是利用软件综合的门级电路存在很大的冗余,从而影响到整个芯片的版图面积和延时。如果采用手工综合,则会得到最简的电路结构和最少的线路延时。在总体上,手工逻辑综合可分为时序逻辑综合和组合逻辑综合[2]。

在此,以成功开发的无线发码遥控编码芯片为实例,详细介绍手工综合RTL级代码的理论依据和实用方法,重点介绍时序逻辑综合的实现方法,将时序逻辑综合的实现方法归纳出各种描述的一般特征,将用户多种多样的描述归整为五种形式,避免了综合过程中的盲目性,使得整个综合过程有据可依,从而提高综合的效率和准确性[3],并对手工综合进行深入的研究。

1 组合逻辑综合

组合逻辑综合的功能是对组合逻辑函数的描述形式进行一系列转换和优化,求取实现该逻辑函数性能最佳的组合逻辑结构形式,并生成与逻辑功能描述相等价的优化的逻辑级结构描述。由于行为级描述或寄存器传输级描述经转换后所得到的逻辑级的逻辑函数表示通常都是非优化的表示,因此就需要使用逻辑优化工具对其进行综合和优化。

组合逻辑综合的目标通常有:其一是为了在满足延迟的约束下将面积最小化;其二是为了提高电路的可测试性[4]。

组合逻辑电路设计是数字电路设计的基础。相对时序逻辑电路而言其综合过程要简单,可参考上面的手工综合步骤,在这里设计了两个电路对ASIC的手工综合进行具体研究。

1.1 单增量加法器(4位)

所谓单增量加法器,就是在二进制计算中,行使代码换算的任务,即二进制计算中若输出有N值存在,接下来的数值就是N+1,为了把输出值从N变为N+1就必须做一个电路。若其Verilog HDL描述语言为:

counter_disp<=counter_disp+4'd1;

则综合步骤为:

(1)列出真值表(略);

(2) 从真值表可以得出其逻辑表达式为:

sum[0]=NOT disp[0]sum[1]= disp[0] XOR disp[1]

sum[2]= disp[2] XOR (disp[0] AND disp[1])

sum[3]= disp[3] XOR (disp[0] ANDdisp[1]AND disp[2])

(3) 综合后的电路图如图1所示。

图1 单增量加法器手工综合后电路

1.2 数值比较器(4位)

完成A

对应的描述语言为:

if(counter disp

(1) 列出真值表(见表1)。其中“X”表示任意值。

(2) 从真值表写出比较结果的逻辑表达式,再通过化简得到最简表达式为:

A_small_B =A3n•B3+(B2⊙B2)A2n•B2+(A3⊙B3)(A2⊙B2)A1n•B1+(A3⊙B3)(A2⊙B2)(A1⊙B1)•A0n•B0

(3) 画出综合后的电路图(见图2)。

表1 真值表

输入输出

A3B3A2B2A1B1A0B0A

A3>B3XXX0

A3

A3=B3A2>B2XX0

A3=B3A2

A3=B3A2=B2A1>B1X0

A3=B3A2=B2A1

A3=B3A2=B2A1=B1A0>B00

A3=B3A2=B2A1=B1A0

A3=B3A2=B2A1=B1A0=B00

图2 数值比较器手工综合后电路

2 时序逻辑综合

时序逻辑综合的主要研究集中于同步时序电路的设计综合。异步时序电路由于其设计和控制过程的复杂性,自动综合十分困难。同步时序电路逻辑综合研究的内容主要有:同步时序电路的综合方法(即有限状态机的综合)、时序的优化以及时钟系统的设计优化等。

有限状态机综合的主要任务是根据给定的逻辑功能,选取触发器和锁存器等时序元件,寻求优化的时序状态激励函数。同步时序电路综合的目标是获得芯片面积优化的高性能电路结构形式,其中包括时序重构和时序逻辑优化等方面。时序优化与时钟系统的优化通过分析时序电路的数据传输行为,设置合理的参数,提高系统的效率,消除时序错误,解决时序冲突[6]。优化电路,得到最终的门级电路网表。

在进行了格式判别,确定采用何种时序元件后,就可以从相应的目标库中提取相应的元件,组织成符合最终输出形式的网表格式。在提取元件时应当根据用户的输入描述取得最优化的结果,当然,这种优化问题也可以在得到最终的数据通道之后进行。对于同步/异步复位及上升/下降沿触发的问题,在一般的目标库中,都有各种不同类型的时序逻辑电路元件,同步/异步复位元件为其中之一[7]。同步/异步复位触发器的综合与其他元件的综合有所不同,综合时考虑的不仅是某一条赋值语句,而是将用户的描述作为一个整体来考虑。在提取赋值语句时,同时分析相互有关联的语句以及这些语句的相关条件,根据上下文语义得出最终的结论。

下面针对上述理论用一实例来说明:在采用上面的综合步骤预处理和综合实现算法后,得到输出信号outA的赋值情况如下:

条件X1成立时outA≤0;条件X2成立时outA≤0;条件Y1成立时outA≤1;条件Y2成立时outA≤in1;其他条件下outA保持。

其处理过程如下:

(1) 将所有使输出信号为0的条件标识为A1,A2等A类(A1=X1,A2=X2);

(2) 将所有使输出信号为1的条件标识为B1,B2等B类(B1=Y1);

(3) 将所有使输出信号为某个输入信号或中间信号值的条件标识为C1,C2等C类(C1=Y2);

(4) 写出其逻辑表达式:

outA=(A1+A2+in1_not C1)(B1+in1•C1+outA)

=(X1+X2+in1_not Y2)(Y1+in1•Y2+outA)

(5) 将目标信号的逻辑表达式进行画简(这里设定已为最简式);

(6) 画出对应的逻辑电路图(见图3):(其中in1_not表示为in1的非,其余类同。)

图3 综合后电路

具有数据通道的有限状态机是描述数字系统的最常用的模型。有限状态机分为两个部分:数据通道部分和控制部件部分。数据通道部分包括数据的处理部件、存储部件、传输部件及其互连[8]。控制部分主要完成数据通道的时序控制,以及根据当前状态、外部控制输入和数据通道内部状态产生外部控制输出和数据通道控制信号等。逻辑综合接受算法级行为描述,通过将其编译转换成为内部表示形式,然后经过操作调度和硬件资源分配等处理过程,最终产生表示数据通道的寄存器传输级网表,并根据调度的需要提取控制信息产生控制部件的行为描述(即有限状态机的描述,一般为状态转换表/图)[9]。控制流综合对行为描述的有限状态机进行分解、化简、分配等处理,选取时序元件,导出状态转换函数和控制输出函数。

下面以一个实例来介绍控制部分的逻辑综合过程和方法。

按照前面的步骤,分析Verilog HDL代码,已得出该控制流部分的状态转换图(见图4),在这里只列出用符号代替的状态转移条件,未写出各输出端信号。

图4 状态转移图

这是LED驱动控制芯片核心模块(显示和键扫控制模块)的状态转换图,下面以DISPLAY状态为目标求其状态转移电路图,如图5所示。

图5 状态DISPLAY 综合后电路

(1) 根据状态转移图列出与DISPLAY状态相关的状态转换条件:

当A=1,DISPLAY=1 D=1时,DISPLAY=1;

当B=1,DISPLAY=0 C=1时,DISPLAY=0

(2) 推断出DISPLAY状态保持的条件,设为E:

E=(B && DISPLAY) ||(C&& DISPLAY)+H=

BC&& DISPLAY+H=BC&& DISPLAY

(3) 化简并得出DISPLAY的逻辑表达式:

DISPLAY≤A+D+E (4) 画出其逻辑电路图(状态机采用独热码编码方式)。

3 结 语

在此归纳出一套手工逻辑综合的方法和综合步骤,该方法适用于中小规模和超大规模中的核心电路部分的电路综合。同时手工综合后的效果与自动综合软件相比,其电路可靠且使用的门电路规模减少,功耗降低,延时达到最小。

参考文献

[1]蔡彭慈,周强.超大规模集成电路设计导论[M].北京:清华大学出版社,2005.

[2]刘丽华,辛德禄,李本俊.专用集成电路设计方法[M].北京:北京邮电大学出版社,2001.

[3]汪庆宝,宿昌厚.超大规模规模集成电路设计技术从电路到芯片[M].北京:电子工业出版社,1996.

[4]Martin,Kenneth W.Digital Integrated Circuit Design[M].Beijing:Pub.House of Electronics Industry,2002.

[5]Christopher Saint,Judy Saint.IC Layout Basic[M].北京:清华大学出版社,2003.

[6]Michael John Sebastian Smith.Application-specific Integrated Circuits[M].北京:清华大学出版社,2006.

[7]R Jccob Baker,Harry W Li,David E Boyce.CMOS Circuit Design,Layoutand Simulation[M].北京:机械工业出版社,2005.

[8]Christopher Saint,Judy Saint.IC Mask Design[M].北京:清华大学出版社,2006.

[9]Mehmet A Cirit.Characterizing a VLSI Standard Cell Library[A].Custerm Integrated Circuits Conference[C].IEEE,1991.

猜你喜欢

可靠性
可靠性管理体系创建与实践
合理使用及正确测试以提升DC/DC变换器可靠性
GO-FLOW法在飞机EHA可靠性分析中的应用
5G通信中数据传输的可靠性分析
论如何提高电子自动化控制设备的可靠性
既有结构可靠性评定的设计值法
高可靠控制系统中直流电源的可靠性分析
UPS供电系统可靠性问题的分析
基于可靠性跟踪的薄弱环节辨识方法在省级电网可靠性改善中的应用研究
“数控机床可靠性技术”专题(十六) 可靠性管理体系