Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


Prezentacja na temat: "Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM"— Zapis prezentacji:

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

2 Nowoczesne struktury FPGA…
EMB ROM LC oprócz komórek logicznych zawierają również wbudowane pamięci 2

3 Realizacja automatów za pomocą pamięci ROM
Takie wyposażenie umożliwia realizację automatu w strukturze… X F Q Pamięć ROM Rejestr q x x + q y Rejestr adresowy Pamięć mikroprogramu 3

4 Rejestr adresowy i pamięć ROM
N  m X0 Xi XN-1 n Y m 1100 1100 Rejestr clock 0010 4

5 PRZYKŁAD x1 x2 q1 q2 q3 S S S S S - S1 10 11 01 00 x1x2 S4 S2 S5 S3 CLK REJESTR 000 (S1) - - - - 010 (S3) 001 (S2) ... ROM 1 2 .. 8 .. q1 q2 q3 WY 5

6 Bardzo dobra realizacja, ale…
X F Q Pamięć mikroprogramu (ROM) Rejestr adresowy q x x + q y Niestety taka realizacja wiąże się z ogromnymi wymaganiami na pojemność pamięci 6

7 UKŁADY MIKROPROGRAMOWANE
Takt RA ROM A UO UA X X Multiplekser warunków 7

8 MODYFIKACJA ADRESU Komórki logiczne Wbudowana pamięć X
Pamięć mikroprogramu (ROM) Rejestr Modyfikator adresu q x a b c < b (a + c) < (x + q) y Komórki logiczne Wbudowana pamięć F Q 8

9 JAK TO ZREALIZOWAĆ ??? X F Q Funkcja H X F Q Pamięć mikroprogramu
Rejestr Funkcja G q x a b c < b (a + c) < (x + q) y X F Q Pamięć mikroprogramu (ROM) Rejestr Modyfikator adresu q x a b c < b (a + c) < (x + q) y 9

10 Dekompozycja Szeregowa Funkcja G reprezentuje modyfikator adresu
JAK TO ZREALIZOWAĆ ??? Funkcja G reprezentuje modyfikator adresu Funkcja H opisuje zawartość pamięci U W V LUTs G Dekompozycja Szeregowa Rejestr H EMB F = H(U, G(V  W)) 10

11 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

12 PRZYKŁAD Wejścia (x1 , x2) x1 x2 00 01 11 10 Wyj-ścia S1 S2 S4 - W Y J Ś C I A S5 S3 Stany MODYFIKATOR ADRESU REJESTR ROM Odpowiednie zakodowanie stanów i wejść może pomóc w podziale zmiennych wejściowych na zbiory U i V WY 12

13 Przestawiliśmy wiersze S3 oraz S4
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 S2 S4 - S5 S3 Przestawiliśmy wiersze S3 oraz S4 13

14 PRZYKŁAD c.d. Przyjęty podział tablicy wymusza odpowiednie kodowanie
tzw. kodowanie wstępne oraz pozwala wyznaczyć zbiory U i V x1x2 00 01 11 10 S1 0 S1 S2 S4 - S2 0 S5 S4 0 S3 1 S3 S5 1 U = {x1,x2,q1} V = {q2,q3} Kodowanie wstępne koduje tylko jedną zmienną q, czyli q1 oraz zmienne zewnętrzne x 14

15 PRZYKŁAD c.d. Na tej podstawie możemy określić strukturę, czyli schemat blokowy realizowanego automatu. U = {x1,x2,q1} V = {q2,q3} Modyfikator Adresu MA ROM Rejestr x x Out q 1 00 01 11 10 S1 S2 S4 - S5 S3 15

16 Uzyskane kodowanie trzeba zapisać w rachunku podziałów
PRZYKŁAD c.d. Uzyskane kodowanie trzeba zapisać w rachunku podziałów U = {x1,x2,q1} V = {q2,q3} 10 11 01 00 x1x2 q1 q2 q3 S ? ? S ? ? S ? ? S ? ? S ? ? 00 01 11 10 S1 0 S1 S2 S4 - S2 0 S5 S4 0 S3 1 S3 S5 1 - 3 2 1 5 4 - 8 7 - 6 16 15 14 13 12 11 10 9 P(U)|PF = ((1)(6) ; (2) ; (3,7)(4) ; (5)(8) ; (9,13) ; (10)(14) ; (11)(15) ;(12)(16)) 16

17 PRZYKŁAD c.d. Kodowanie wtórne U = {x1,x2,q1} V = {q2,q3} 00 01 11 10
q1 q2 q3 S1 0 S2 0 S4 0 S3 1 S5 1 0 0 0 1 1 0 1 1 2 3 - - - 4 5 6 - 7 8 9 10 11 12 13 14 15 16 17

18 PRZYKŁAD c.d. G 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)) 10 11 01 00 G x1x2 8 7 - 6 16 15 14 13 12 11 10 9 5 4 3 2 1 3 1, 2, 6, 7, 8 4, 5, 13, 14, 15, 16 9, 10, 11, 12 Przyjmujemy: W = {x1} 18

19 Synteza układów logicznych
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)) Uwaga: jest to inne rozwiązanie niż w książce Synteza układów logicznych ale oba rozwiązania są dobre 19

20 PRZYKŁAD c.d. – tablica funkcji G
1 x1 q2 q3 g q1q2q3 S S S S S 8 7 - 6 16 15 14 13 12 11 10 9 5 4 3 2 1 01 00 x1x2 1 20

21 PRZYKŁAD c.d. x1 q2 q3 g x1 x2 q1 G REJESTR H q1 q2 q3 21

22 PRZYKŁAD c.d. – tablica funkcji H
q1 q2 q3 S S S S S 8 7 - 6 16 15 14 13 12 11 10 9 5 4 3 2 1 01 00 I1 I2 I3 I4 S1 S2 S4 - S5 S3 x1x2 P(U) = (1,6 ; 2 ; 3,4,7 ; 5,8 ; 9,13 ; 10,14 ; 11,15 ; 12,16) P(U)  G = (1; 6; 2; 3,7; 4; 5; 8; 9; 13; 10; 14; 11; 15; 12; 16) 22

23 PRZYKŁAD c.d. – tablica funkcji H
q1 q2 q3 S S S S S 8 7 - 6 16 15 14 13 12 11 10 9 5 4 3 2 1 01 00 x1x2 I1 I2 I3 I4 S1 S2 S4 - S5 S3 P(U)  G = (1; 6; 2; 3,7; 4; 5; 8; 9; 13; 10; 14; 11; 15; 12; 16) x1 x2 q1 g 1 S1 1 S2 6 1 S2 2 1 3,7 S4 23

24 Tablica H określa zawartość pamięci ROM
PRZYKŁAD c.d. x1 q2 q3 g x1 x2 q1 G REJESTR ROM Tablica H określa zawartość pamięci ROM q1 q2 q3 24

25 PRZYKŁAD - ten sam automat…
…ale w innej strukturze UMA ROM Rejestr x x Out q 1 3 2 U = {q1,q2} V = {q3, x1,x2 } I1 I2 I3 I4 S1 S1 S2 S4 - S2 - - S5 S4 Teraz są dwa wyjścia z UMA S3 S3 S2 S1 S3 S4 S2 - S4 S1 S5 S3 S1 S4 S2 25

26 PRZYKŁAD c.d. - wyznaczenie P(U)
U = {q1,q2} V = {q3, x1,x2 } Kodowanie wstępne x1x2 q1 q2 q3 S ? S ? S ? S ? S ? 00 01 11 10 I1 I2 I3 I4 S1 S1 S2 S4 - - 3 2 1 S2 - - S5 S4 5 4 - 9 8 7 6 S3 S3 S2 S1 S3 16 15 14 13 12 11 - 10 S4 S2 - S4 S1 S5 S3 S1 S4 S2 P(U) = P(U)|PF= 26

27 PRZYKŁAD c.d. - wyznaczenie P(V)
U = {q1,q2} V = {q3, x1,x2 } Kodowanie wtórne x1x2 q1 q2 q3 S S S S S 00 00 01 11 10 - 3 2 1 5 4 - 9 8 7 6 16 15 14 13 12 11 - 10 27

28 PRZYKŁAD c.d. – obliczenie G
9 8 7 6 16 15 14 13 12 11 - 10 5 4 3 2 1 01 00 x1x2 q1q2q3 000 001 010 101 111 P(U)|PF= 00 01 10 11 G (1) (3,5) (2) (4) 28

29 PRZYKŁAD c.d. – tablice dla UMA i ROM
x1 x2 q3 q1 q2 G g1 g2 REJESTR H q1 q2 q3 29

30 PRZYKŁAD c.d. – tablice dla UMA i ROM
9 8 7 6 16 15 14 13 12 11 - 10 5 4 3 2 1 01 00 x1x2 1 g1 x1 q3 g2 x2 q1q2q3 000 001 010 101 111 00 01 10 11 G 30

31 PRZYKŁAD c.d. – tablice dla UMA i ROM
9 8 7 6 16 15 14 13 12 11 - 10 5 4 3 2 1 01 00 x1x2 S2 S4 S1 S3 - S5 I4 I3 I2 I1 q1q2q3 1 g2 q2 q1 q1 q2 q3 g1 0 0 0 1 0 1 0 0 1 000 001 010 101 111 ( P(U) = 00 01 10 11 G P(U)  G = 31

32 Jeszcze inna struktura (najlepsza)
U = {q1,q2, x1 } V = {q3, x2 } x1x2 q1 q2 q3 S S S S S 00 01 11 10 I1 I2 I3 I4 S1 S1 S2 S4 - - 3 2 1 S2 - - S5 S4 5 4 - 9 8 7 6 S3 S3 S2 S1 S3 16 15 14 13 12 11 - 10 S4 S2 - S4 S1 S5 S3 S1 S4 S2 P(U) = (1,2 ; 3,4,5 ; 6,7 ; 8,9 ; ... 32

33 PRZYKŁADOWE BENCHMARKI
TEST Wejścia Wyjścia Stany d14 3 5 7 cse 16 ex4 6 9 14 mark1 15 s1 8 20 tbk 32 sse 33

34 Implementacja automatu w układzie EPF 10K10
3 x EAB (2048 bitów) 576 Komórek logicznych Implementation not possible – not enough memory recourses Implementation not possible – not enough CLB recourses 34

35 ODWZOROWANIE UKŁADU TBK
tbk: bitów lub 759 komórek log. tbk: 4093 bitów oraz 333 komórek log. Przed dekompozycją Po dekompozycji 35


Pobierz ppt "Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM"

Podobne prezentacje


Reklamy Google