scieee Science in your language
[en] (orig)

Automatic logic synthesis for parallel alternating latches clocking schemes

Abstract

This paper proposes a VHDL coding technique that allows for the automatic synthesis of digital circuits using the so called Parallel Alternating Latches Clocking Schemes (PALACS). The proposed method greatly improves the applicability of PALACS and its benefits. This technique is verified through design examples in three different CMOS processes and using logic level simulation, with successful results in all the cases.

Read accessible full text

Automatic logic synthesis for parallel alternating latches clocking schemes

Author: Guerrero Martos, David; Bellido Díaz, Manuel Jesús; Juan Chico, Jorge; Millán Calderón, Alejandro; Ruiz de Clavijo Vázquez, Paulino; Ostúa Arangüena, Enrique; Viejo Cortés, Julián
Publisher: SPIE Digital Library
Year: 2007
DOI: 10.1117/12.723664
Source: https://idus.us.es/bitstreams/cec3d210-c540-4a2b-9418-0036aa9a467c/download
skew a)
skew b)
CLK1
< hold
C
L lip− lop
logic
skew
Q0
D1
CLK2
K1 K2CL
LK1C
LOGIC
CIRCUIT
lip− lop 1
D0 DQ
lip− lop
lip− lop 2
D1 QQ1
∆
C
Au oma ic logic syn hesis o pa allel al e na ing la ches clocking
schemes
D. Gue e o, M. Bellido, J. Juan, A. Millan, P. Ruiz, E. Os ua, J. Viejo
Dep . o Elec onic Technology, Uni e si y o Se ille, Escuela Técnica Supe io de Ingenie ía
In o má ica, A da. de Reina Me cedes S/N, 41012 Se illa, Spain
ABSTRACT
This pape p oposes a VHDL coding echnique ha allows o he au oma ic syn hesis o digi al ci cui s using he so
called Pa allel Al e na ing La ches Clocking Schemes (PALACS). The p oposed me hod g ea ly imp o es he
applicabili y o PALACS and i s bene i s. This echnique is e i ied h ough design examples in h ee di e en CMOS
p ocesses and using logic le el simula ion, wi h success ul esul s in all he cases.
Keywo ds: Clock skew ole ance, high speed CMOS design, CAD ci cui design
1. INTRODUCTION
VLSI digi al sys ems ha e e ol ed o big and mo e complex sys ems being clocked a e y high equency. This
e olu ion has eached a poin ha he o e head o he clock in he o m o powe consump ion has become unaccep able.
This is con i med by wha is obse ed in high-pe o mance mic op ocesso s1. So, educing he powe due o clock signal
dis ibu ion is a manda o y issue in digi al design. On he o he hand, while he ga e size and, as a consequence, he ga e
delay is ge ing smalle , he die size is ising. Since he delay in in e connec ion lines inc eases quad a ically wi h he
line leng h, i becomes longe han ga e delay. Because o ha he skew inc eases signi ican ly. So, he simples clocking
scheme based on edge- igge ed lip- lops should no be used o high-speed designs2,3,4 as illus a ed in Figu e 1a: As
we can see, i he clock skew is e y long and he logic ci cui is as enough, he ac i e edge o he clock can each lip-
lop 2 oo la e, i.e. nea he ins an when i s inpu is going o change. No e ha his p oblem can no be sol ed by
enla ging he clock cycle5. To sol e his p oblem, i has been sugges ed ha he clock signal should each i s he
egis e s a he end o he da a pa h. Clock skew could cause mal unc ion anyway, as we can see in Figu e 1b: I he
clock skew is e y long, lip- lop 2 could be igge ed oo ea ly. This could be sol ed by enla ging he clock cycle, bu
e- ou ing he clock pa h is no a solu ion i eedback exis s in he da a pa h.
logic
Q0 D
LK2
b)
< se up
lip− lop
logic
skew
Q0
D1
a)
Fig. 1. Skew ela ed p oblems in a single-phase sys em wi h lip- lops.
In o de o p e en he clock skew om causing mal unc ion, a wo-phase clocking scheme may be used. Two-phase
clocking sys ems use wo dis inc clocks gene a ed om he main clock a he las bu e ing s age. An example o wo-
phase clocking scheme is he wo-phase Mas e -Sla e clocking scheme (MSCS), which uses Mas e -Sla e s uc u es o
implemen he egis e block. A Mas e -Sla e egis e wo king and i s ch onog am is shown in Figu e 2, whe e i is
assumed ha he egis e s a e anspa en a he high le el o he load signal.
skew
skew
0
01 01
0
C
LK
C
LK
1
0
C
LK
Q
1
0
D´
sepa a ion
sla e
a)
01001
hold
logic
LATCH
MASTER SLAVE
LATCH LATCH
MASTER SLAVE
LATCH
D
CLK CLK CLK´ CLK´
LOGIC
load load load load
CIRCUIT
QQD’ Q’ Q’
b)
Fig. 2. Mas e -Sla e clocking scheme a) Ci cui b) Ch onog am.
An al e na i e o MSCS a e he Pa allel Al e na ing La ches Clocking Schemes (PALACS)6,7. Like MSCS, PALACS
p o ides skew ole ance by using mul iple clock signals, bu ha e ema kable ad an ages in powe consump ion and
ope a ion speed6,7.
Besides, ha dwa e desc ip ion languages (HDL) a e e y con enien ools o design digi al ci cui s, and logic syn hesis
so wa e is commonly used o p oduce logic-le el desc ip ions om high le el HDL code. When coding a design in a
HDL, he designe mus ollow a se o ules o ensu e he desc ip ion can be p ope ly handled by he au oma ic syn hesis
ool. Thus, so-called canonical coding s yles whe e combina ional and sequen ial beha iou a e clea ly de ined a e
p e e ed by logic syn hesis ools, ha usually deal wi h implemen a ion de ails like he elec ion o lip- lops and o he
logic blocks om he s anda d lib a y p o ided by he echnology iles. In a ull synch onous design, he usual coding
echniques will ypically p oduce single-edge- igge ed lip- lops con olled by he same clock signal. In o de o make
use o PALACS in HDL desc ip ions, he sequen ial elemen s mus be coded in a way ha he logic syn hesis ools can
manage.
In his pape he au ho s desc ibe VHDL coding echniques o au oma ically syn hesise a bi a y ci cui s employing wo-
phase PALACS and ou -phase PALACS. Ta ge ing his objec i e, his pape is o ganised as ollows: In he nex sec ion
he PALACS clocking schemes will be summa ised. In he ollowing sec ion a VHDL coding echnique o desc ibe
ci cui s employing PALACS will be in oduced. In he ou h sec ion he co ec ness o hese desc ip ions will be
checked h ough au oma ic logic syn hesis and logic-le el simula ion. Finally he conclusions summa ised.
2. PARALLEL ALTERNATING LATCHES CLOCKING SCHEME
2.1 Two-phase PALACS
A ema kable al e na i e o he one-phase single-edge igge ed lip- lop clocking scheme is he one-phase double-edge
igge ed lip- lop clocking scheme8,9. This scheme uses he lip- lop shown in Figu e 3, ha is igge ed by bo h, alling
and ising ansi ions o he clock signal. The powe consump ion o he clock dis ibu ion ne wo k in his scheme is
smalle han using single-edge igge ed lip- lops since he e is an only clock ansi ion pe compu a ion cycle.
D
load
LATCH 0
load
LATCH 1
D
QD
clk
clk
0
Q1
s
Q
MUX
Fig. 3. Double-edge igge ed lip- lop.
We could say ha he one-phase single-edge- igge ed lip- lop clocking scheme is a pa icula case o he MSCS whe e
he sla e clock signal is ob ained by in e ing he mas e clock signal, i.e. a pa icula case whe e he non-o e lapping
ime be ween he clock signals is ze o. The ad an age o he gene al MSCS is ha i p o ides ole ance o an a bi a y
skew by enla ging he non-o e lapping egion.
In a simila way, he wo-phase Pa allel Al e na ing La ches Clocking Scheme ( wo-phase PALACS)6 depic ed in Figu e
4 is a gene alisa ion o he one-phase double-edge- igge ed lip- lop clocking scheme. The memo y elemen used in his
scheme consis s o wo la ches connec ed in pa allel sha ing he same inpu , and a swi ch a he ou pu o each la ch
whose ou pu s a e connec ed. The load e minals o bo h la ches a e con olled by sepa a e phases, and he swi ches a e
also con olled by opposi e phases. This scheme, unlike he Mas e -Sla e scheme, allows eading and w i ing he egis e
block simul aneously du ing he ac i e le el o each clock phase. When clock signal CLK0 is ac i e, la ch 0 loads he
cu en inpu while la ch 1 holds he p e ious inpu . The la ch 1 da a is ead in he ac i e phase o CLK0, since i s swi ch
is con olled by CLK0. When CLK0 becomes inac i e, la ch 0 s ops being anspa en . Then bo h phases emain inac i e
a ime in e al long enough o a oid clock-skew ela ed p oblems. Du ing his in e al bo h swi ches a e in high
impedance (H.I.) s a e, bu he p e ious da a alue emains loaded a he swi ches ou pu due o pa asi ic capaci ances.
When CLK1 ac i a es, he ead-w i e mechanism wo ks again, bu bo h la ches al e na e hei unc ion, i.e. la ch 1 loads
a new alue while la ch 0 is ead. We could say ha his clocking scheme is he wo-phase coun e pa o he one-phase
double-edge igge ed lip- lop clocking scheme6,7.
a)
CLK1 CLK0
CLK1CLK0 CLK1CLK0
CLK0
D
Q0
Q1
Q
CLK1
S0 S2
S0 S1 S2 S3
S1 S3S−1
S − 1 S0 S1 S2
Q’
LOGIC
Q0
QD’
D
load
Q1
load
Q’0
load
Q’1
load
LATCH 0
LATCH 1
LATCH 0
LATCH 1
CIRCUIT
CLK1 CLK0
b)
Fig. 4. Two-phase PALACS. a) Ci cui b) Ch onog am.
The mos impo an ad an age o PALACS e sus MSCS is ha he clock equency is educed by 50% o he same
da a a e. This has conside able bene i s, mainly in he educ ion o he powe consumed by he clock dis ibu ion
ne wo k. In PALACS, he numbe o clock ansi ions is wo pe compu a ion cycle whe eas in MSCS i is ou . This
means ha hei powe dissipa ion can be educed up o 50%. Ano he in e es ing ad an age is ha , o some
implemen a ions, he p opaga ion delay o he PALACS s uc u e is smalle han he p opaga ion delay o he Mas e -
Sla e since wi h he MSCS he inpu signal has o p opaga e h ough wo la ches whe eas in PALACS i has o p opaga e
h ough one la ch and a swi ch (whose delay is usually smalle han he delay o a la ch). This p oduces an imp o emen
in he ope a ion speed o he sys em.
2.2 Fou -phase PALACS
A d awback o he wo phase PALACS is ha he aising edges o he load con ol signals a e ha d edges10. This means
ha , ega dless o he ins an when a da a i em eaches a la ch ou pu , i will no keep p opaga ing h ough he ci cui
un il he load con ol signal o he opposi e la ch ecei e he nex aising edge. In ou -phase PALACS (Figu e 5), he
load con ol signals and he ou pu enable con ol signals a e no he same. So, a da a i em a he ou pu o a la ch can
begin o p opaga e h ough he ci cui e en i ha i em has no been la ched ye p o ided ha he con amina ion delay o
he logic ci cui is long enough. So, he pe o mance o he sys em can be imp o ed by using ime bo owing
echniques10 a he expense o using addi ional clock phases.
a)
b)
OE0
Q0
Q1
Q
D
C
LK1
C
LK0
S0 S1 S2 S3
S1 S2 S3 S4
S0 S2
S1 S3
OE1
Q’
LOGIC
CIRCUIT
Q0
QD’
D
load
LATCH 0
Q1
OE1
load
LATCH 1
Q’0
OE0
load
LATCH 0
Q’1
OE1
load
LATCH 1
OE0CLK0
CLK1
CLK0
CLK1
Fig. 5. Fou -phase PALACS. a) Ci cui b) Ch onog am.
3. VHDL CODING TECHNIQUES FOR PALACS
As i was s a ed in he in oduc ion, he possibili y o desc ibe digi al ci cui s using PALACS using ha dwa e desc ip ion
languages is essen ial o apply his clocking scheme in an ex ensi e manne . The objec i e o his sec ion is o p esen a
VHDL coding echnique o PALACS ha is ully syn hesizable by common logic syn hesis ools, so ha PALACS can
be easily included in he s anda d digi al design p ocess. The p ocess o code a design using PALACS can be di ided in
h ee s eps:
• Desc ip ion o a la ch wi h i-s a e ou pu
• Desc ip ion o he PALACS s uc u e
• Coding he combina ional pa and ins an ia ion o he PALACS s uc u es
The i s s ep, shown in Figu e 6, is common o any design using PALACS and desc ibes a single la ch ollowed by a i-
s a e bu e , which is he basic building block o PALACS. Logic syn hesis ools will ypically ende he s uc u e in a
single lib a y la ch wi h an ou pu -enable con olling signal, o a la ch plus a i-s a e bu e , depending on wha is
a ailable in he s anda d lib a y.

Fig. 6. VHDL desc ip ion o a i-s a e ou pu la ch.
In The second s ep, which is also common o any design, wo ins ances o he p e ious desc ip ion a e used o build up
he PALACS s uc u e using he s uc u al VHDL desc ip ion o Figu e 7. The use o a s uc u al desc ip ion makes i
possible o ha e be e con ol o e he au oma ic syn hesis p ocess and p e en he syn hesis ools om changing he
desi ed opology.
en i y palacs4 is
po (d, noe0, noe1, clk0, clk1, ncl : in s d_logic;q : ou s d_logic);
end palacs4;
a chi ec u e mys uc o palacs4 is
componen la chOEcl
po (d, noe, ld, ncl : in s d_logic; q : ou s d_logic);
end componen ;
begin
la ch0 : la chOEcl
p
o ma
p
(
d=>d,noe=>noe0,ld=>clk0,ncl =>ncl ,
q
=>
q)
;
en i y la chOEcl is
gene ic( n: in ege := 1);
po (d,noe, ld, ncl : in s d_logic;q: ou s d_logic);
end la chOEcl ;
a chi ec u e beha iou o la chOEcl is
signal qi: s d_logic;
begin
assign: p ocess(ld, d, ncl )
begin
i ld='1' hen
qi<=d;
end i ;
i ncl ='0' hen
qi<='0';
end i ;
end p ocess;
myou pu : p ocess(qi,noe)
begin
q<='Z';
i noe='0' hen
Fig. 7. VHDL desc ip ion o he PALACS s uc u e.
In he hi d s ep, ins ances o he PALACS s uc u e a e added o he design in o de o implemen he sequen ial pa . As
an example, a ising ou -bi coun e is desc ibed in Figu e 8. This desc ip ion is simila o he canonical s a e machine
coding s yle, whe e he p ocess con olling he e olu ion o he nex s a e has been subs i u ed by he placemen o a se
o PALACS cells using a gene a e s a emen . No e ha bo h, wo-phase PALACS and ou -phase PALACS can be
implemen ed in his way, since wo-phase PALACS is a pa icula case o ou -phase PALACS whe e he ou pu enable
signals a e he same ha he load con ol signals.
Fig. 8. VHDL desc ip ion o a ou bi coun e .
4. VERIFICATION OF THE VHDL DESCRIPTION STYLE FOR PALACS
In o de o e i y his VHDL coding echnique, he desc ip ion o he ou -bi coun e o Figu e 8 has been used. Two-
phase PALACS has been employed. To check he unc ionali y, he ci cui has been simula ed a he logic le el. The
esul is shown in Figu e 9. As we can see, he coun e wo ks p ope ly. Rema kably, he s a e signals a e in high
impedance when bo h ou pu enable signals a e disabled. This will no eally occu due o pa asi ic capaci ances6,7.
en i y cn Mod16 is
po (noe0,noe1,clk0,clk1,ncl : in s d_logic;
myou pu : ou s d_logic_ ec o (3 down o 0));
end cn Mod16;
a chi ec u e mys uc o cn Mod16 is
signal s d_cn ,nx _s d: unsigned (3 down o 0);
componen palacs4
po (d,noe0,noe1,clk0,clk1,ncl : in s d_logic;q: ou s d_logic);
end componen ;
begin
my_logic: p ocess(s d_cn )
begin
myou pu <=s d_logic_ ec o (s d_cn );
nx _s d<=s d_cn +1;
end p ocess;
gene a e_ egis e s: o i in 3 down o 0 gene a e
Fig. 9. Logic simula ion o he ou -bi coun e .
Also, in o de o check ha he code can be syn hesized in any echnology, he code has been compiled using he Design
Analyse ool om Synopsis11. The componen s we e success ully syn hesized in a 0.35 µm CMOS p ocess om Aus ia
Mic o Sys ems12, as well as in a 0.18 µm and 0.13 µm p ocesses om Uni ed Mic oelec onics Co po a ion13, gi ing
simila esul s. As an example, Figu e 10 shows he esul ing implemen a ion o he la ch-bu e block (Figu e 10a), and
he PALACS s uc u e (Figu e 10b) o he 0.18 µm echnology. I can be easily obse ed how he logic syn hesis ool
has selec ed app op ia e componen s om he s anda d lib a y p o ided by he ound y while keeping he desi ed
unc ionali y and opology o he PALACS s uc u e. The ne lis gene a ed o he ou -bi coun e is depic ed in Figu e
11. Fou PALACS s uc u es has been placed as indica ed in he VHDL desc ip ion (Figu e 8) and addi ional logic has
been au oma ically syn hesized o achie e he desi ed unc ionali y.
d
ld
n
cl
n
oe
d
clk0
cl
noe0
clk1
noe1
b)a)
q
LATRNB4 INVTD12
la chOEcl
la chOEcl
q
Fig. 10. Ci cui s syn hesized by he ool a) T i-s a e ou pu la ch b) PALACS s uc u e.
clk0
clk1
ncl
n
oe0
n
oe1
INVD1
NAND2D1
NOR2M1D1 EXOR2D1
EXNOR2D1
EXNOR2D1
myou pu {3:0}
palacs4_0
palacs4_1
palacs4_2
palacs4_3
Fig. 11. The ne lis gene a ed by he ool o he ou -bi coun e .
5. CONCLUSIONS
In p e ious wo ks, new clocking schemes called PALACS we e in oduced in o de o sol e clock skew ela ed
p oblems. In his pape , a VHDL coding echnique is explo ed so ha a bi a y sequen ial ci cui s can be au oma ically
syn hesized using PALACS. This echnique is easily applied by e-de ining he egis e block o he design. A sample
VHDL design has been success ully implemen ed in h ee CMOS p ocesses om wo di e en ound ies showing ha
he p oposed VHDL desc ip ions a e ully syn hesizable and p oduce he igh s uc u es and beha iou , which has been
checked h ough logic-le el simula ion. This esul allow o a much wide and easie applica ion o PALACS o gene al
digi al design.
ACKNOWLEDGEMENTS
This wo k has been pa ially suppo ed by he Spanish Go e nmen ’s MEC META p ojec TEC-2004-00840-MIC and
he Andalusian Regional Go e nmen ’s CICE DHPMNDS p ojec s EXC-TIC-1023 and EXC-TIC-635.
REFERENCES
1. V. Tiwa i e al, “Reducing Powe in High-Pe o mance Mic op ocesso s”, 35 h Design Au oma ion Con e ence,
1998, pp. 732-737
2. H. B. Bakoglu, Ci cui s, In e connec ions and Packaging o VLSI, Ed. Add-Wesley Publishing Company, 1990,
ISBN 0-201-06008-6
3. K. Be ns ein, High Speed CMOS Design S yles, Kluwe Academic Publishe s, 1998, ISBN 0-7923-8220-X
4. S. H. Unge and CH. Tan, Clocking Schemes o High-Speed Digi al Sys ems, IEEE ansac ions on compu e s ,
1986, Vol. C-35. Nº10, pp. 880-895
5. M. Ho owi z, “Clocking S a egies in High Pe o mance P ocesso s”, Symposium on VLSI Ci cui s Diges o
echnical Page s, 1992, pp. 50-53
6. D. Gue e o, M. J. Bellido, J. J. Chico, P. Ruiz, A. Millan, “Two phase al e na ing la ches clocking scheme o
CMOS sequen ial ci cui s”, XVII Con e ence on Design o Ci cui s and In eg a ed Sys ems, No embe 2002, San ande ,
pp. 159-162
7. D. Gue e o, M. J. Bellido, J. J. Chico, P. Ruiz, A. Millan, E. Os ua, “Fou phase al e na ing la ches clocking
scheme o CMOS sequen ial ci cui s”, XIX Con e ence on Design o Ci cui s and In eg a ed Sys ems, No embe 2004,
Bo deaux
8. M. A ghahi and J. Yuan, “Double Edge- igge ed D- lip- lops o High-speed CMOS ci cui s”, IEEE Jou nal o
Solid-S a e Ci cui s, 1991, Vol. 26 Nº8, pp. 1168-1170
9. V. G. Oklobdzija, “Clocking and Clocked S o age Elemen s in Mul i-GHz En i onmen ”, 12 h In e na ional
Wo kshop PATMOS, 2002, pp. 128-145
10. D. Ha is, Skew-Tole an Ci cui Design, Mo gan Kau mann Publishe s, 2001, ISBN 1-55860-636-X, pp. 14-20
11. Synopsys Inc. h p://www.synopsys.com/
12. Aus ia Mic o Sys ems, h p://www.aus iamic osys ems.com
13. Uni ed Mic oelec onics Co po a ion, h p://www.umc.com/