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

0

1

0

1

0

1

0

1

0

1

0

1

0

1

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Mikrooperac
je 

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 (coraz rzadziej stosowany) 
         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

Wejście

Wyjście

0  liczby  99

(00011011)

BIN

(0010 
0111)

BCD

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

background image

I

T
P

W

ZPT

8

Opis strukturalny

R3

R2

R1

K

S3

S2

S1

A

B

8

4

4

4

„3”

„5”

 5

LK

4

„8”

LOAD1
DEC

LK = 0

R4

LOAD2

8

Y = LD

UO

LB

Y

LK = 0

10

US

S

 5

MUX

1

0

MUX

4

A

B

4

LB

background image

I

T
P

W

ZPT

9

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

10

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

11

Tablica p-w automatu sterującego  

x

2

x

1

x

0

S

00
0

00
1

01
1

01
0

11
0

11
1

10
1

10
0

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

12

Opis strukturalny

R3

R2

R1

K

S3

S2

S1

A

B

8

4

4

4

„3”

„5”

 5

LK

4

„8”

LOAD1
DEC

LK = 0

R4

LOAD2

8

Y = LD

UO

LB

Y

LK = 0

10

US

S

 5

MUX

1

0

MUX

4

A

B

4

LB

Zrealizowany automat 
jest Układem 
Sterującym

background image

I

T
P

W

ZPT

13

Co dalej ... 

AHDL  lub VHDL

…dalej automatycznie

…aż do zaprogramowania 

background image

I

T
P

W

ZPT

14

 

IN

CLK

CK

IN

LB[7..0]

STOP]

OUT

CLOK

L[3..0]

OUT

OUT

LOAD

START

LOAD

LOAD

LOAD

CLK

DA[3..0]

LOAD

STOP

DB[3..0]

RB[7..0]

LD[7..0]

CK

STOP

CK

CK

QDB[3..0]

QDA[3..0]

r3_v

Us_v

r2_v

r1_v

r4_v

Lk_v

LB[7..0]

CK

CLK

START

CLOK

STOP

LD[7..0]

INPUT

INPUT

INPUT

INPUT

OUTPUT

OUTPUT

OUTPUT

Najstarszy inżynier…

Najstarszy inżynier…

 

 

uzyskaną strukturę bezpośrednio zapisuje  w 
języku opisu sprzętu i kompiluje

background image

I

T
P

W

ZPT

15

SUBDESIGN bin2bcd
(

lb[7..0], start, zegar

: INPUT;

ld[7..0], koniec

: OUTPUT;

)
VARIABLE

lda[3..0], ldb[3..0]

: DFF;

lb_r[7..0], lk[3..0]

: DFF;

ld[7..0], koniec

: DFF;

BEGIN

(lda[], ldb[], lb_r[], lk[]).clk = zegar;
(ld[], koniec).clk = zegar;
IF start THEN

lb_r[] = lb[];
lk[] = 8;

ELSE

IF lk[] > 0 THEN

IF ldb[] >= 5 THEN

lda[] = (lda[2..0], B"1"); -- bit lb[3] 

= 1

ldb[] = (ldb[2..0] + 3, lb_r[7]);

ELSE

lda[] = (lda[2..0], B"0"); -- bit lb[3] 

= 0

ldb[] = (ldb[2..0], lb_r[7]);

END IF;
lb_r[] = (lb_r[6..0], B"0"); -- przesun w lewo
lk[] = lk[] - 1; -- zmniejsz lk

ELSE

lda[] = lda[];
ldb[] = ldb[];
ld[] = (lda[], ldb[]);
koniec = B"1";

END IF;

END IF;

END;

Młodszy inżynier opisuje działanie 

układu behawioralnie (np. w języku 

AHDL)

background image

I

T
P

W

ZPT

A najmłodszy .. ma pełną 

świadomość, że

FP

GA

Specyfikacja HDL

Synteza 

funkcjonalna

Synteza logiczna

Odwzorowanie 

technologiczne

Specjalistyczne 

oprogramowanie

akademickie

metody syntezy 

logicznej są 

niedoskonałe

background image

I

T
P

W

ZPT

0  00000000  0000 0000
1  00000001  0000 0001
2  00000010  0000 0010
3  00000011  0000 0011
4  00000100  0000 0100
5  00000101  0000 0101
6  00000110  0000 0110
7  00000111  0000 0111
8  00001000  0000 1000

* * * *
97 01100001  1001 0111
98 01100010  1001 1000
99 01100011  1001 1001

BIN/BCD

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

Wejścia Wyjścia

0

1

1

0

0

0

0

0

1

1

0

0

0

0

1

1

1

0

0

1

0

1

1

1

0

0

1

0

1

1

1

1

Konwerter Bin2BCD na poziomie 

Konwerter Bin2BCD na poziomie 

logicznym

logicznym

QUARTUS  29 

komórek

…ale czy zastosujemy do tych 

obliczeń system komercyjny

..nie, bo systemy komercyjne 

nie mają wbudowanych 

procedur dekompozycji

background image

I

T
P

W

ZPT

18

A jak sobie poradzą z 

tym konwerterem 

najnowsze algorytmy 

dekompozycji

background image

I

T
P

W

ZPT

19

Bin2bcd realizowany metodą 

dekompozycji

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

Np.. 
DEMAIN

 13 komórek 

(!!!)

background image

I

T
P

W

ZPT

Porównanie realizacji BIN2BCD

Najstarszy inżynier: synteza  strukturalna – 72 LEs 

Młodszy: synteza behawioralna – 41 LEs

Najmłodszy: synteza logiczna:

system komercyjny Quartus  – 29 LEs

system specjalizowany – 13 LEs 

background image

I

T
P

W

ZPT

21

Cały projekt konwertera 
kodu binarnego na kod 
BCD 
jest dokładnie omówiony 

w książce:

Inny przykład syntezy 
strukturalnej jest 
omówiony w książce 
(
przykład 5.4 rozdz. 5):

Warto przeczytać przed 
LAB!

Errata do książki SUC na 
www.zpt.tele.pw.edu.pl 


Document Outline