ulog w9b

background image

1

I

T
P

W

ZPT

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

2

I

T
P

W

ZPT

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

3

I

T
P

W

ZPT

Przykład syntezy strukturalnej

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

0100 1000 1001

Konwerter kodu binarnego na kod

BCD

1)

:

1)

Przykład ten dokładnie omówiony jest w
książce:

background image

4

I

T
P

W

ZPT

Konwerter Bin2BCD

BIN/BCD

Wejście

Wyjście

0  liczby  99

(00011011)

BIN

(00100111)

BCD

background image

5

I

T
P

W

ZPT

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

6

I

T
P

W

ZPT

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

7

I

T
P

W

ZPT

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

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

8

I

T
P

W

ZPT

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

9

I

T
P

W

ZPT

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

background image

10

I

T
P

W

ZPT

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

background image

11

I

T
P

W

ZPT

Automat sterujący

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

background image

12

I

T
P

W

ZPT

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

Konwerter Bin2BCD

Konwerter Bin2BCD w systemie

Altery

background image

13

I

T
P

W

ZPT

Realizacja wg języka VHDL

** DEVICE SUMMARY **
Chip/ Input Output Bidir Memory Memory

LCs

POF Device Pins Pins Pins Bits % Utilized LCs % Utilized
bin2bcd EPF10K20RC240-3 10 9 0 0 0 % 72 6 %
User Pins: 10 9 0

background image

14

I

T
P

W

ZPT

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;

Bin2BCD – specyfikacja behawioralna w

języku AHDL

background image

15

I

T
P

W

ZPT

Opis behawioralny (AHDL)

background image

16

I

T
P

W

ZPT

Opis behawioralny (AHDL)

** DEVICE SUMMARY **
Chip/ Input Output Bidir Memory Memory

LCs

POF Device Pins Pins Pins Bits % Utilized LCs % Utilized
bin2bcd EPF10K20RC240-3 10 9 0 0 0 % 41 3 %
User Pins: 10 9 0

Wynik otrzymujemy po 8 taktach zegara

więc jedna liczba konwertowana jest w

około 127 ns,

czyli szybkość konwersji wynosi 7,8 mln

liczb na sekundę

background image

17

I

T
P

W

ZPT

Opis behawioralny

background image

18

I

T
P

W

ZPT

Opis behawioralny

LDA

LDB

LB

0000

0000

00011011

0000

0000

00110110

0000

0000

01101100

0000

0000

11011000

0000

0001

10110000

0000

0011

01100000

0000

0110

11000000

+

0011

0000

1001

0001

0011

10000000

0010

0111

00000000

background image

19

I

T
P

W

ZPT

Opis behawioralny...

Spisuje się doskonale, ale czy

rzeczywiście jest to zawsze najlepsza

metoda syntezy. Są podobno

doskonałe procedury syntezy

logicznej, np. Espresso

background image

I

T
P

W

ZPT

# 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

TITLE " Converted from PLA file: bin2bcd";
% Converter from PLA to ALtera HDL format %
% Warsaw University of Technology %
% Institute of Telecommunications %
SUBDESIGN bin2bcd-wkl
(

i[6..0] : INPUT;
o[7..0] : OUTPUT;

)
BEGIN
TABLE

(i[6..0]) => (o[7..0]);
B"0000000" => B"00000000";
B"0000001" => B"00000001";
B"0000010" => B"00000010";
B"0000011" => B"00000011";
B"0000100" => B"00000100";
B"0000101" => B"00000101";
........................
B"1011111" => B"10010101";
B"1100000" => B"10010110";
B"1100001" => B"10010111";
B"1100010" => B"10011000";
B"1100011" => B"10011001";

END TABLE;
END;

pla2ahdl

background image

21

I

T
P

W

ZPT

Tablica prawdy – bin2bcd

Chip/ Input Output Bidir Memory Memory

LCs

POF Device Pins Pins Pins Bits % Utilized LCs % Utilized
binbcd99 EP1K10TC100-1 7 8 0 0 0 % 167 28 %
User Pins: 7 8 0

Rozwiązanie bardzo szybkie…
gdyby nie ta ogromna ilość zasobów
potrzebnych do realizacji

background image

22

I

T
P

W

ZPT

A jak sobie poradzi z tym

konwerterem algorytm

dekompozycji

background image

23

I

T
P

W

ZPT

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;

Demain

+

ans2hdl

# 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

background image

24

I

T
P

W

ZPT

o u t _ 1 o u t _ 2

in _ 1

in _ 1

in _ 6

in _ 5

in _ 7

in _ 2

in _ 2

in _ 3

in _ 3

in _ 4

in _ 4

o u t_ 4 o u t _ 5 o u t_ 6 o u t _ 7

o u t_ 3

o u t _ 8

g 1 _ 1

g 2 _ 1

g 1 _ 2

g 2 _ 2

g 1 _ 3

Realizacja Bin2bcd wg Demaina

background image

25

I

T
P

W

ZPT

Bin2bcd wg Demaina i MAX+PLUSII

Chip/ Input Output Bidir Memory Memory

LCs

POF Device Pins Pins Pins Bits % Utilized LCs % Utilized
binbcd99 EP1K10TC100-1 7 8 0 0 0 % 13 2 %
User Pins: 7 8 0

Rozwiązanie jeszcze
lepsze i mało komórek

background image

26

I

T
P

W

ZPT

.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 Bin2BCD na poziomie

Konwerter Bin2BCD na poziomie

logicznym

logicznym

MAX+PLUSII 131komórek

AHDL/VHDL

DEMAIN 13 komórek (!!!)

DEMAIN


Document Outline


Wyszukiwarka

Podobne podstrony:
ulog w4b
ulog w8b T
ulog w2
pul w9b
ulog w6 E
Automatyka ulog w8 id 629066 Nieznany (2)
ulog w4a
ulog demain
ulog w8a T
ulog w8a e
ulog w6b
ulog w7a
ulog w9 e
ulog w1
ulog t pr 06
Zad 03-2, WEiTI - Makro, SEMESTR I, ULOG
ulog t pr 06, Teoria automatów, ŁubaT
ulog w3
W9b Plan reagowania kryzysowego struktura

więcej podobnych podstron