Synteza układów sekwencyjnych w strukturach z (wbudowanymi) pamięciami ROM

35
ZPT 1

description

Synteza układów sekwencyjnych w strukturach z (wbudowanymi) pamięciami ROM. 1. Nowoczesne struktury FPGA…. LC. ROM. FPGA. EMB. zawierają również wbudowane pamięci. oprócz komórek logicznych. 2. X. x. q. Rejestr. x + q. Pamięć ROM. y. F. Q. - PowerPoint PPT Presentation

Transcript of Synteza układów sekwencyjnych w strukturach z (wbudowanymi) pamięciami ROM

Page 1: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT 1

Page 2: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

EMBEMB

NowoczesneNowoczesne struktury FPGA…struktury FPGA…

LC ROM

oprócz komórek oprócz komórek logicznychlogicznych

zawierają również zawierają również wbudowane pamięci wbudowane pamięci

2

Page 3: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

Realizacja automatów za pomocą pamięci ROM

X

F Q

Pamięć ROM

Rejestr

qx

x + q

y

3

Takie wyposażenie umożliwia realizację automatu Takie wyposażenie umożliwia realizację automatu w strukturze…w strukturze…

Rejestr adresowy

Pamięć mikroprogramu

Page 4: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

Rejestr adresowy i pamięć ROM

1100

Rejestrclock

0010

1100

4

A ROMN m

X0

Xi

XN-1

n

Y

m

Page 5: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD

q1 q2 q3

S1 0 0 0

S2 0 0 1

S3 0 1 0

S4 0 1 1

S5 1 0 0

-

--

-S1

10110100x1x2

S4S2

S4S5

S2

S2 S1 S3S3

S4 S1

S3S1 S4 S2

REJESTR

WY

x1 x2

q1 q2 q3

5

CLK

000 (S1)

- - - -

010 (S3)

001 (S2)

...ROM

0 0 0 0 0

0 0 0

0 0 0 1 0

0 1 0

0

1

2

8

.

.

.

.

0 1 0 0 0

0 0 1

Page 6: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

Bardzo dobra realizacja, ale…

X

F Q

Pamięć mikroprogramu(ROM)

Rejestr adresowy

qx

x + q

y

Niestety taka realizacja wiąże się z ogromnymi wymaganiami na

pojemność pamięci

6

Page 7: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

X

Multiplekser warunków

UKŁADY MIKROPROGRAMOWANE

TaktRA

ROM

A

UO

UA X

7

Page 8: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

MODYFIKACJA ADRESU

Komórki logiczne

Wbudowana pamięć

X

F Q

Pamięć mikroprogramu(ROM)

Rejestr

Modyfikator adresu

qx

a

b

c < b

(a + c) < (x + q)

y

8

Page 9: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

JAK TO ZREALIZOWAĆ ???

X

F Q

Pamięć mikroprogramu(ROM)

Rejestr

Modyfikator adresu

qx

a

b

c < b

(a + c) < (x + q)

y

X

F Q

Funkcja H

Rejestr

Funkcja G

qx

a

b

c < b

(a + c) < (x + q)

y

9

Page 10: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

Funkcja G reprezentuje modyfikator adresu

Funkcja H opisuje zawartość pamięci

U W V

G

Rejestr

H

LUTs

EMB

F = H(U, G(V W))

JAK TO ZREALIZOWAĆ ???

10

Page 11: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

Algorytm syntezy automatu(algebra podziałów)

1. Wybór zbioru U (wstępne kodowanie)

2. Określenie podziałów:

P(U), Pg = P(V)

3. Szukanie podziału g Pg

P(U) g PF

(czasami istnieje potrzeba wprowadzenia zbioru W)

4. Obliczenie funkcji G oraz H

11

Page 12: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD

Odpowiednie zakodowanie stanów i wejść może pomóc w podziale zmiennych wejściowych na zbiory U i V

00 01 11 10Wyj

-ścia

S1 S1 S2 S4 - WYJŚCIA

S2 - - S5 S4

S3 S3 S2 S1 S3

S4 S2 - S4 S1

S5 S3 S1 S4 S2

Wejścia (x1 , x2)

Stany

ROM

REJESTR

WY

x1 x2

MODYFIKATOR ADRESU

12

Page 13: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d.

Kluczem do rozwiązania tego problemu jest permutacja wierszy i/lub kolumn tablicy przejść oraz odpowiedni podział tablicy przejść na podtablice z minimalna liczbą stanów następnych

00 01 11 10

S1 S1 S2 S4 -

S2 - - S5 S4

S4 S2 - S4 S1

S3 S3 S2 S1 S3

S5 S3 S1 S4 S2

Przestawiliśmy wiersze S3 oraz S4

13

Page 14: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d.

U = {x1,x2,q1}V = {q2,q3}

x1x2 00 01 11 10

S1 0 S1 S2 S4 -

S2 0 - - S5 S4

S4 0 S2 - S4 S1

S3 1 S3 S2 S1 S3

S5 1 S3 S1 S4 S2

Przyjęty podział tablicy wymusza odpowiednie kodowanie tzw. kodowanie wstępne oraz pozwala wyznaczyć

zbiory U i V

Kodowanie wstępne koduje tylko jedną zmienną q, czyli q1

oraz zmienne zewnętrzne x

14

Page 15: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d.

Na tej podstawie możemy określić strukturę, czyli schemat blokowy realizowanego automatu.

Modyfikator Adresu

MA

ROM

Rejestr

x x1 2

Out

q 1

00 01 11 10

S1 S1 S2 S4 -

S2 - - S5 S4

S4 S2 - S4 S1

S3 S3 S2 S1 S3

S5 S3 S1 S4 S2

15

U = {x1,x2,q1}V = {q2,q3}

Page 16: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d.

q1 q2 q3

S1 0 ? ?

S2 0 ? ?

S4 0 ? ?

S3 1 ? ?

S5 1 ? ?16151413

1211109

87-6

54--

-321

10110100x1x2

P(U)|PF =

U = {x1,x2,q1}V = {q2,q3}

00 01 11 10

S1 0 S1 S2 S4 -

S2 0 - - S5 S4

S4 0 S2 - S4 S1

S3 1 S3 S2 S1 S3

S5 1 S3 S1 S4 S2

((1)(6) ; (2) ; (3,7)(4) ;

(9,13) ; (10)(14) ; (11)(15) ;(12)(16))

(5)(8) ;

Uzyskane kodowanie trzeba zapisać w rachunku podziałów

16

Page 17: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d.

q1 q2 q3

S1 0

S2 0

S4 0

S3 1

S5 1

87-6

16151413

1211109

54--

-321

10110100x1x2U = {x1,x2,q1}

V = {q2,q3}

0 0

0 1

1 0

1 1

0 1

;1,2,3 ;15,164,5,13,14,P(V) ;6,7,8 9,10,11,12

Kodowanie wtórne

17

Page 18: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d.

U = {x1, x2, q1} V = {q2, q3}

P(U)|PF = ((1)(6) ; (2) ; (3,7)(4) ; (5)(8) ; (9,13) ; (10)(14) ;

(11)(15) ; (12)(16))

9,10,11,12;6,7,8;15,164,5,13,14,;1,2,3P(V)

Przyjmujemy: W = {x1}

31, 2, 6, 7, 8

10110100

87-6

16151413

1211109

54--

-321

x1x2

9, 10, 11, 124, 5, 13, 14, 15, 16

G

18

Page 19: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d.

V’ = {x1, q2, q3}

P(U)|PF = ((1)(6) ; (2) ; (3,7)(4) ; (5)(8) ; (9,13) ; (10)(14) ;

(11)(15) ; (12)(16))

)11,12 ; 9,10 ; 7,8 ; 6 ; 4,5,15,16 ; 13,14 ; 3 ; 1,2( )P(V'

)4,15,164,5,6,13,1 ; 9,10,11,121,2,3,7,8,(g

Uwaga: jest to inne rozwiązanie niż w książce

Synteza układów logicznych

ale oba rozwiązania są dobre

19

Page 20: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d. – tablica funkcji G

)11,12 ; 9,10 ; 7,8 ; 6 ; 4,5,15,16 ; 13,14 ; 3 ; 1,2( )P(V'

)4,15,164,5,6,13,1 ; 9,10,11,121,2,3,7,8,(g

0 1

q1q2q3

S1 0 0 0

S2 0 0 1

S4 0 1 0

S3 1 1 1

S5 1 0 1

87-6

16151413

1211109

54--

-321

10110100x1x2

x1 q2 q3 g

0 0 0 0

1 0 0 0

0 0 1 1

20

Page 21: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d.

x1 x2 q1

REJESTR

q1 q2 q3

G

H

x1

q2

q3

g

32321 qqqqxg

21

Page 22: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d. – tablica funkcji H

q1 q2 q3

S1 0 0 0

S2 0 0 1

S4 0 1 0

S3 1 1 1

S5 1 0 1

87-6

16151413

1211109

54--

-321

10110100x1x2

P(U) = (1,6 ; 2 ; 3,4,7 ; 5,8 ; 9,13 ; 10,14 ; 11,15 ; 12,16)

I1 I2 I3 I4

S1 S1 S2 S4 -

S2 - - S5 S4

S4 S2 - S4 S1

S3 S3 S2 S1 S3

S5 S3 S1 S4 S2

)4,15,164,5,6,13,1 ; 9,10,11,121,2,3,7,8,(ΠG

P(U) G = (1; 6; 2; 3,7; 4; 5; 8; 9; 13; 10; 14; 11; 15; 12; 16)

22

Page 23: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d. – tablica funkcji H

0 0 0 1

q1 q2 q3

S1 0 0 0

S2 0 0 1

S4 0 1 0

S3 1 1 1

S5 1 0 1

87-6

16151413

1211109

54--

-321

10110100x1x2

I1 I2 I3 I4

S1 S1 S2 S4 -

S2 - - S5 S4

S4 S2 - S4 S1

S3 S3 S2 S1 S3

S5 S3 S1 S4 S2

P(U) G = (1; 6; 2; 3,7; 4; 5; 8; 9; 13; 10; 14; 11; 15; 12; 16)

x1 x2 q1 g

0 0 0 0

0 1 0 01 1 0 0

S1

S2

S2

S4

)4,15,164,5,6,13,1 ; 9,10,11,121,2,3,7,8,(g1

6

2

3,7

23

Page 24: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d.

x1 x2 q1

REJESTR

q1 q2 q3

G

ROM

x1

q2

q3

g

32321 qqqqxg

Tablica H określa zawartość pamięci ROM

24

Page 25: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD - ten sam automat…

…ale w innej strukturze

S3S1S2S3S3

S2S4S1S3S5

S1S4-S2S4

S4S5--S2

-S4S2S1S1

I4I3I2I1

U = {q1,q2}V = {q3, x1,x2 }

UMA

ROM

Rejestr

x x1 2

Out

q 1

q 3

q 2

Teraz są dwa wyjścia z UMA

25

Page 26: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d. - wyznaczenie P(U)

q1 q2 q3

S1 0 0 ?

S2 0 0 ?

S3 0 1 ?

S4 1 0 ?

S5 1 1 ?

16151413

1211-10

9876

54--

-321

10110100x1x2

U = {q1,q2}V = {q3, x1,x2 }

Kodowanie wstępne

S3S1S2S3S3

S2S4S1S3S5

S1S4-S2S4

S4S5--S2

-S4S2S1S1

I4I3I2I1

( ;1,2,3,4,5 )613,14,15,1;6,7,8,9 ;11,12 10, P(U)

;(4)(2),(3,5),(1), ;(8)(7),6,9),( ;(12)(11),10),( P(U)|PF=

(16)(15),(14),(13),26

Page 27: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

q1 q2 q3

S1 0 0 0

S2 0 0 1

S3 0 1 0

S4 1 0 1

S5 1 1 116151413

1211-10

9876

54--

-321

10110100x1x2

U = {q1,q2}V = {q3, x1,x2 }

Kodowanie wtórne

)5,12,16;9 ; 4,11,15 ; 3,8 ; 14 ; 2,7 ; 10,13 ; 1,6( P(V)

PRZYKŁAD c.d. - wyznaczenie P(V)

00

27

Page 28: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d. – obliczenie G

q1q2q3

;(4)(2),(3,5),(1), ;(8)(7),6,9),(

;(12)(11),10),(

P(U)|PF=

(16)(15),(14),(13), 9876

16151413

1211-10

54--

-321

10110100x1x2

000

001

010

101

111 )5,12,16;9 ; 4,11,15 ; 3,8 ; 14 ; 2,7 ; 10,13 ; 1,6( P(V)

G

(1) (3,5) (2) (4)

1,6 3,8 2,7

5,12,16

4,11,15

9 10,13 14

4,11,15;2,7,10,13 ;16 3,5,8,12, ;1,6,9,1401 1000 11

28

Page 29: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d. – tablice dla UMA i ROM

q1 q2

REJESTR

q1 q2 q3

G

H

x1

x2

q3

g2g1

29

Page 30: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d. – tablice dla UMA i ROM

100

1001

0000

g1x1q3 g2x2

1,6

10,13

2,7

00

1 09876

161514131211-10

54---321

10110100x1x2

000

001

010

101

111

)5,12,16;9 ; 4,11,15 ; 3,8 ; 14 ; 2,7 ; 10,13 ; 1,6( P(V)

4,11,15;2,7,10,13 ;16 3,5,8,12, ;1,6,9,1401 1000 11

G

q1q2q3

30

Page 31: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁAD c.d. – tablice dla UMA i ROM

100

1000

0000

g2q2q1 q1 q2 q3g1

1

3,5

2

0 0 0

1 0 1

0 0 0 19876

161514131211-10

54---321

10110100x1x2

000

001

010

101

111

q1q2q3

S2S4S1S3

S1S4-S2

S3S1S2S3

S4S5---S4S2S1

I4I3I2I1

;1,2,3,4,5 )613,14,15,1;6,7,8,9 ;11,12 10, P(U)

4,11,15;2,7,10,13 ;16 3,5,8,12, ;1,6,9,1401 1000 11

G

P(U) G = 2 ; 3,5 ;1 …31

Page 32: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

Jeszcze inna struktura (najlepsza)

q1 q2 q3

S1 0 0 0

S2 0 0 1

S3 0 1 1

S4 1 0 1

S5 1 1 0

16151413

1211-10

9876

54--

-321

10110100x1x2

U = {q1,q2, x1 }V = {q3, x2 }

S3S1S2S3S3

S2S4S1S3S5

S1S4-S2S4

S4S5--S2

-S4S2S1S1

I4I3I2I1

....) 14,15 2,3, ; 16 1,13,( P(V)

P(U) = (1,2 ; 3,4,5 ; 6,7 ; 8,9 ; ...

32

Page 33: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

PRZYKŁADOWE BENCHMARKI

TEST Wejścia Wyjścia Stany

d14 3 5 7

cse 7 7 16

ex4 6 9 14

mark1 5 16 15

s1 8 6 20

tbk 6 3 32

sse 7 7 16

33

Page 34: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

Implementacja automatu w układzie EPF 10K10

AM implementation Benchmark

ROM Implementation

#bits

FF implementation #LCs

#LCs #bits

d14 512 60 21 256 cse 22528 1) 92 2 5632 ex4 13312 1) 28 2 3328 mark1 10240 1) 40 2 5120 s1 24576 1) 137 96 5632 tbk 16384 1) 759 2) 333 4093 sse 22528 1) 52 3 5632

1) Implementation not possible – not enough memory recourses2) Implementation not possible – not enough CLB recourses

34

Page 35: Synteza układów sekwencyjnych w strukturach  z (wbudowanymi) pamięciami ROM

ZPT

tbk

E P F 10K6144 b its

576 LC s

ODWZOROWANIE UKŁADU TBK

tbk

E P F 10 K6144 b its

576 LC s

Przed dekompozycją Po dekompozycji

tbk: 16 384 bitów lub 759 komórek log.

tbk: 4093 bitów oraz 333 komórek log.

35