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