A b stract
This w ork presents the synthesis m ethods for CPLDs. The core o f CPLDs is a PAL-based structure w hich consists o f the program m able AND m atrix and fixed connections within the OR matrix. These matrixes form the PAL-based logic blocks. The aim o f the work is to present the synthesis method o f which enables implementation o f a Boolean function by the m eans o f the PA L-based logic blocks containing a definite num ber o f terms.
The first method is based on a unique representation o f the multi-output Boolean function.
The essence o f the method concentrates on the process o f searching for the common multi-output implicants based on the analysis o f graph's nodes representing the output vectors. The suggested algorithms o f synthesis have their foundation in the theorem on choosing a node o f the graph outputs. That theorem serves as a theoretical background for the selection o f those implicants' groups that are realized by the means o f the shared PAL-based logic blocks. In a case o f not meeting the conditions o f the theorem by the nodes o f the graph outputs to choose the specific node, a selection o f the implicants' group is carried out according to the heuristic rules. Moreover, in this part o f w o rk a new method for the description o f feedback can be found, which leads to the appropriate modification o f those nodes constituting the graph o f outputs.
The logic blocks that occur w ithin the CPLD structures include frequently the additional logic resources. There are, among other things, such resources as the three-state output buffers, w hich can be taken into account in the process o f logic synthesis. First, the process of synthesis starts w ith the two-level splitting m inimization procedure. Then, a partition o f the individual im plicants' groups takes place. As a result o f the tw o procedures mentioned above, the initial set o f the Boolean function's im plicants is divided into subsets w ith the higher or equal cardinality to the num ber o f terms w ithin the certain PAL-based logic blocks.
Decomposition is an extremely valuable component o f synthesis. First o f all, it influences directly the number o f logical blocks. The unusual application o f the classical theory on the decomposition is discussed in the second part o f this work. The algorithms developed are derived from the classical model o f the functional decomposition that was introduced by Curtis.
The individual phases o f the decomposition are prepared for the PAL-based CPLD structures.
The designed method for the row decomposition o f the single-output Boolean function enables the adjustment o f the obtained sub-circuits w ith the certain structure o f the PAL-based logic block.
The theoretical considerations serve as a base for the synthesis o f algorithms included in this work. The final part o f the work presents the complex strategies o f synthesis, aimed at the various CPLD circuits (with/without the three-state output buffers). The strategies o f synthesis are designed for the optimization following either the number o f logical blocks or the number o f levels. The individual synthesis methods, presented in the previous chapters, serve as the components o f those strategies. The work presents also a number o f results obtained from experiments. The experiments were carried out for the commonly used benchmarks, applying various families o f programmable devices. The designed strategies were compared with the university-developed and the commercially available tools o f the synthesis.
Twierdzenie o wyborze wierzchołka grafu wyjść
Jeżeli istnieje w ierzchołek grafu wyjść (wyróżnik) lA y 1. rzędu ix('Ay ) > 2 , dla którego lA y > k
lub
2. rzędu ^ ( 'A ^ ) > 2 , dla którego w zbiorze reszt R = { r ^ A>^ ; j e < l , n ( ' A ^ ) > }
istnieją co najmniej 2 reszty takie, że 0 < A y ^ < 'A y < k i 0 < y ^ < ' A y < k lub
3. rzędu n ( 'A y ) = 2 , dla którego lA y = k lub ' Ay > 2 k - l lub
4.rzędu |j ( 'A y ) = 2 , dla którego k < 1A y < 2 k - 1 i w zbiorze reszt R = j e < l , f i ( ' A j , ) > } istnieje co najmniej jedna reszta, taka że
0 < ^ ( ' A ^ ) < ' A >, - ( * - 1 ) ,
to realizacja im plikantów odpowiadających takiemu wyróżnikowi prowadzi do minimalizacji liczby ^-iloczynowych bloków PAL potrzebnych do realizacji wielo wyjściowej funkcji.
Dowód:
W najgorszym przypadku, jeżeli wybrany wierzchołek 'A y połączony je st z n('A y ) wierzchołkami niższych rzędów, ponieważ
l < y s n ( ‘A , ) 1 ’
to warunek m inim alizacji (2.3) można przedstawić w następującej postaci:
1°. 'A y > k
N iech 'A y e < p ( k - l ) + l,( /? + l ) ( k - 1 ) > , gdzie p e N . Ponieważ dla każdego p e N
n ( ' A y )
Z
7 = 1
f
' A » } ‘ A y ) - k i A y ‘ * y ) - k - i A y + l
\
k - 1 k - 1
\ /
H('A y )
* Z
7=1
l^ A y ) - k
H('A y )
=
Z
7=1
iAilf Ay] - k - [ p ( k - 1 ) + 1] + 1 yfc-1
i^ ' hy ) - k - p ( k - l ) ifc^i oraz
' Ay - k k- 1
+1= 'A y *
£ - 1 £ - 1 +
1
<A:—1 A - l + 1 = p + 1 - k- 1
k - 1 + 1= p + 1 ,
stąd w arunek m inim alizacji (d l) sprowadza się do nierówności ju(‘A0 ) p > p + 1, która ze względu na założenie jj.('Ay ) > 2 je st spełniona dla każdej wartości p e N .
2°. Ponieważ l < lA y < k , stąd w arunek m inim alizacji (d l) m ożna przekształcić
Z
7 =1
A y ) - k k - 1
+ 1
\ xĆAy )
Z
7 =1
i
k - 1
+ 1
>1
i przedstaw ić w postaci:
^ ( ' A 0 y )
Z
7=1
>AJ H( ' A0 )
- k k - 1
H('A o ) •
'A , > - lA o + l - k J___________ _J_________
k - 1
> 1 (d2)
W artości r^ A y ^ są resztami wyznaczonymi z kongruencj i (2.4)
gdzie y = l,2 ,..., /u('Ay ) .
U w zględniając zależność (d3)
/a ^ ' A^ ) - k = r f A y \ m od( k - 1))
(d3)
istnieje wartość p s N taka, że
i a M -(1 a v ) H ( ' A y )
stąd
k - 1
'A ^.( ,A y } - k k - 1
k - 1 ’
= p + 1
(d4)
(d5)
N iech ' A y - l = ri(m od( k - 1 )). (d6)
Ponieważ dla wybranej reszty r ^ ( Ay) zachodzą nierówności 0 < Ay) <‘A y < k , stąd
t i > r a ^ y ) (d7)
Uwzględniając nierówności 0 < ^ y ^ <‘A y < k oraz zależności (d4), (d6)
<A^ ' A y ) - k *A„ - 1 r^ ' Ay) r,
a_________- ~ y Z - p + L a--- - t - ,
k- 1 k- 1 k- 1 k- 1
stąd po uw zględnieniu (d7)
Zależności (d9), (dlO) powodują, że zachodzi warunek minimalizacji (d2), ponieważ
y )
Z zależności (d l3 ) i ( d l 6) wynika, że
1
1/*-N
.<3
A ^.<3
1
iA n C A y ) _ k *Ay - l
k - 1 k - 1 k - 1
= p + l - ( p - V ) = 2
U w zględniając zależność ( d l 7) oraz warunek początkowy k< lA y < 2 k - l okazuje się, że w arunek m inim alizacji ( d l i )
-z
2 7=3)W f ^ - k - i A y + l k- 1
> 2 + l > 2
je st spełniony.
(dl 7)
cbdo.
Dodatek B
F orm aty opisu przykładowych układów testowych A H D L - form at tablicowy
Układ testow y c o n l; plik wejściowy
S U B D E S I G N c o n l
(
i n [6..0]
o u t [1..0]
)
B E G I N T A B L E
i n [ 6 . . 0 ] = > o u t [ 1 . . 0 ] ;
B " x l x x l x x " = > B " 1 0 " ; B " l x l l x x x " = > B " 1 0 " ; B " x 0 0 1 x x x " = > B " 1 0 " ; B " 0 1 x x x l x " = > B" 1 0 " ; B " x 0 x x 0 x x " = > B" 0 1 " ; B " l x x x 0 x x " = > B" 0 1 " ; B " 0 x x x x x 0 " = > B " 0 1 " ; B " 0 1 x x l x x " = > B " 0 1 " ; B " 1 0 x 0 x x x " = > B"0 1 " ;
EN D T A B L E ; END;
V H D L - form at funkcyjny Układ testowy co n l; plik wejściowy
L i b r a r y ieee;
U s e i e e e .s t d _ l o g i c _ 1 1 6 4 .ALL;
E n t i t y c o n l f is
p o r t ( i _ 6 ,i _ 5 ,i _ 4 ,i _ 3 ,i _ 2 ,i _ l ,i _ 0 : i n s t d _ l o g i c ; o _ l , o _ 0 : o u t s t d _ l o g i c ) ;
end;
A r c h i t e c t u r e r t l o f c o n l f is b e g i n
o _ 0 < = (i_5 a n d i_2 ) o r
(i_6 a n d i_4 a n d i _ 3 ) o r (not i _ 5 a n d n o t i_4 a n d i_3 ) ór (not i _ 6 a n d i _ 5 a n d i _ l );
o 1 < = (not i _ 5 a n d n o t i_2 ) o r (i 6 a n d n o t i_2 ) o r
(not i _ 6 a n d n o t i _ 0 ) o r (not i _ 6 a n d i_5 a n d i_2 ) o r (i_6 a n d n o t i_5 a n d n o t i_3 );
end;
: I N P U T ; : O U T P U T ;
V H D L - form at tablicow y Uklad testow y c o n l; plik wejsciowy
Library ieee;
Use ieee.std_Iogic_l 164.ALL;
Entity con It is
port( i_6,i_5,i_4,i_3,i_2,i_l,i_0 : in std logic;
°_l,o_0 : out std logic);
Układ testow y xor5; plik wyjściowy; wynik syntezy dla 4-iloczynowych bloków typu PAL
Li b r a r y ieee;
V H D L - form at funkcyjny
Układ testow y xor5; plik wyjściowy; wynik syntezy dla bloków logicznych typu PAL zaw ierających 4 iloczyny z trójstanowym i buforami wyjściowym i (np. m etoda B JW )
Library ieee;
y_b_l_xor5, y_b_2_xor5, y_b_3_xor5, y_b_4_xor5 : s td jo g ic );
for U1 :b_l_xor5 Use entity work.b _l_xor5(rtl) for U2:b_2_xor5 Use entity work.b_2_xor5(rtl) for U3:b_3_xor5 Use entity work. b_3_xor5 (rtl) for U4:b_4_xor5 Use entity work.b_4_xor5(rtl)
Wydano za zgodą R ektora Politechniki Śląskiej
WYDAWNICTWO POLITECHNIKI ŚLĄSKIEJ ul. A kadem icka 5,44-100 Gliwice, tel. (0-32) 237-13-81
http://loki.polsl.pl/wydawnictwo
Sprzedaż i M arketing tel. (0-32) 237-18-48 w ydaw nictw o_m ark@ polsl.pl
N akł. 100+50 A rk. w yd. 19 A rk. druk. 13,375 P apier offset. 7 0 x 1 0 0 ,8 0 g O ddano do d ruku 22.04.2004 r. Podpis, do d ruku 22.04.2004 r. D ru k ukończ, w m aju 2004 r.
Druk wykonano w Zakładzie Graficznym Politechniki Śląskiej w Gliwicach, ul. Kujawska 1 zam. 173/04
GLIWICE
♦ Punkt Sprzedaży - ul. Akademicka 2 (237-17-87)
♦ „FORMAT” - Akademicka 5 (architektura i budownictwo)
♦ „LAMBDA” - ul. Akademicka 2 (237-21 -40)
♦ Punkt Sprzedaży - ul. Akademicka 16 (automatyka, elektronika, informatyka)
♦ „ŻAK” - ul. Kaszubska DĄBROWA GÓRNICZA
♦ „ANEKS” - ul. Ludowa 19A/III ŁÓDŹ
■ „P O L IT E C H N IK A 100” - Żeromskiego 116 PL.
KATOWICE
♦ Punkt Sprzedaży - ul. Krasińskiego 8
♦ Hurtownia „DIK” - ul. Dulęby 7
♦ Hurtownia „JERZY” - ul. Słoneczna 24 (258-99-58) TYCHY
♦ „I Ja Tours” ul. Piłsudskiego 10 (217-00-91 w. 130) ZABRZE
♦ Punkt Sprzedaży - ul. Roosevelta 26 KRAKÓW
♦ Techniczna - ul. Podwale 4
♦ Punkt Sprzedaży WND - AGH, Al. Mickiewicza 30 GDAŃSK
♦ EKO-BIS - ul. Dyrekcyjna 6 (058) 305-28-53 WARSZAWA
♦ Studencka- PI. Politechniki 1
♦ Techniczna - ul. Kaliskiego 15
♦ T echniczna-ul. Świętokrzyska 14
♦ M D M -u l. Piękna 31 BIAŁYSTOK
♦ Dom Książki (Księgarnia 84) - ul. Dolistowska 3 POZNAŃ
♦ Księgarnia „POLITECHNIK” - ul. Piotrowo 3
♦ DOM Książki - Księgarnia Techniczna - ul. Półwiejska 14
P o l i t e c h n i k i Ś l ą s k i e j
D ruk: D ru k a rn ia G liw ic e, ul. Z w y cię stw a 2 7 , tel. 230T49 5 0