ZPT
Przykład syntezy strukturalnej
W kodzie BCD (Binary Coded Decimal) każda
cyfra liczby zapisanej w kodzie dziesiętnym
jest przedstawiana czterobitową liczbą
binarną
Konwerter kodu binarnego na kod
BCD:
4 8 9
Np. liczba 489 zostanie zapisana jako wektor
binarny z wykorzystaniem 12 bitów (3 4
bity)
BCD
0100 1000 1001
1
ZPT
Konwerter Bin2BCD
BIN/BCD
0 liczby 99
0
0
0
1
1
0
1
1
27
BI
N
2
Dwie metody projektowania:
a) Metoda syntezy strukturalnej
b) Metoda syntezy logicznej
27
BCD
0
0
1
0
0
1
1
1
ZPT
Konwerter Bin2BCD
3
Realizacja – w strukturze FPGA (Stratix)
Jakość realizacji:
a) Liczba zajętych komórek LC
b) Szybkość – maksymalna liczba słów
przetwarzanych w ciągu 1 sek.
EPF10K
ZPT
0
0
0 0 0 0 0 0
0
0
0 1 1 0 1 1
27
LDA
LDB
LB
=
0
0
0 0 0 0 0 0
LDB 5
LDB := LDB+3
NIE
TAK
LDB := LDB
8
Synteza strukturalna - metoda +3
4
ZPT
0
0
0 1 1 0 1 1
LDA
LDB
LB
0
0
0 0 0 0 0 0
0
0
0
0
0 0 0 0 0 0
0
0
0
0 0 0 0 0 0
0
0
0 0 0 0 0 0
0
0
0 0 0 0 0 1
0
0
0 0 0 0 1 1
0
0
0 0 0 1 1 0
0 0 1 1
0
0
0 0 1 0 0 1
0 1 1
0
0
0 1 0 0 1 1
0
0
1 0 0 1 1 1
LD < 5
LD < 5
LD < 5
LD < 5
LD < 5
LD < 5
LDB 5
+
LD < 5
1
2
3
4
5
6
7
8
1 1 0 1 1
1 1 0 1 1
1 1 0 1 1
1 0 1 1
1 1
1
0
0
1 0 0 1 1 1
LD
BCD
=
2
7
= 27
5
ZPT
Opis strukturalny
R3
R2
R1
K
S3
S2
S1
A
B
8
4
4
4
„3”
„5”
K 5
LK
4
„8”
LOAD1
DEC
LK = 0
R4
LOAD2
8
Y = LD
US
MUX
1
0
MUX
4
A
B
4
LB
6
ZPT
Komputerowe projektowanie…
7
SPECYFIKACJA
FUNKCJONALNA
(HDL)
SYNTEZA
FUNKCJONALNA
OPIS RTL
TRANSLACJE
SPECYFIKACJI
SIEĆ
LOGICZNA
OPTYMALIZACJA
LOGICZNA
ODWZOROWANIE
TECHNOLOGICZN
E
uzyskaną strukturę zapisujemy w języku opisu
sprzętu i kompilujemy w systemie Quartus
54 LEs ─ 33
mln/sek
ZPT
.type fr
.i 9
.o 8
.p 100
000000000 0000
0000
000000001 0000
0001
000000010 0000
0010
000000011 0000
0011
000000100 0000
0100
000000101 0000
0101
000000110 0000
0110
000000111 0000
0111
000001000 0000
1000
000001001 0000
1001
000001010 0001
0000
000001011 0001
0001
000001100 0001
0010
000001101 0001
0011
* * *
001100001 1001
0111
001100010 1001
1000
001100011 1001
1001
.e
Konwerter Bin2BCD na poziomie
Konwerter Bin2BCD na poziomie
logicznym
logicznym
AHDL/VHDL
ZPT
Komputerowe projektowanie…
9
SPECYFIKACJA
FUNKCJONALNA
(HDL)
SYNTEZA
FUNKCJONALNA
OPIS RTL
TRANSLACJE
SPECYFIKACJI
SIEĆ
LOGICZNA
OPTYMALIZACJA
LOGICZNA
ODWZOROWANIE
TECHNOLOGICZN
E
24 LEs ─ 313
mln/sek
ZPT
Tablica prawdy – bin2bcd
TITLE " Decomposed project: bin2bcd ";
% Translated from DEMAIN format %
% Warsaw University of Technology %
% Institute of Telecommunications %
SUBDESIGN A
(
in_1, in_2, in_3, in_4
:INPUT;
in_5, in_6, in_7
:INPUT;
out_1, out_2, out_3, out_4 :OUTPUT;
out_5, out_6, out_7, out_8 :OUTPUT;
)
VARIABLE
g1_1, g1_2, g1_3, g3_1
:LCELL;
g2_1, g2_2
:LCELL;
BEGIN
---- Level 1 ----
TABLE
(in_1, in_2, in_3, in_4) => (g1_1);
B"1000" => B"0";
B"0011" => B"0";
.................
B"0001" => B"1";
B"1011" => B"1";
END TABLE;
TABLE
(in_6, g1_1, g2_1, g2_2) => (out_7);
B"0X10" => B"0";
.................
B"1011" => B"1";
END TABLE;
END;
# Konwerter
bin2bcd
.type fr
.i 7
.o 8
.p 100
0000000 00000000
0000001 00000001
0000010 00000010
0000011 00000011
0000100 00000100
0000101 00000101
. . . ..........
1011111 10010101
1100000 10010110
1100001 10010111
1100010 10011000
1100011 10011001
.e
Procedura
dekompozycji
13 komórek
(!!!)
10
352
mln/sek
ZPT
o u t _ 1 o u t _ 2
in _ 1
in _ 1
in _ 6
in _ 5
in _ 7
in _ 2
in _ 2
in _ 3
in _ 3
in _ 4
in _ 4
o u t_ 4 o u t _ 5 o u t_ 6 o u t _ 7
o u t_ 3
o u t _ 8
g 1 _ 1
g 2 _ 1
g 1 _ 2
g 2 _ 2
g 1 _ 3
Realizacja Bin2bcd wg Demaina
ZPT
Porównanie realizacji BIN2BCD
Synteza strukturalna – 54 LEs ─ 33
mln/sek
Synteza logiczna:
system komercyjny Quartus – 24 LEs ─ 313 mln/sek
system specjalizowany – 13 LEs ─ 352 mln/sek
Liczba elementów logicznych
─
liczba słów
Procesor AMD Athlon™ 64X2 Dual Core 4200+
2.2 GHz
–
9,17 mln/sek