Modelowanie logiki rewersyjnej w języku VHDL

Podobne dokumenty
TRANSCOMP XV INTERNATIONAL CONFERENCE COMPUTER SYSTEMS AIDED SCIENCE, INDUSTRY AND TRANSPORT ALGORYTMY SYMULACJI UKŁADÓW CYFROWYCH

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Krótkie wprowadzenie do ModelSim i Quartus2

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński

Języki opisu sprzętu VHDL Mariusz Rawski

Technika cyfrowa projekt: Sumator 4 bitowy równoległy

Specyfika projektowania Mariusz Rawski

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File

Przykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3.

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Sposoby projektowania systemów w cyfrowych

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

Modelowanie złożonych układów cyfrowych (1)

Wyświetlacz siedmiosegmentowy

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Sterowniki Programowalne (SP)

Programowalne układy logiczne

Projekt prostego procesora

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

Arytmetyka liczb binarnych

Ćwiczenie 1 Program Electronics Workbench

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Układy kombinacyjne 1

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Układy reprogramowalne i SoC Język VHDL (część 4)

PROJEKTOWANIE UKŁADÓW CYFROWYCH Z WYKORZYSTANIEM PAKIETU MULTISIM 2001 ORAZ JĘZYKA OPISU SPRZĘTU VHDL

dr inż. Andrzej Skorupski Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

Projektowanie Urządzeń Cyfrowych

Projektowanie układów na schemacie

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS

Tranzystor JFET i MOSFET zas. działania

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.

Automatyzacja i robotyzacja procesów produkcyjnych

WSTĘP. Budowa bramki NAND TTL, ch-ka przełączania, schemat wewnętrzny, działanie 2

Programowanie Niskopoziomowe

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Zastosowanie sterownika PLC w modelowaniu i symulacji prostych układów automatyki

Projektowanie hierarchiczne Mariusz Rawski

OPTYMALIZACJA MODELI SYMULACYJNYCH ZAMODELOWANYCH W JĘZYKU VERILOG HDL Z WYKORZYSTANIEM INTERFEJSU PLI

Realizacja bezpiecznego programowalnego sterownika logicznego z wykorzystaniem języków HDL

1. Synteza układów opisanych w języku VHDL Xilinx ISE Design Suite 10.1 VHDL 2. Obsługa przetwornika CA Project Add source...

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Technika cyfrowa Synteza układów kombinacyjnych

Automatyka Treść wykładów: Literatura. Wstęp. Sygnał analogowy a cyfrowy. Bieżące wiadomości:

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

Programowalne układy logiczne

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Systemy Czasu Rzeczywistego FPGA

Układy reprogramowalne i SoC Implementacja w układach FPGA

Bezpieczeństwo informacji oparte o kryptografię kwantową

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Kodery, dekodery, transkodery Synteza sprzętu przy pomocy VHDL

Elementy cyfrowe i układy logiczne

PROGRAMOWALNE STEROWNIKI LOGICZNE

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 3 AUTOMATYKA

sterownik VCR v 1. 0

1 Wstęp. 2 Proste przykłady. 3 Podstawowe elementy leksykalne i typy danych. 6 Opis strukturalny. 7 Moduł testowy (testbench)

Układy cyfrowe. Najczęściej układy cyfrowe służą do przetwarzania sygnałów o dwóch poziomach napięć:

Podstawy Informatyki Elementarne podzespoły komputera

Podstawowe wiadomości

Quartus. Rafał Walkowiak IIn PP Wer

Technika cyfrowa Synteza układów kombinacyjnych (I)

Przerzutniki prądowe dla logiki wielowartościowej i arytmetyki resztowej

Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Część 2. Funkcje logiczne układy kombinacyjne

Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI

Szybkie prototypowanie w projektowaniu mechatronicznym

Implementacja algorytmu szyfrującego

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Państwowa Wyższa Szkoła Zawodowa

Przetworniki cyfrowo-analogowe C-A CELE ĆWICZEŃ PODSTAWY TEORETYCZNE

Systemy Czasu Rzeczywistego FPGA

Quartus. Rafał Walkowiak IIn PP Listopad 2017

VHDL. Behawioralny Strukturalny Czasowy. Poziom RTL

Rys. 2. Symbole dodatkowych bramek logicznych i ich tablice stanów.

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Bramki logiczne V MAX V MIN

Obliczenia inspirowane Naturą

Systemy Czasu Rzeczywistego FPGA

LABORATORIUM OPTOELEKTRONIKA I SENSORYKA Oprogramowanie bariery podczerwieni w układzie CPLD

z ćwiczenia nr Temat ćwiczenia: BADANIE UKŁADÓW FUNKCJI LOGICZNYCH (SYMULACJA)

Analiza i Synteza Układów Cyfrowych

CYFROWE UKŁADY SCALONE STOSOWANE W AUTOMATYCE

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

bity kwantowe zastosowania stanów splątanych

Transkrypt:

PNIEWSKI Roman 1 Modelowanie logiki rewersyjnej w języku VHDL WSTĘP Konwencjonalne komputery wykorzystują dwuwartościową logikę Boole a. Funkcje opisujące układ cyfrowy wykorzystują najczęściej dwa operatory AND i OR. Te dwie operacje, posiadają kilka bitów wejściowych i jeden wyjściowy, co powoduje zmniejszenie informacji na wyjściu. Gdy układ ma mniej dostępnych stanów, to jego entropia staje się mniejszą. Ponieważ druga zasada termodynamiki zabrania zmniejszenie entropii w zamkniętym układzie, to zmniejszenie entropii w jednym miejscu musi być skompensowane generacją entropii w innym miejscu. Generowana entropia wskutek skasowania bitu informacji wynosi: S kbt ln 2 A zatem komputery pracujące na podstawie algebry Boole a są zawsze urządzeniami rozpraszającymi energię nie mniejszą niż: k B T ln 2 Ta generacja ciepła w ciągu procesu obliczeniowego stanowi ograniczenie na możliwą szybkość komputera ze względu na ilość generowanego ciepła. Fredkin i Toffoli udowodnili, że rewersyjne logiczne bramki mogą tworzyć podstawę dla komputera uniwersalnego. Kolejną zaletą (oprócz mniejszej mocy rozpraszanej) bramek rewersyjnych jest możliwość konstruowania z nich układów samotestujących i układów odpornych na uszkodzenia. 1. BRAMKI REWERSYJNE I ICH MODELE Bramki rewersyjne, wykorzystywane w syntezie układów cyfrowych, a szczególności przy przetwarzaniu kwantowym charakteryzują się odwracalnością logiczną tzn. połączenie szeregowe dwóch identycznych bramek generuje sygnał wyjściowy równoważny wejściowemu. Muszą więc spełniać dwa warunki: liczba wyjść jest równa liczbie wejść, funkcja przenoszenia jest różnowartościowa, tzn. różnym wektorom wejściowym odpowiadają inne wartości wyjściowe W syntezie systemów cyfrowych najczęściej stosowane są bramki: Feynmana Toffoli ego Freedkina 1.1. Bramka Feynmana Bramka Feynmana należy do bramek dwu-kubitowych. Symbol bramki przedstawiono na rys.1, tabela tab.1 pokazuje funkcję przejścia bramki, Poniżej zamieszczono opis bramki w języku VHDL 1 Uniwersytet Technologiczno-Humanistyczny im. Kazimierza Pułaskiego w Radomiu, Wydział Transportu i Elektrotechniki; 26-600 Radom; ul. Malczewskiego 29. Tel: + 48 48 361-77-28, Fax: + 48 48 361-77-42, r.pniewski@uthrad.pl 3982

Rys.1 Bramka Feynmana Tab.1. Funkcja przejść bramki Feynmana WEJŚCIA WYJŚCIA A B P Q 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 0 Library ieee; Use ieee std_logic.1164..all; Entity feynmang is Port(A, B: in std_logic; P, Q: out std_logic); end feynmang; architecture ckt of feynmang is begin P<= A; Q<= A xor B; End ckt; 1.2. Bramka Toffoli ego Bramka Toffoliego to trzy-kubitowa bramka kwantowa zwana jako podwójnie sterowaną negacją.. Symbol bramki pokazano na rys.2. Tabela tab.2. przedstawia funkcję przejściową bramki. Rys.2. Symbol bramki Toffoli ego Tab.2. Funkcja przejść bramki Toffoli ego WEJŚCIA WYJŚCIA A B C P Q R 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 3983

Library ieee; Use ieee std_logic.1164..all; Entity toffolig is Port(A, B, C : in std_logic; P, Q, R : out std_logic); end toffolig; architecture ckt of toffolig is signal s1 : std_logic; begin P<= A; Q<= B; S1<=A and B; R<= S1 xor C; End ckt; 1.3. Bramka Fredkina W odróżnieniu od bramki Torffoli, która ma dwa kontrolne bity i jeden celowy bit, bramka Fredkina ma jeden kontrolny kubit i dwa bity celowe. Celowe bity wymieniają się jeżeli kontrolny bit jest równy 1, w przeciwnym wypadku one pozostają bez zmian. W tablicy Tab.3. pokazano funkcję przejściową bramki, a na rys.3 jej symbol graficzny. Rys.3. Bramka Fredkina Tab.3. Funkcja przejść bramki Fredkina WEJŚCIA Library ieee; Use ieee std_logic.1164..all; Entity fredking is Port(A, B, C : in std_logic; P, Q, R : out std_logic); end fredking; architecture ckt of fredking is signal Abar, S1, S2, S3, S4 : std_logic; WYJŚCIA A B C P Q R 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 1 3984

begin P<= A; Abar<= not A; S1<=Abar and B; S2<= A and C; Q<= S1 xor S2; S3<= Abar and C; S4<= A and B; R<= S3 xor S4; End ckt; 2. SYMULACJA W PROGRAMIE QUCS Program QUCS (Quite Universal Circuit Simulator) jest darmowym symulatorem układów elektronicznych. Pierwsza wersja programu była przeznaczona dla systemu Linux. Aktualne wersje programu pracują w systemach operacyjnych Linux i Windows. Oprogramowanie jest w pełni darmowe, dostępne są kody źródłowe programu, co umożliwia jego modyfikację. Program umożliwia symulację układów analogowych i cyfrowych. Do symulacji analogowej wykorzystano algorytm SPICE, natomiast symulacja cyfrowa układów przebiega wieloetapowo. Na podstawie schematu ideowego program generuje listę połączeń i zapisuje w pliku netlist.txt. Lista zapisana jest w języku VHDL (VHSIC Hardware Description Language). Następnie dokonywana jest konwersja na język C (przy wykorzystaniu środowiska FreHDL). Do kompilacji otrzymanego kodu źródłowego zastosowano kompilator Mingw. Procesem symulacji w QUCS steruje plik wsadowy qucsdigi.bat. Modyfikacja tego pliku pozwala na dowolne sterowanie procesem symulacji. Dzięki takiemu rozwiązaniu jest możliwe dołączenie do symulatora własnych programów działających wsadowo. Program QUCS (Quite Universal Circuit Simulator) jest darmowym symulatorem układów elektronicznych. Pierwsza wersja programu była przeznaczona dla systemu Linux. Aktualne wersje programu pracują w systemach operacyjnych Linux i Windows. Oprogramowanie jest w pełni darmowe, dostępne są kody źródłowe programu, co umożliwia jego modyfikację. Program umożliwia symulację układów analogowych i cyfrowych. Do symulacji analogowej wykorzystano algorytm SPICE, natomiast symulacja cyfrowa układów przebiega wieloetapowo. Na podstawie schematu ideowego program generuje listę połączeń i zapisuje w pliku netlist.txt. Lista zapisana jest w języku VHDL (VHSIC Hardware Description Language). Następnie dokonywana jest konwersja na język C (przy wykorzystaniu środowiska FreHDL). Do kompilacji otrzymanego kodu źródłowego zastosowano kompilator Mingw. Procesem symulacji w QUCS steruje plik wsadowy qucsdigi.bat. Modyfikacja tego pliku pozwala na dowolne sterowanie procesem symulacji. Dzięki takiemu rozwiązaniu jest możliwe dołączenie do symulatora własnych programów działających wsadowo. Program umożliwia włączanie do schematu plików opisujących moduły w językach Verilog i VHDL. Symbol dołączonego pliku tworzony jest automatycznie, na podstawie opisu interfejsu. Na rys.4 pokazano zrzut ekranu z programu z umieszczonymi na schemacie bramkami rewersyjnymi. Rys. 5. przedstawia przykład symulacji bramki xxxx. 3985

Rys.4. Edytor schematów programu QUCS Rys.5. Symulacja bramki Toffoli WNIOSKI Przy syntezie układów cyfrowych jednym z głównych etapów jest symulacyjna weryfikacja poprawności działania układu. Na wielu uczelniach powstało dedykowane oprogramowanie do symulacji układów opartych o logikę rewersyjną. Autorzy proponują wykorzystanie standardowego symulatora do analizy układów rewersyjnych. Zaletą proponowanego rozwiązania jest możliwość 3986

symulacji hybrydowej tzn. jednoczesna symulacja układów logicznych, opartych na algebrze Boole a i układów rewersyjnych. Streszczenie Szybkość systemów cyfrowych (w tym nowoczesnych komputerów) ograniczają zjawiska związane ze stratami energii i wydzielaniem ciepła. Rozwiązaniem alternatywnym jest wykorzystanie logiki rewersyjnej w syntezie systemów cyfrowych. W artykule przedstawiono podstawowe bramki rewersyjne i metody ich modelowania w języku VHDL. Słowa kluczowe: logika rewersyjna, układy cyfrowe, symulacja, język opisu sprzętu VHDL Reversible logic modeling in VHDL Abstract The speed digital systems (including modern computers) limit the phenomena associated with energy losses and heat generation. An alternative is to use a reversible logic synthesis digital systems. The article presents the reversible gates and methods of modeling in VHDL. Keywords: reversible logic, digital circuits, simulation, VHDL BIBLIOGRAFIA 1. Anas N. Al-Rabadi, Reversible logic synthesis. Springer 2004. 2. Gennady P. Berman., Introduction to Quantum Computers. World Scientific 1999. 3. Pniewski R. Metoda oceny bezpieczeństwa cyfrowych systemów automatyki kolejowej. Monografie Wyd. UTH Radom, ISSN 1642-5278. 3987