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



Podobne dokumenty
Modelowanie logiki rewersyjnej w języku VHDL

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

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 212

Ćwiczenie nr 1 Temat: Ćwiczenie wprowadzające w problematykę laboratorium.

Układy logiczne. Wstęp doinformatyki. Funkcje boolowskie (1854) Funkcje boolowskie. Operacje logiczne. Funkcja boolowska (przykład)

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

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

Architektura komputerów Wykład 2

Synteza układów kombinacyjnych

Wykład nr 1 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna.

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

Zadania do wykładu 1, Zapisz liczby binarne w kodzie dziesiętnym: ( ) 2 =( ) 10, ( ) 2 =( ) 10, (101001, 10110) 2 =( ) 10

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

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

Podstawowe układy cyfrowe

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

Wstęp. Przygotowanie teoretyczne

Automatyzacja i robotyzacja procesów produkcyjnych

Państwowa Wyższa Szkoła Zawodowa

PoniŜej zamieszczone są rysunki przedstawiane na wykładach z przedmiotu Peryferia Komputerowe. ELEKTRONICZNE UKŁADY CYFROWE

Laboratorium przedmiotu Technika Cyfrowa

b) bc a Rys. 1. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych.

Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder

Wstęp do Techniki Cyfrowej... Algebra Boole a

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

Tranzystor JFET i MOSFET zas. działania

Sterowniki Programowalne (SP)

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

Spis treści. Przedmowa Wykaz oznaczeń Wstęp Układy kombinacyjne... 18

Technika cyfrowa i mikroprocesorowa. Zaliczenie na ocenę. Zaliczenie na ocenę

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

Bramki logiczne Instrukcja do ćwiczeń laboratoryjnych

TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH

INSTYTUT INFORMATYKI POLITECHNIKI BIAŁOSTOCKIEJ

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

BADANIE UKŁADÓW CYFROWYCH. CEL: Celem ćwiczenia jest poznanie właściwości statycznych układów cyfrowych serii TTL. PRZEBIEG ĆWICZENIA

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

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

dr inż. Małgorzata Langer Architektura komputerów

Podstawy techniki cyfrowej. Układy asynchroniczne Opracował: R.Walkowiak Styczeń 2014

Proste układy sekwencyjne

Laboratorium podstaw elektroniki

Architektura komputerów ćwiczenia Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna.

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

Elementy cyfrowe i układy logiczne

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

Minimalizacja form boolowskich

INFORMATOR LABORATORYJNY. TECHNIKA CYFROWA (studia niestacjonarne)

Cyfrowe Elementy Automatyki. Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem

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

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB

Metody Kompilacji Wykład 1 Wstęp

Ćw. 8 Bramki logiczne

PRZEWODNIK PO PRZEDMIOCIE

Metody integracji systemów sterowania z wykorzystaniem standardu OPC

Dr inż. Jan Chudzikiewicz Pokój 117/65 Tel Materiały:

dwójkę liczącą Licznikiem Podział liczników:

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

Elektronika i techniki mikroprocesorowe

ID1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki stacjonarne

Errata do książki Multisim. Technika cyfrowa w przykładach.

Układy asynchroniczne

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

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

Laboratorium podstaw elektroniki

KARTA PRZEDMIOTU. Podstawy elektroniki cyfrowej B6. Fundamentals of digital electronic

ĆWICZENIE 4 Zapoznanie ze środowiskiem CUPL Realizacja układów kombinacyjnych na układach PLD

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D

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

Krótkie wprowadzenie do ModelSim i Quartus2

Bramki logiczne V MAX V MIN

LABORATORIUM PODSTAW ELEKTRONIKI. Komputerowa symulacja układów różniczkujących

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

ćwiczenie 202 Temat: Układy kombinacyjne 1. Cel ćwiczenia

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

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

Układy asynchroniczne

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

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Komputerowa symulacja bramek w technice TTL i CMOS

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

Układy cyfrowe w technologii CMOS

Komputerowa symulacja bramek w technice TTL i CMOS

Przerzutniki RS i JK-MS lab. 04 Układy sekwencyjne cz. 1

Podstawy Automatyki. Człowiek- najlepsza inwestycja. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Ćwiczenie ZINTEGROWANE SYSTEMY CYFROWE. Pakiet edukacyjny DefSim Personal. Analiza prądowa IDDQ

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Lekcja na Pracowni Podstaw Techniki Komputerowej z wykorzystaniem komputera

Asynchroniczne statyczne układy sekwencyjne

Podstawy elektroniki cz. 2 Wykład 2

Gdynia, dr hab. inż. Krzysztof Górecki, prof. nadzw. AMG Katedra Elektroniki Morskiej Akademia Morska w Gdyni

Instalacja i opis podstawowych funkcji programu Dev-C++

Język opisu sprzętu VHDL

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C

Cyfrowe układy scalone c.d. funkcje

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Transkrypt:

TRANSCOMP XV INTERNATIONAL CONFERENCE COMPUTER SYSTEMS AIDED SCIENCE, INDUSTRY AND TRANSPORT PNIEWSKI Roman 1 KORNASZEWSKI Mieczysław 2 Technika cyfrowa, Zjawiska szkodliwe, Symulacja ALGORYTMY SYMULACJI UKŁADÓW CYFROWYCH Współczesne systemy sterowania z zastosowaniem techniki cyfrowej, ze względu na znaczne zwiększenie stopnia integracji wymagają weryfikacji poprawności układu cyfrowego juŝ na etapie projektu wstępnego. Jest to realizowane przez symulację opisu logicznego układu. W artykule przedstawiono metody symulacji systemów cyfrowych. ALGORITHMS OF THE DIGITAL CIRCUITS SIMULATION Modern control systems using digital techniques, due to the significant increase in the degree of integration require validation of a digital circuit at the stage of preliminary design. This is done by simulating the logical description of the system. The article presents methods for simulation of digital systems. 1. WSTĘP Od współczesnych systemów sterowania cyfrowego wymaga się aby działały niezawodnie. Szczególnie istotne jest bezawaryjne działanie cyfrowych systemów SRK (Sterowanie Ruchem Kolejowym). Systemy te charakteryzują się duŝą redundancją, niezbędną ze względu na wymagane bezpieczeństwo (poprawne działanie lub doprowadzenie do stanu bezpiecznego przy dowolnym uszkodzeniu). Dodatkowo, rozbudowa układów sterowania cyfrowego znacznie utrudnia weryfikację poprawności działania systemów. Opracowanie niezawodnych systemów cyfrowych wymaga weryfikacji poprawności działania układu juŝ we wstępnej fazie projektu, wykorzystuje się do tego celu symulację sieci cyfrowej zamodelowanej z wykorzystaniem algebry Boole a. W artykule omówiono metody symulacji systemów cyfrowych. Na podstawie przedstawionych algorytmów został opracowany program pozwalający na wykrywanie hazardów w układach cyfrowych. 1 Politechnika Radomska, Wydział Transportu i Elektrotechniki; 26-600 Radom; ul. Malczewskiego 29. Tel: + 48 48 361-77-28, Fax: + 48 48 361-77-42, E-mail: r.pniewski@pr.radom.pl 2 Politechnika Radomska, Wydział Transportu i Elektrotechniki; 26-600 Radom; ul. Malczewskiego 29. Tel: + 48 48 361-77-28, Fax: + 48 48 361-77-42, E-mail: m.kornaszewski @pr.radom.pl

3444 Roman PNIEWSKI, Mieczysław KORNASZEWSKI 2. METODY OPISU UKŁADÓW CYFROWYCH Dowolny system cyfrowy moŝna opisać na wiele róŝnych sposobów. Najczęściej stosuje się metody opisu funkcji logicznej w postaci: Tablica prawdy (truth table) Mapa Karnaugh Formy normalne Formy wielomianowe Drzewa i diagramy decyzyjne Reprezentacja sześcienna Tablica prawdy po lewej stronie zawiera wszystkie zmienne, a po prawej rozwiązanie funkcji logicznej. Mapa Karnaugh ma szerokie zastosowanie w minimalizacji funkcji. Operacje na niej dzięki prostym zasadom stają się szybkie a efekty minimalizacji optymalne. Mapa Karnaugh sprawdza się jedynie dla nieduŝej liczby zmiennych, poniewaŝ potrzebujemy 2 do potęgi n kratek. Np. przy 6 i więcej zmiennych tabela staje się zbyt duŝa (1024 kratki). Formy normalne to formy zapisywane za pomocą umownych oznaczeń np.: f = x1 \/ ~(x2)*(x3), gdzie ~ to NOT * to AND. Formy wielomianowe moŝna podzielić na: - Wielomiany Reed-Muller - to wielomiany przedstawione tylko za pomocą operacji AND XOR i NOT. Przy pomocy tych trzech funkcji da się przedstawić kaŝdą funkcję logiczną. - Wielomiany arytmetyczne - to normalne wielomiany (operacje arytmetyczne + i -), które zwracją wynik 0 lub 1 w przypadku, gdy zmienne są 0 lub 1 np. f = x1 + x2-2*x1*x2 to to samo co f = x1 XOR x2 (sprawdź na tabeli prawdy). KaŜdej funkcji logicznej odpowiada wiele wielomianów arytmetycznych i tak samo jednemu wielomianowi arytmetycznemu moŝe odpowiadać wiele funkcji logicznych. Wielomian arytmetyczny uznaje się za lepszy wtedy gdy jego współczynniki są mniejsze oraz gdy jego produkty (składniki tj. np. x1*x2*x3 - produkt 3 zmiennych) są mniejsze. 3. ZJAWISKA SZKODLIWE W UKŁADACH CYFROWYCH W układach cyfrowych mogą wystąpić dwa rodzaje zjawisk szkodliwych, powodujące błędne działanie układu: a) hazardy, b) wyścigi (gonitwy) krytyczne Zjawisko hazardu, objawia się pojawianiem przypadkowych impulsów na wyjściu układu (w stanach przejściowych). Źródłem niepoŝądanego stanu na wyjściu układu są nieidealne właściwości przełączające. WyróŜniamy hazardy statyczne w zerze i w jedynce (rys.1).

ALGORYTMY SYMULACJI UKŁADÓW CYFROWYCH... 3445 Rys.1. Hazard statyczny w 1 i w 0 Wykrycie wyścigów krytycznych, wymaga znajomości wymaganej funkcji realizowanej przez układ cyfrowy, i moŝe być dokonane przy wykorzystaniu dowolnego z algorytmów (występuje inna sekwencja stanów niŝ załoŝona w projekcie). 4. SYMULACJA UKŁADÓW 4.1 Algorytmy symulacji układów cyfrowych Przy weryfikacji systemów cyfrowych, do sprawdzenia prawidłowości działania układu wykorzystuje się symulację komputerową. Algorytm symulacji (zrealizowany w postaci programu) opisuje zachowanie sieci logicznej. Algorytmy symulacji moŝna sklasyfikować następująco: synchroniczna lub asynchroniczna. trójstanowa lub dwustanowa, kompilowana lub interpretacyjna (sterowana tablicowo), Przy symulacji synchronicznej kaŝda operacja zmiany stanu i próbkowania sygnałów z określonych węzłów sieci logicznej jest sterowana przez wewnętrzny zegar symulatora. Wynika z tego, Ŝe w symulacji synchronicznej modelowana jest sieć idealna bez opóźnień. Przy symulacji asynchronicznej wartości sygnałów we wszystkich węzłach są sprawdzane i uaktualniane natychmiast po kaŝdej zmianie stanu. Metoda ta wymaga wielokrotnego sprawdzenia wszystkich sygnałów w sieci logicznej, aŝ do osiągnięcia stanu ustalonego we wszystkich punktach układu (po kaŝdorazowej zmianie sygnału wejściowego). Pomimo złoŝoności obliczeniowej i czasochłonności metoda ta jest powszechnie wykorzystywana w programach CAE poniewaŝ, powyŝej przeciwieństwie do metody synchronicznej, poprzez uwzględnienie czasów propagacji sygnałów przez bramki pozwala na wykrywanie hazardów (nie we wszystkich przypadkach). Oferowane na rynku symulatory (zawarte w systemach CAE) pozwalają na wykrycie hazardu w ściśle określonych warunkach symulacji (czasy propagacji sygnałów przez bramki cyfrowe), nie gwarantują one jednak wykrycia tego zjawiska po zmianie czasów propagacji (np. po zmianie technologii).

3446 Roman PNIEWSKI, Mieczysław KORNASZEWSKI Jedną z metod pozwalających na wykrycie hazardów w układach cyfrowych jest symulacja wykorzystująca logikę trójwartościową (metoda ta choć wykorzystuje symulację synchroniczną pozwala na wykrywanie zjawisk szkodliwych). Symulacja trójwartościowa jest realizowana przez dwukrotny przebieg przez dane. Przy kaŝdej zmianie sygnału wejściowego, przyjmuje się, Ŝe sygnał zmieniając się z 0 na 1 lub z 1 na 0 przechodzi przez stan pośredni X (rys2). Do symulacji wykorzystuje się zmodyfikowane tabele przejść bramek logicznych. W tabeli Tab.1. przedstawiono przykładowe funkcje przejść (trójstanowe) dla dwuwejściowych bramek NAND I NOR. Rys.2. Przebieg sygnału w symulacji dwuwartościowej i trójwartościowej Tab.1. Trójwartościowa tabela przejść bramek NAND I NOR WEJŚCIA NAND NOR 00 1 0 0X 1 X 01 1 1 X0 1 X XX X X X1 X 1 10 1 1 1X X 1 11 0 1 Ostatni z podziałów, na metody kompilowane i interpretacyjne odnosi się do technicznej strony realizacji procesu symulacji. W metodzie interpretacyjnej kod programu symulującego sieć logiczną nie zmienia się po zmianie konfiguracji układu. Dane o układzie przedstawione są w postaci powiązanych struktur, które są przeglądane i analizowane przez program symulacyjny. W metodach kompilacyjnych struktura powiązań w sieci logicznej jest zamieniana na równowaŝny opis w określonym języku programowania (np. C). Kod uzyskany po skompilowaniu pozwala na znaczne przyspieszenie obliczeń związanych z symulacją systemu. Metoda ta jest szczególnie korzystna przy złoŝonych sieciach logicznych, poniewaŝ czas zuŝyty na kompilację projektu moŝe być wielokrotnie mniejszy od zysku czasowego w procesie symulacji (skompilowany program wykonuje się kilkadziesiąt razy szybciej od interpretowanego). Większość programów symulacyjnych wykorzystuje model interpretowany, sterowany tablicowo (tak przynajmniej wynika z opisów i prezentowanych ograniczeń w symulacji

ALGORYTMY SYMULACJI UKŁADÓW CYFROWYCH... 3447 działania układów). Jednym z programów (znanych autorom), który wykorzystuje metodę kompilacyjną jest QUCS (Quite Universal Circuit Symulator). QUCS to darmowy program (dla systemu Linux - powstała równieŝ wersja dla Windows) przeznaczony do symulacji układów elektronicznych. Do symulacji układów analogowych wykorzystano biblioteki SPICE, natomiast symulacja układów cyfrowych odbywa się przez konwersję opisu układu do języka C i wykorzystanie zewnętrznego kompilatora. 4.1 Oprogramowanie do symulacji układów Przy opracowaniu oprogramowania do symulacji, autorzy wykorzystali kody źródłowe programu MultimediaLogic. MultimediaLogic to bezpłatny program do projektowania i symulacji działania układów cyfrowych. Pod adresem http://www.softronix.com/ znajdują się pliki instalacyjne oraz kod źródłowy programu. Kod źródłowy programu został zmodyfikowany dla potrzeb symulacji trójwartościowej. PoniŜej pokazano przykład procedur przeznaczonych do wyznaczania odpowiedzi 2- wejściowych bramek NAND i NOR odpowiadające tabeli 1 (wartości logiczne uwzględniane w systemie:0,1 i -1 reprezentujące stan przejściowy): //funkcja NAND char nand(char we1,char we2) { if(we1==0) return(1); if(we2==0) return(1); if((we2==1) & (we1==1) return(0); return(-1); } //funkcja NOR char nor(char we1,char we2) { if(we1==1) return(0); if(we2==1) return(0); if((we2==0) & (we1==0) return(1); return(-1); } Oprogramowanie firmy Sofrtronix zostało napisane z wykorzystaniem pakietu VisualC. W programie wykorzystano algorytm symulacji synchronicznej. Dostosowanie do potrzeb symulacji trójwartościowej polegało na zmianie modeli układów cyfrowych i dwukrotnym wywołaniu procesu symulacji. Główne okno aplikacji MultimediaLogic zostało przedstawione na rysunku 3.

3448 Roman PNIEWSKI, Mieczysław KORNASZEWSKI Rys. 3. Okno główne programu MultimediaLogic. 5. WNIOSKI Przedstawione w artykule metody symulacji układów cyfrowych pozwalają na wykrycie błędów juŝ w trakcie opracowania projektu. Wyeliminowanie błędów w tej fazie projektu znacznie zmniejsza koszty wdroŝenia systemu. Szczególnie symulacja behawioralna wstępnego projektu (na etapie opracowania specyfikacji) pozwala na znaczne ograniczenie kosztów i przyspiesza proces projektowania. 6. BIBLIOGRAFIA [1] Kalisz J.: Podstawy elektroniki cyfrowej, WKiŁ 2008. [2] Łuba T., Zbierzchowski B.: Komputerowe projektowanie układów cyfrowych, WKiŁ 2005. [3] Majewski W., Albicki A.: Algebraiczna teoria automatów, WNT 1980 [4] Pniewski R., StrzyŜakowski Z.: Wykrywanie zjawisk szkodliwych w systemach cyfrowych. Materiały konferencyjne PTSK Kazimierz Dolny 2007 [5] http://www.softronix.com/ - strona programu MultimediaLogic