System cyfrowy
Dane
wejściowe
Sygnały
sterujące
Układ operacyjny
(Datapath)
Układ
sterujący
Mikrooperacje
(kontroler) wywoływane przez
sygnały sterujące
Stan części
operacyjnej
Dane wyjściowe
I
T
P
W
ZPT
1
System cyfrowy - realizacja
XZ D
Z
US UO
XP
UO z bloków funkcjonalnych
ZY F
I
US automat lub układ mikroprogramowany
T
P
W
ZPT
2
Przykład syntezy strukturalnej
Konwerter kodu binarnego na kod BCD:
W kodzie BCD (Binary Coded Decimal) każda
cyfra liczby zapisanej w kodzie dziesiętnym jest
przedstawiana czterobitową liczbą binarną
Np. liczba 489 zostanie zapisana jako wektor
binarny z wykorzystaniem 12 bitów (3 4 bity)
4 8 9
BCD 0100 1000 1001
I
T
P
W
ZPT
3
Konwerter Bin2BCD
27BIN
27BCD
0 d" liczby d" 99
0
BIN/BCD
0
0
0
1
0
0
1
1
0
0
1
1
1
1
1
Celem jest pokazanie różnych metod
projektowania
I
T
P
W
ZPT
4
Metoda +3
0 0 0 0 0 0 0 0 27 = 0 0 0 1 1 0 1 1
LDA LDB
LB
0 0 0 0 0 0 0 0
LDB e" 5
e"
e"
e"
NIE TAK
8
LDB := LDB LDB := LDB+3
I
T
P
W
ZPT
5
LDA LDB LB
LDB < 5
0 0 0 0 0 0 0 0
0 0 0 1 1 0 1 1
1
LDB < 5
0 0 0 0 0 0 0 0
0 0 1 1 0 1 1
2
LDB < 5
0 0 0 0 0 0 0 0
3
0 1 1 0 1 1
LDB < 5
0 0 0 0 0 0 0 0 4
1 1 0 1 1
LDB < 5
0 0 0 0 0 0 0 1
5
1 0 1 1
LDB < 5
0 0 0 0 0 0 1 1
6 0 1 1
LDB e" 5
e"
e"
e"
0 0 0 0 0 1 1 0
1 1
7
+ 0 0 1 1
0 0 0 0 1 0 0 1
LDB < 5 0 0 0 1 0 0 1 1
8
1
0 0 1 0 0 1 1 1
I
= 27
T
LDBCD =
0 0 1 0 0 1 1 1
P
W
2
7
ZPT
6
START
Algorytm konwersji
LOAD (LB)
z kodu BIN na BCD
LDA := 0
LDB := 0
LK := 8
Liczba konwertowana zapisana
jest w postaci binarnej
TAK
LDB e" 5
e"
e"
e"
LDB := LDB + 3
Przekształcenie polega na
NIE
wykonaniu określonej liczby
prostych operacji
TAK
LDA e" 5
e"
e"
e"
LDA := LDA + 3
NIE
Wykorzystuje proste operacje na
LDA := SHL(LDA,LDB3)
liczbach binarnych:
LDB := SHL(LDB,LB7)
przesunięcie w lewo,
LB := SHL(LB)
zwiększenie o 3,
LK := DEC(LK)
porównanie ze stałą.
NIE
LK = 0
I
TAK
T
Przy konwersji liczb z zakresu 0
P
LD := LDA LDB
W
99 można algorytm uprościć
KONIEC
ZPT
7
Algorytm konwersji
START
Rejestry LB, LDA, LDB z
LOAD (LB)
LDA := 0
operacjami:
LDB := 0
LK := 8
zeruj
wpisz,
przesuń.
TAK
LDB e" 5
e"
e"
e"
LDB := LDB + 3
Licznik LK z operacjami:
NIE
ustaw,
zmniejsz o 1.
TAK
LDA e" 5
e"
e"
e"
LDA := LDA + 3
Sumator
NIE
LDA := SHL(LDA,LDB7)
LDB := SHL(LDB,LB7)
Komparator
LB := SHL(LB)
LK := DEC(LK)
NIE
LK = 0
I
TAK
T
P
LD := LDA LDB
W
KONIEC
ZPT
8
Opis strukturalny
4 8
8
4
4
LB
R3 R2 R1
LOAD1
LK
DEC
S3 S2 S1
LK = 0
A
B
0
1
LB
MUX
MUX
S
5
LK = 0
3 4
K e" 5
e"
e"
e"
Y
US UO
K
Ł A
Ł B
Ł
Ł
4 4
10
K e" 5
e"
e"
e"
R4 LOAD2
I
T
8
P
W
Y = LD
ZPT
9
Sieć działań
A0
z uwzględnieniem UO
0
S
1
A1
LOAD 1
CLEAR 2,3
LOAD (LK)
A2
Synteza układu
MUX := 0
sterującego!
A6
1
K > 5
LOAD 2
0
A3
MUX := 1
Numeracja stanów
A7
1
K > 5
wewnętrznych
0 LOAD 3
A4
SHL 1, SHL 2, SHL 3,
DEC (LK)
A5
I
1
0
LK = 0
T
P
LOAD 4
W
ZPT
10
Zamiana SD na automat sterujący
Zamiana SD na automat sterujący
Nowe oznaczenia sygnałów
predykatowych
A0
0
S
A0/Z0
1
A1
x2
LOAD 1
x2
CLEAR 2,3
LOAD (LK)
A2
MUX := 0
A1/Z1
A6
1
K > 5
LOAD 2
0
x1
A3
A2/Z2 A6/Z4
MUX := 1
A7
1
x1
K > 5
x1
0 LOAD 3
A4
A3/Z3 A7/Z5
SHL 1, SHL 2, SHL 3,
DEC (LK)
x1
I
T
x0
A5
P 1
0
LK = 0
A4/Z6 A5/Z7
W
LOAD 4
x0
ZPT
11
Tablica p-w automatu sterującego
A0/Z0
x2
x2 x2x1x0
000 001 011 010 110 111 101 100 Z
S
A1/Z1
A0 A0 A0 A0 A0 A1 A1 A1 A1 Z0
A1 A2 A2 A2 A2 A2 A2 A2 A2 Z1
A2 A3 A3 A6 A6 A6 A6 A3 A3 Z2
x1
A3 A4 A4 A7 A7 A7 A7 A4 A4 Z3
A2/Z2 A6/Z4
A4 A2 A5 A5 A2 A2 A5 A5 A2 Z6
x1
A5 A0 A0 A0 A0 A0 A0 A0 A0 Z7
x1
A6 A3 A3 A3 A3 A3 A3 A3 A3 Z4
A3/Z3 A7/Z5
A7 A4 A4 A4 A4 A4 A4 A4 A4 Z5
x1
x0
Tablica p-w wystarcza do
I
T
A4/Z6 A5/Z7
realizacji automatu!
P
x0
W
ZPT
12
Opis strukturalny
4 8
8
4
4
LB
R3 R2 R1
LOAD1
LK
DEC
S3 S2 S1
LK = 0
A
B
LB
0
1
S
MUX
MUX
LK = 0
5
3 4
K e" 5
e"
e"
e"
Y
US UO
K
Ł
Ł
Ł
Ł
10
B
A
e"
e"
e"
4 4 K e" 5
I
T
Zrealizowany automat jest
P
R4 LOAD2
W
Układem Sterującym
8
ZPT
Y = LD
13
Opis strukturalny
4 8
8
4
4
LB
R3 R2 R1
LOAD1
LK
DEC
S3 S2 S1
LK = 0
A
B
LB
0
1
S
MUX
MUX
LK = 0
5
3 4
K e" 5
e"
e"
e"
Y
US UO
K
Ł
Ł
Ł
Ł
10
B
A
e"
e"
e"
4 4 K e" 5
I
T
P
R4 LOAD2
Co dalej?
W
8
ZPT
Y = LD
14
Stosując rutynowe metody&
uzyskaną strukturę zapisujemy w języku opisu sprzętu i
kompilujemy w systemie Quartus
SPECYFIKACJA
SIEĆ
FUNKCJONALNA
LOGICZNA
(HDL)
SYNTEZA
OPTYMALIZACJA
FUNKCJONALNA
LOGICZNA
ODWZOROWANIE
OPIS RTL
TECHNOLOGICZNE
FPGA
54 LEs % 33 mln/sek
I
T
TRANSLACJE
FPGA
FPGA
FPGA
FPGA
P
SPECYFIKACJI
W 34 LEs % 39 mln/sek
ZPT
Konwerter Bin2BCD na poziomie logicznym
Konwerter Bin2BCD na poziomie logicznym
.type fr
.i 9
.o 8
.p 100
000000000 0000 0000
000000001 0000 0001
AHDL/VHDL
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
I
001100011 1001 1001
T
.e
P
W
ZPT
16
Komputerowe projektowanie&
SPECYFIKACJA
SIEĆ
FUNKCJONALNA
LOGICZNA
(HDL)
SYNTEZA
OPTYMALIZACJA
FUNKCJONALNA
LOGICZNA
ODWZOROWANIE
OPIS RTL
TECHNOLOGICZNE
24 LEs % 313 mln/sek
I
T
TRANSLACJE
FPGA
FPGA
FPGA
FPGA
P
SPECYFIKACJI
W
ZPT
17
Konwerter Bin2BCD na poziomie logicznym
Konwerter Bin2BCD na poziomie logicznym
.type fr
.i 9
.o 8
.p 100
000000000 0000 0000
000000001 0000 0001
AHDL/VHDL
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
I
001100011 1001 1001
T
.e
P
W
ZPT
18
Tablica prawdy bin2bcd
TITLE " Decomposed project: bin2bcd ";
% Translated from DEMAIN format %
% Warsaw University of Technology %
# Konwerter
% Institute of Telecommunications %
bin2bcd SUBDESIGN A
(
.type fr
in_1, in_2, in_3, in_4
:INPUT;
.i 7
in_5, in_6, in_7
:INPUT;
.o 8
out_1, out_2, out_3, out_4 :OUTPUT;
.p 100 out_5, out_6, out_7, out_8 :OUTPUT;
)
0000000 00000000
VARIABLE
g1_1, g1_2, g1_3, g3_1 :LCELL;
0000001 00000001
g2_1, g2_2 :LCELL;
BEGIN
0000010 00000010
---- Level 1 ----
0000011 00000011 TABLE
(in_1, in_2, in_3, in_4) => (g1_1);
0000100 00000100
B"1000" => B"0";
B"0011" => B"0";
0000101 00000101
.................
B"0001" => B"1";
. . . ..........
B"1011" => B"1";
1011111 10010101
END TABLE;
TABLE
1100000 10010110
(in_6, g1_1, g2_1, g2_2) => (out_7);
B"0X10" => B"0";
1100001 10010111
.................
1100010 10011000
B"1011" => B"1";
END TABLE;
1100011 10011001
END;
.e
I
T
Procedura syntezy logicznej
13 komórek (!!!)
P
W
352 mln/sek
ZPT
19
19
Realizacja programowa
START
LOAD (LB)
LDA := 0
LDB := 0
LK := 8
TAK
LDB e" 5
e"
e"
e"
LDB := LDB + 3 Procesor AMD Athlon"!
NIE
64X2 Dual Core 4200+
TAK
2.2 GHz
LDA e" 5
e"
e"
e"
LDA := LDA + 3
9,17 mln/sek
NIE
LDA := SHL(LDA,LDB3)
LDB := SHL(LDB,LB7)
LB := SHL(LB)
LK := DEC(LK)
NIE
I
LK = 0
T
TAK
P
W
LD := LDA LDB
ZPT
KONIEC
Porównanie realizacji BIN2BCD
Liczba elementów logicznych % liczba słów
Synteza strukturalna 54 LEs % 33 mln/sek
Synteza logiczna:
system komercyjny Quartus 24 LEs % 313 mln/sek
system specjalizowany 13 LEs % 352 mln/sek
Procesor AMD Athlon"! 64X2 Dual Core 4200+
I
T
2.2 GHz 9,17 mln/sek
P
W
ZPT
21
Mając świadomość, że&
System komercyjny
metody syntezy
logicznej są
niedoskonałe
Specyfikacja HDL
Synteza funkcjonalna
Specjalistyczne
oprogramowanie
Synteza logiczna
akademickie
Odwzorowanie
technologiczne
I
nowocześnie wykształcony
T
inżynier
P
FPGA
W
ZPT
Niedoskonałość metod syntezy
f
f
Sieć dwupoziomowa
Sieć wielopoziomowa
FPGA
x1
x1
x2
x2
CLB
CLB
x3
x3
I
T x4
x4
y = f(x1, x2, x3, x4) !!!
P
W
ZPT
Wyszukiwarka
Podobne podstrony:
met komp03 PEiM Met opisu ukł elektr doc (2)met silHow I Met Your Mother S09E10 Mom and Dad WEB DL x264 AACzad dom met bad rol 11 zimametlinki do met leczenaMet mat i stat w inz chem W 1Met mat i stat w inz chem W 2Met Bad Hum Kons13 Nederlands met een kleurtje SurinameMet mat i stat w inz chem W 3biol met 13e Obraz 5 implikacja met HIPAiU rygory Kon met sem612 stacmet pot wezKopia Mrpd Met przydzialuwięcej podobnych podstron