Realizacja rejestru w układzie FPGA

Transkrypt

Realizacja rejestru w układzie FPGA
Systemy wbudowane - laboratoria
Realizacja rejestru w układzie FPGA
Mariusz Nowak
Realizacja rejestru w układzie FPGA (1)
1
Systemy wbudowane - laboratoria
Realizacja rejestru w układzie FPGA
Wykorzystując uniwersalny system uruchomieniowy
NanoBoard NB1 należy zaimplementować w układzie
FPGA dwukierunkowy rejestr przesuwny
Realizacja rejestru w układzie FPGA (2)
Ćwiczenie
należy
zrealizować
wykorzystując
uniwersalny
uruchomieniowy NanoBoard NB1 oraz aplikację Altium Designer.
system
2
Systemy wbudowane - laboratoria
Rejestr przesuwający 74194
Podstawowe funkcje rejestru:
- wprowadzanie równoległe,
- przesuwanie w prawo,
- przesuwanie w lewo,
- blokada zegara.
Realizacja rejestru w układzie FPGA (3)
Rejestr jest układem, który służy do przechowywania informacji cyfrowej.
Podstawowym elementem rejestru jest przerzutnik, który umożliwia
zapamiętanie jednego bitu informacji cyfrowej.
Rejestr 74194 posiada równoległe wejścia i wyjścia, szeregowe wejścia dla
przesuwu w prawo i w lewo, wejścia rodzaju pracy oraz asynchroniczne i
niezależne od innych wejść oraz wejście zerowania.
3
Systemy wbudowane - laboratoria
Topologia wyprowadzeń rejestru 74194
SLSI
SRSI
A
B
C
D
S0
S1
CLRN
CLK
QA
QB
QC
QD
Realizacja rejestru w układzie FPGA (4)
Na slajdzie została przedstawiona topologia wyprowadzeń układu 74194.
Wprowadzanie równoległe jest realizowane synchronicznie z narastaniem zbocza
impulsu zegarowego przez podanie czterech bitów danych na wejścia równoległe
oraz ustawienie wejść rodzaju pracy S0 i S1 w stan wysoki. W czasie
wprowadzania równoległego wejścia szeregowe SR i SL są zablokowane.
Przesuwanie w prawo jest realizowane w momencie, gdy S0 jest w stanie
wysokim, a wejście S1 jest w stanie niskim. Dane są wprowadzane wejściem SR.
W trakcie przesuwania w prawo wejścia równoległe danych są zablokowane.
Przesuwanie w lewo jest realizowane, gdy S0 jest w stanie niskim, a wejście S1
w stanie wysokim. Dane są wprowadzane wejściem SL. W czasie przesuwania w
lewo wejścia równoległe są zablokowane. Blokada wejścia zegarowego
występuje gdy S0 i S1 sa w stanie niskim. Zmiany na wejściach trybu pracy S0 i
S1 powinny występować w momencie, gdy na wejściu zegarowym podany jest
stan wysoki.
4
Systemy wbudowane - laboratoria
Rejestr 74194 – tabela stanów
Wejścia
CLRN
Rodzaj
pracy
S1
S2
L
X
X
H
X
H
Wyjścia
Szeregowe
CLK
Równoległe
QA
QB
QC
QD
Funkcja
SLSI
SRSI
A
B
C
D
X
X
X
X
X
X
X
L
L
L
L
Z
X
L
X
X
X
X
X
X
QA0
QB0
QC0
QD0
-
H
H
∫
X
X
a
b
c
d
a
b
c
d
WR
H
L
H
∫
X
H
X
X
X
X
H
QAn
QBn
QCn
H
L
H
∫
X
L
X
X
X
X
L
QAn
QBn
QCn
H
H
L
∫
H
X
X
X
X
X
QBn
QCn
QDn
H
H
H
L
∫
L
X
X
X
X
X
QBn
QCn
QDn
L
H
L
L
X
X
X
X
X
X
X
QA0
QB0
QC0
QD0
PP
PL
B
Realizacja rejestru w układzie FPGA (5)
Na slajdzie została przedstawiona tabela stanów rejestru przesuwającego.
H – stan wysoki
L – stan niski
X – stan dowolny
∫ - zmiana stanu z niskiego na wysoki
QA0, QB0, QC0, QD0 – wartości odpowiednio QA, QB, QC, QD, które istniały przed
ustaleniem warunków podanych na wejściach
AAn, QBn, QCn, QDn – wartości odpowiednio QA, QB, QC, QD, które były ustalone
na wyjściach przerzutników przed ostatnią zmianą na wejściu zegarowym ze
stanu niskiego na wysoki
a, b, c, d – wartości ustalone odpowiednio na wejściach A, B, C, D.
Z – zerowanie
WR – wprowadzanie równoległe
PP – przesuwanie w prawo
PL – przesuwanie w lewo
B - blokada
5