ELC met synt

background image

I

T

P

W

ZPT

1

Układ

sterujący

(kontroler

)

Dane wyjściowe

Dane

wejściowe

Sygnały

sterujące

Stan części
operacyjnej

Układ operacyjny

(Datapath)

System cyfrowy

Mikrooperacje

wywoływane przez

sygnały sterujące

background image

I

T

P

W

ZPT

2

System cyfrowy - realizacja

UO – z bloków funkcjonalnych

US – automat lub układ mikroprogramowany

X

Z

X

P

Z

Y

Z

D

F

US

UO

background image

I

T

P

W

ZPT

3

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

background image

I

T

P

W

ZPT

4

Konwerter Bin2BCD

BIN/BCD

0

≤ liczby ≤ 99

0

0

0

1

1

0

1

1

27

BIN

Celem jest pokazanie różnych metod

projektowania

27

BCD

0

0

1

0

0

1

1

1

background image

I

T

P

W

ZPT

5

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

Metoda +3

background image

I

T

P

W

ZPT

6

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

LDB < 5

LDB < 5

LDB < 5

LDB < 5

LDB < 5

LDB < 5

LDB

≥≥≥≥ 5

+

LDB < 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

background image

I

T

P

W

ZPT

7

Algorytm konwersji

z kodu BIN na BCD

KONIEC

LOAD (LB)

LDA := 0
LDB := 0

LK := 8

LDB

≥≥≥≥ 5

LDB := LDB + 3

LDA := LDA + 3

LDA

≥≥≥≥ 5

START

LDA := SHL(LDA,LDB

3

)

LDB := SHL(LDB,LB

7

)

LB := SHL(LB)

LK := DEC(LK)

LD := LDA



LDB

LK = 0

NIE

TAK

NIE

NIE

TAK

TAK

 Liczba konwertowana zapisana

jest w postaci binarnej

 Przekształcenie polega na

wykonaniu określonej liczby
prostych operacji

 Przy konwersji liczb z zakresu 0

– 99 można algorytm uprościć

 Wykorzystuje proste operacje na

liczbach binarnych:



przesunięcie w lewo,



zwiększenie o 3,



porównanie ze stałą.

background image

I

T

P

W

ZPT

8

Algorytm konwersji

 Rejestry LB, LDA, LDB z

operacjami:



zeruj



wpisz,



przesuń.

 Licznik LK z operacjami:



ustaw,



zmniejsz o 1.

 Sumator

 Komparator

KONIEC

LOAD (LB)

LDA := 0
LDB := 0

LK := 8

LDB

≥≥≥≥ 5

LDB := LDB + 3

LDA := LDA + 3

LDA

≥≥≥≥ 5

START

LDA := SHL(LDA,LDB

7

)

LDB := SHL(LDB,LB

7

)

LB := SHL(LB)

LK := DEC(LK)

LD := LDA



LDB

LK = 0

NIE

TAK

NIE

NIE

TAK

TAK

background image

I

T

P

W

ZPT

9

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

UO

LB

Y

LK = 0

10

US

S

K

≥≥≥≥ 5

MUX

1

0

MUX

4

A

B

4

LB

background image

I

T

P

W

ZPT

10

Sieć działań

z uwzględnieniem UO

LK = 0

0

0

SHL 1, SHL 2, SHL 3,

DEC (LK)

MUX := 0

MUX := 1

LOAD 4

LOAD 2

LOAD 3

S

0

1

1

0

1

1

LOAD 1

CLEAR 2,3

LOAD (LK)

K > 5

K > 5

A

0

A

1

A

3

A

4

A

5

A

6

A

7

A

2

Synteza układu

sterującego!

Numeracja stanów

wewnętrznych

background image

I

T

P

W

ZPT

11

Zamiana SD na automat sterujący

LK = 0

0

0

SHL 1, SHL 2, SHL 3,

DEC (LK)

MUX := 0

MUX := 1

LOAD 4

LOAD 2

LOAD 3

S

0

1

1

0

1

1

LOAD 1

CLEAR 2,3

LOAD (LK)

K > 5

K > 5

A

0

A

1

A

2

A

3

A

4

A

5

A

6

A

7

A

0

/Z

0

A

1

/Z

1

A

2

/Z

2

A

3

/Z

3

A

4

/Z

6

A

6

/Z

4

A

7

/Z

5

A

5

/Z

7

x

1

x

1

x

0

x

2

0

x

1

x

1

x

2

x

Zamiana SD na automat sterujący

Nowe oznaczenia sygnałów

predykatowych

background image

I

T

P

W

ZPT

12

Tablica p-w automatu sterującego

x

2

x

1

x

0

S

000

001

011

010

110

111

101

100

Z

A

0

Z

0

A

1

Z

1

A

2

Z

2

A

3

Z

3

A

4

Z

6

A

5

Z

7

A

6

Z

4

A

7

Z

5

A

0

/Z

0

A

1

/Z

1

A

2

/Z

2

A

3

/Z

3

A

4

/Z

6

A

6

/Z

4

A

7

/Z

5

A

5

/Z

7

x

1

x

1

x

0

x

2

0

x

1

x

1

x

2

x

A

0

A

0

A

0

A

0

A

1

A

1

A

1

A

1

A

2

A

2

A

2

A

2

A

2

A

2

A

2

A

2

A

6

A

6

A

6

A

6

A

3

A

3

A

3

A

3

A

4

A

4

A

7

A

7

A

7

A

7

A

4

A

4

A

2

A

5

A

5

A

2

A

2

A

5

A

5

A

2

A

0

A

0

A

0

A

0

A

0

A

0

A

0

A

0

A

3

A

3

A

3

A

3

A

3

A

3

A

3

A

3

A

4

A

4

A

4

A

4

A

4

A

4

A

4

A

4

Tablica p-w wystarcza do
realizacji automatu!

background image

I

T

P

W

ZPT

13

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

UO

LB

Y

LK = 0

10

US

S

K

≥≥≥≥ 5

MUX

1

0

MUX

4

A

B

4

LB

Zrealizowany automat jest
Układem Sterującym

background image

I

T

P

W

ZPT

14

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

UO

LB

Y

LK = 0

10

US

S

K

≥≥≥≥ 5

MUX

1

0

MUX

4

A

B

4

LB

Co dalej?

background image

I

T

P

W

ZPT

Stosując rutynowe metody…

FPGA

FPGA

FPGA

FPGA

SPECYFIKACJA

FUNKCJONALNA

(HDL)

SYNTEZA

FUNKCJONALNA

OPIS RTL

TRANSLACJE

SPECYFIKACJI

SIEĆ

LOGICZNA

OPTYMALIZACJA

LOGICZNA

ODWZOROWANIE

TECHNOLOGICZNE

uzyskaną strukturę zapisujemy w języku opisu sprzętu i
kompilujemy w systemie Quartus

54 LEs ─ 33 mln/sek

FPGA

34 LEs ─ 39 mln/sek

background image

I

T

P

W

ZPT

16

.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 Bin2

Konwerter Bin2

BCD na poziomie logicznym

BCD na poziomie logicznym

AHDL/VHDL

background image

I

T

P

W

ZPT

17

Komputerowe projektowanie…

FPGA

FPGA

FPGA

FPGA

SPECYFIKACJA

FUNKCJONALNA

(HDL)

SYNTEZA

FUNKCJONALNA

OPIS RTL

TRANSLACJE

SPECYFIKACJI

SIEĆ

LOGICZNA

OPTYMALIZACJA

LOGICZNA

ODWZOROWANIE

TECHNOLOGICZNE

24 LEs ─ 313 mln/sek

background image

I

T

P

W

ZPT

18

.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 Bin2

Konwerter Bin2

BCD na poziomie logicznym

BCD na poziomie logicznym

AHDL/VHDL

background image

I

T

P

W

ZPT

19

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 syntezy logicznej







 13 komórek (!!!)

19

352 mln/sek

background image

I

T

P

W

ZPT

Realizacja programowa

Procesor AMD Athlon™
64X2 Dual Core 4200+

2.2 GHz

9,17 mln/sek

KONIEC

LOAD (LB)

LDA := 0
LDB := 0

LK := 8

LDB

≥≥≥≥ 5

LDB := LDB + 3

LDA := LDA + 3

LDA

≥≥≥≥ 5

START

LDA := SHL(LDA,LDB

3

)

LDB := SHL(LDB,LB

7

)

LB := SHL(LB)

LK := DEC(LK)

LD := LDA



LDB

NIE

TAK

NIE

NIE

TAK

TAK

LK = 0

background image

I

T

P

W

ZPT

21

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

background image

I

T

P

W

ZPT

Mając świadomość, że…

FPGA

Specyfikacja HDL

Synteza funkcjonalna

Synteza logiczna

Odwzorowanie

technologiczne

Specjalistyczne

oprogramowanie

akademickie

metody syntezy

logicznej są

niedoskonałe

nowocześnie wykształcony

inżynier

System komercyjny

background image

I

T

P

W

ZPT

Niedoskonałość metod syntezy

f

Sieć dwupoziomowa

f

Sieć wielopoziomowa

FPGA

y = f(x

1

, x

2

, x

3

, x

4

) !!!

x

1

x

2

x

3

x

4

CLB

x

1

x

2

x

3

x

4

CLB


Wyszukiwarka

Podobne podstrony:
ELC met synt
ST14 20010 Met ppt
met PCD
KM W 25 lekkie konst met stud
Met sta korekta ocen do e learningu
REGULACJA PID , Energetyka, sem5, sem5, met.ZN
Met. izol. oczysz.DNA dla studentów, Biologia molekularna
met.bad.ped.program, Studia, Semestry, semestr IV, Metody badań pedagogicznych
met
A dynamiki (przyklady 2 met klasyczna)
01PL met CC
analityka światło i met opt 2012 2013
BAT met niez r6
2 przesylanie argumentow do met Nieznany
Proba statyczna roz met id 3926 Nieznany
metodyka met ind przyp, pr grup
Korzysci koszty synt

więcej podobnych podstron