HiCoS akademicki system do projektowania hierarchicznych współbieżnych cyfrowych układów sterowania



Podobne dokumenty
Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

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

ROLA I MIEJSCE JĘZYKA UML W PROJEKTOWANIU STEROWNIKÓW CYFROWYCH

Język opisu sprzętu VHDL

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Katedra Mikroelektroniki i Technik Informatycznych

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

Bezpieczeństwo informacji oparte o kryptografię kwantową

Sposoby projektowania systemów w cyfrowych

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

Specyfika projektowania Mariusz Rawski

Języki opisu sprzętu VHDL Mariusz Rawski

Szybkie prototypowanie w projektowaniu mechatronicznym

Sterowniki Programowalne (SP)

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.

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

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

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

Systemy Czasu Rzeczywistego FPGA

SYNTEZA AUTOMATÓW SKOŃCZONYCH Z WYKORZYSTANIEM METOD KODOWANIA WIELOKROTNEGO

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

Systemy Czasu Rzeczywistego FPGA

Projektowanie hierarchiczne Mariusz Rawski

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Projekt prostego procesora

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

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

Projektowanie automatów z użyciem VHDL

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

Instrukcje sekwencyjne

Język UML w modelowaniu systemów informatycznych

Projektowanie scalonych systemów wbudowanych VERILOG. VERLIOG - historia

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

Elementy kognitywistyki III: Modele i architektury poznawcze

Modelowanie logiki rewersyjnej w języku VHDL

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Laboratorium przedmiotu Technika Cyfrowa

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

PROJEKTOWANIE UKŁADÓW MIKROPROGRAMOWANYCH Z WYKORZYSTANIEM WBUDOWANYCH BLOKÓW PAMIĘCI W MATRYCACH PROGRAMOWALNYCH

ALGORYTM PROJEKTOWANIA ROZMYTYCH SYSTEMÓW EKSPERCKICH TYPU MAMDANI ZADEH OCENIAJĄCYCH EFEKTYWNOŚĆ WYKONANIA ZADANIA BOJOWEGO

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

Systemy Czasu Rzeczywistego FPGA

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

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

UKŁADY MIKROPROGRAMOWALNE

Bezpieczeństwo informacji oparte o kryptografię kwantową

METODA TRANSFORMACJI SPECYFIKACJI BEHAWIORALNEJ UKŁADÓW CYFROWYCH NA SIECI PETRIEGO W SYNTEZIE SYSTEMOWEJ

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...

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

Metodyki i techniki programowania

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

Projektowanie Urządzeń Cyfrowych

PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH,

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH

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

PROJEKTOWANIE STEROWNIKÓW LOGICZNYCH OPISANYCH DIAGRAMAMI MASZYNY STANOWEJ UML LOGIC CONTROLLERS DESIGN FROM UML STATE MACHINE DIAGRAMS

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Programowalne układy logiczne

PROGRAMOWALNE STEROWNIKI LOGICZNE

Sieci Petriego. Sieć Petriego

Architektura komputerów II - opis przedmiotu

Metodyki i techniki programowania

Podstawy programowania strukturalnego (C) SYLABUS A. Informacje ogólne

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

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. Automaty stanów

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Technologie informacyjne - wykład 12 -

miejsca przejścia, łuki i żetony

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

Definicje. Algorytm to:

Projektowanie. Projektowanie mikroprocesorów

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

Elektronika i techniki mikroprocesorowe

ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż. ADAM KOLIŃSKI ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż.

Algorytmy i schematy blokowe

Projektowanie systemów za pomocą języków wysokiego poziomu ESL

LEKCJA TEMAT: Zasada działania komputera.

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

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

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

MODELOWANIE SIECI PETRIEGO Z WYKORZYSTANIEM RELACYJNEJ BAZY DANYCH

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.

Zaliczenie przedmiotu:

Podstawy i języki programowania

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

UML w Visual Studio. Michał Ciećwierz

Podstawy Informatyki Systemy sterowane przepływem argumentów

Quartus. Rafał Walkowiak IIn PP Wer

Wykorzystanie hierarchicznego modelu wspó³bieznego automatu

NIFIED M L ODELLING ANGUAGE. Diagramy czynności

Analiza i Synteza Układów Cyfrowych

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005

Transkrypt:

Grzegorz Łabiak Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski ul. Podgórna 50, 65-246 Zielona Góra HiCoS akademicki system do projektowania hierarchicznych współbieżnych cyfrowych układów sterowania Słowa kluczowe: CAD, statecharty, układy cyfrowe, sterowanie binarne, hierarchia STRESZCZENIE W referacie przedstawiono specjalistyczny program komputerowy HiCoS (ang. Hierarchical Concurrent System), który stanowi praktyczną weryfikację metod i algorytmów zaproponowanych przez autora referatu. Opracowany system jest przeznaczony do projektowania cyfrowych układów sterowania binarnego. Wejściem do systemu CAD jest plik źródłowy (format SSF), który stanowi tekstową reprezentację diagramów statechart. Wyjściem z systemu jest plik w języku VHDL, opisujący układ na poziomie rejestrów i przesłań między-rejestrowych, który może następnie być poddany komputerowej syntezie w strukturach reprogramowalnych. Jako wewnętrzną reprezentację wyrażeń logicznych w pamięci komputera zastosowano diagramy BDD. Całość zilustrowana jest przykładem. Ponadto referat przedstawia możliwe zastosowania sterowników projektowanych opisaną metodą. 1. WPROWADZENIE Niniejszy referat prezentuje autorski system komputerowego wspomagania projektowania układów cyfrowych. Program komputerowy HiCoS (ang. Hierarchical Concurrent System) stanowi praktyczną implementację wyników badań nad efektywnym wykorzystaniem hierarchii w projektowaniu układów cyfrowych. Układami które znalazły się w obszarze zainteresowań autora są cyfrowe układy sterowania binarnego (w skrócie CUSB), czyli układy reagujące na pobudzenia zerojedynkowe. Metodą klasyczną projektowania takich układów jest metoda wykorzystująca diagram przejść automatu skończonego, dająca w wyniku układ sekwencyjny [1]. Wadą tej metody jest wykładniczy wzrost liczby stanów, postępujący wraz ze złożonością modelowanego układu. Pewnym usprawnieniem podejścia klasycznego jest uwzględnienie w modelu zachowania projektowanego układu współbieżności. W wyniku nowych założeń otrzymano model automatu współbieżnego, którego najbardziej obrazową formą jest równoważna mu sieć Petriego [1][2][3][13]. Układy cyfrowe realizowane tą metodą mogą charakteryzować się większą złożonością. W roku 1987 David Harel opublikował jeden z pierwszych artykułów [5], w którym zaproponował wykorzystanie diagramów statechart do opisu zachowania złożonych systemów. Główną cechą diagramów jest operowanie pojęciem stanu oraz wsparcie dla takich cech jak współbieżność i hierarchia. Układ cyfrowy realizujący zachowanie zamodelowane diagramami, nazywany jest w literaturze hierarchicznym współbieżnym automatem skończonym (ang. Hierarchical Concurrent Finite-State Machine lub w skrócie HCFSM) [4].

Dotychczas powstało bardzo niewiele systemów bezpośrednio wykorzystujących diagramy do projektowania układów cyfrowych, implementowanych w strukturach reprogramowalnych. Pierwszym i najbardziej popularnym jest system Magnum Statemate firmy I-Logix, gdzie zachowanie układu opisane jest w języku HDL (VHDL lub Verilog), z wykorzystaniem m.in. instrukcji case i instrukcji sekwencyjnych (process lub always) [6][7]. Autor w swych pracach skupił się na takim podzbiorze graficznego języka statechart, który zapewnia, że modelowane układy są binarne (operują wartościami binarnymi) oraz są w pełni modularne (brak możliwości realizacji tranzycji przekraczających granice stanów) [8][11]. W odróżnieniu od programu Magnum, autor przyjął metodę bezpośredniej implementacji sprzętowej modelowanego układu. Powstały układ cyfrowy jest opisany na poziomie rejestrów i przesłań międzyrejestrowych (ang. Register Transfer Level). Takie podejście charakteryzuje się nie tylko lepszym wykorzystaniem zasobów układu reprogramowalnego, ale też daje łatwą możliwość analizy formalnej [9] (np. z wykorzystaniem grafu osiągalności) projektowanego układu. Rys. 1 przedstawia schemat blokowy powstałego systemu, realizującego opisane przejście. Wejściem do sytemu jest tekstowa reprezentacja diagramów zapisana w formacie SSF [8]. Statecharty SSF SYSTEM HICOS Równania Logiczne BDD Graf Osiągalności BDD VHDL RTL FPGA 2. ZASTOSOWANIE Rys. 1. Schemat ideowy sytemu HiCoS Pierwszym i podstawowym zastosowaniem diagramów statechart jest opis zachowania złożonych systemów, głównie systemów reaktywnych. Poprzez pojęcie system reaktywny należy rozumieć układ, który prowadzi stałą interakcję ze swoim otoczeniem oraz zmienia swój stan wraz z napływającymi pobudzeniami dochodzącymi z otoczenia, głównie w postaci zdarzeń. Jak widać w takim znaczeniu tego terminu mieści się również pojęcie układu sterowania binarnego (Rys. 2). W systemie HiCoS zdarzenia są reprezentowane przez sygnały. Wartość sygnału 1 oznacza wystąpienie zdarzenia, wartość 0 oznacza jego brak. Wejściem modelowanego układu jest wyróżniony zbiór zdarzeń wejściowych, wyjściem wyróżniony zbiór zdarzeń wyjściowych. Istnieje w systemie możliwość definiowania zdarzeń lokalnych, nie widocznych dla świata zewnętrznego, które mogą być wykorzystane do synchronizacji wewnętrznych procesów współbieżnych. Przykładem zdarzeń wejściowych są sygnały od operatora lub od obiektu, natomiast przykładem wyjściowych mogą być sygnały sterujące przekazywane do obiektu lub sygnały informacyjne dla operatora (Rys. 2). Sygnały od operatora Układ Sterowania Binarnego Sygnały Sterujące Obiekt Wyjścia sygnalizacyjne Rys. 2. Przykład zastosowanie: układ sterowania obiekt sterowany

Innym zastosowaniem układów specyfikowanych diagramami może być model obliczeniowy składający się z części przetwarzającej dane i jednostki sterującej, zarządzającej przetwarzaniem danych (Rys. 3) [3][4]. Model ten znajduje bardzo szerokie zastosowanie między innymi w cyfrowym przetwarzaniu sygnałów (ang. Digital Signal Processing) oraz jest podstawową architekturą procesorów ogólnego przeznaczenia. Danymi wejściowymi jednostki sterującej są sygnały stanu układu przetwarzania danych. Danymi wyjściowymi, natomiast, są sygnały zarządzające obliczeniami oraz sterujące przepływem danych. Zaprojektowanie jednostki sterującej kierującej współbieżnym przetwarzaniem informacji, z udziałem diagramów statechart, pozwala na lepszą analizę zachowania realizowanego układu. Dane Wejściowe Jednostka Sterująca Sterowanie Status Przetwarzanie Danych 3. WEJŚCIE Dane Wyjściowe Rys. 3. Przykład zastosowania: jednostka sterująca ścieżka przetwarzania danych Jak to zostało napisane w części pierwszej referatu, wejście do systemu stanowi plik w autorskim formacie SSF, który jest równoważną tekstową reprezentacją postaci graficznej (Rys. 1). Dla inżyniera projektanta postać tekstowa jest zdecydowanie mniej efektywna niż diagramy, lecz dla celów badawczych, zdecydowano się na mniej atrakcyjną formę wprowadzania danych ale za to tańszą w realizacji i łatwiejsza do szybkiej modyfikacji. W opinii autora, realizacja prostego programu kompilatora jest znacznie mniej pracochłonna niż złożonego realizacja edytora graficznego. Język SSF składa się z 16 słów kluczowych oraz z 27 produkcji, a jego gramatyka jest gramatyką typu LL(1) [8]. Jako przykład wykorzystania opisu języka niech posłuży diagram modelu zachowania prostego pilota telewizyjnego, posiadającego funkcje włączania telegazety, wyłączania dźwięku i przełączania się między dwoma kanałami telewizyjnymi. Rys. 4 przedstawia dwie równoważne postaci opisu: graficzną i tekstową. Po słowie kluczowym port ma miejsce blok deklaracji sygnałów przychodzących do i wychodzących ze sterownika. Podstawowym elementem języka jest specyfikacja automatu sekwencyjnego (np. scsnd), która składa się z jawnego wymienienia stanów automatu (na rys. krągłokąty), ustalenia stanu startowego (na rys. stan ze strzałką dochodzącą, np. CHANNELS) oraz zdefiniowania odwzorowań funkcji tranzycji wraz z predykatami i funkcji wyjściowej (na rys. strzałki z etykietami, w tekście odpowiednio tf i of). Do ustalenia związków współbieżności i hierarchii pomiędzy automatami służą odpowiednio słowa kluczowe and oraz dec by (na rys. automaty w relacji współbieżności są przedzielona linią przerywaną). Na przykład statechart scrm jest automatem współbieżnym składającym się z dwóch automatów scop i scsnd. Ustalenie związków hierarchii polega na przyporządkowaniu stanom automatu sekwencyjnego innych podautomatów. Dokonuje się tego poprzez jawne wyspecyfikowanie odwzorowań funkcji dekompozycji (w przypadku automatu scrm funkcja dekompozycji nazywa się df i jej nazwa jest ustalana po słowie kluczowym by). Stanom które nie są stanami złożonymi przypisuje się słowo kluczowe nodec (ang. no decomposition). Ponadto składnia dopuszcza definiowanie predykatów jako równania logiczne.

H Two*!One*!Txt*!Off Txt*!Off scop CHANNELS CH1 do / Ch1 CH2 do / Ch2 do / Pic TXT do / TelText On ON One*!Two*!Txt*!Off TV*!Off OFF Off SndOff *!Off scsnd SNDON do / Snd SNDOFF SndOn *!Off controller TVRm; port(onn: in; Off: in; SndOff: in; SndOn: in; One: in; Two: in; Txt: in; TV: in; Pic: out; TeleTxt: out; Snd: out; Ch1: out; Ch2:out); scchannels=({ch1,ch2},ch1,tf,ef){ scop=({channels,txt},channels,tf,ef) { dec scop by df { df(channels) = scchannels:h; df(txt) = nodec; scsnd=({sndon,sndoff},sndon,tf,ef) { tf(sndon, SndOff*!Off) => SNDOFF; tf(sndoff, SndOn*!Off) => SNDON; ef(sndon) = do /{Snd scrm=({off,on},off,tf) { tf(off, Onn) => ON; tf(on, Off) => OFF; dec scrm by df { df(off) = nodec; df(on) = and(scop, scsnd); 4. BUDOWA I DZIAŁANIE Rys. 4. Diagram wraz z równoważną postacią tekstową w formacie SSF System HiCoS jest programem komputerowym napisanym w języku C++ w środowisku Microsoft Visual C++ z wykorzystaniem biblioteki MFC. Plik wejściowy w formacie SSF jest poddawany translacji kierowanej składnią, której celem jest stworzenie wewnętrznej reprezentacji danych. Wewnętrzny model danych posiada cechy drzewa hierarchii. Węzły reprezentują stany, krawędzie reprezentują relację stan nadrzędny stan podrzędny. Następnie model wewnętrzny jest zamieniany na opisujący go równania logiczne. Każdemu stanowi jest przyporządkowany jeden przerzutnik, z każdym zdarzeniem jest związany sygnał. Dla przerzutników tworzone są funkcje wzbudzeń, a dla sygnałów funkcje sygnałów i wyjść. Zależności między funkcjami a sygnałami w tworzonym systemie przedstawia Rys. 5. SYSTEM STATECHART X clock reset funkcje sygnałów funkcje wzbudzeń rejestr przerzutników Y Rys. 5. Koncepcja implementacji diagramów

Jako wewnętrzną reprezentację wyrażeń logicznych zastosowano binarne diagramy decyzyjne z pakietu CUDD [12], nie przyjmując żadnych założeń o uporządkowaniu zmiennych w diagramie BDD. 5. WYJŚCIE Główne zadanie jakie zostało postawione autorowi do zrealizowania było sprawdzenie możliwości wykorzystania hierarchicznego modelu automatu współbieżnego w projektowaniu sterowników cyfrowych, przy założeniu, że projektowane układy będą bezpośrednio implementowane w strukturach reprogramowalnych (np. FPGA). Dostępne na rynku komercyjne systemy realizujące syntezę i implementację układów reprogramowalnych (np. Xilinx Foundation, FPGA Express czy Leonardo Spectrum), jako swój główny format danych wejściowych wykorzystują języki HDL. Stąd, aby była możliwa współpraca systemu HiCoS z oprogramowaniem komercyjnym, zdecydowano się, że formatem danych wyjściowych będzie plik zapisany w języku VHDL (Rys. 6). Jak widać z rysunku do budowy pliku został wykorzystany podzbiór języka, który jest niezbędny do deklaracji przerzutników i zdefiniowania przypisań wyrażeń logicznych do sygnałów. Prostota budowy pliku jest konsekwencją przyjętego założenia o bezpośredniej implementacji. Inną korzyścią płynącą z opracowania modelu układu na poziomie RTL, jest łatwość realizacji metod analizy symbolicznej. System HiCoS posiada możliwość wygenerowania i wyświetlenia funkcji charakterystycznej przestrzeni stanów globalnych układu [9]. Dysponowanie przestrzenią stanów układu w postaci symbolicznej, w której zbiór stanów jest symbolicznie reprezentowany przez funkcję charakterystyczną zmiennych stanu (czyli przerzutników), stwarza możliwości dokładniejszej analizy modelowanego układu (np. wykrywanie tranzycji w konflikcie [6]). TVRm.vhd -- część przerzutnikowa library IEEE; use IEEE.std_logic_1164.all; entity FDD is end entity; architecture FDD of FDD is begin process (CLK, CLR) end architecture; -- część sterownikowa library IEEE; use IEEE.std_logic_1164.all; entity TVRm is port( reset : in STD_LOGIC; clock : in STD_LOGIC; Onn: in STD_LOGIC; Snd: out STD_LOGIC; end TVRm; architecture TVRm of TVRm is -- sygały wyjściowe z przerzutników signal scsnd_sndon, ; -- sygnały wejść przerzutników signal f_scsnd_sndon, ; -- funkcje sygnałów signal fsx_sndon, fsx_one, ; component FDD port (); end componnent; begin -- instancjacje komponentu -- przerzutnika FDD FF_SNDON: ffd port map (); -- przypisania funkcji wzbudzeń -- przerzutników zmiennych stanu f_scsnd_sndon <= ; -- przypisania funkcji sygnałów fsy_snd <= ; -- przypisanie sygnałów wyjściowych Snd <= fsy_snd; end TVRm; Rys. 6. Budowa pliku wyjściowego

6. PODSUMOWANIE Opracowany akademicki system stanowi praktyczną weryfikację metod i algorytmów opracowanych przez autora. Wyniki uzyskane na drodze symulacji wyjściowego modelu układu w języku VHDL, potwierdzają prawidłowość zasad opisu diagramów statechart równaniami logicznymi. Symulowane działanie układu było zgodne z oczekiwanym. Wyniki syntezy pokazują, że zużycie zasobów układu reprogramowlnego, przy projektowaniu z udziałem proponowanej metody, jest porównywalne do rezultatów otrzymywanych przy zastosowaniu metod tradycyjnych np. sieci Petriego [2][3][10][13]. Innym zastosowaniem programu HiCoS było wykorzystanie systemu w procesie dydaktycznym w ramach zajęć laboratoryjnych z przedmiotu Reaktywne Systemy Cyfrowe, prowadzonych na Uniwersytecie Zielonogórskim. Praca z programem została pozytywnie oceniona przez studentów. BIBLIOGRAFIA [1] M. Adamski: Projektowanie układów cyfrowych systematyczną metodą strukturalną, Monografie, Wydawnictwo WSI w Zielonej Górze, Zielona Góra 1990. [2] M. Adamski, Bezpośrednia implementacja sieci Petriego w reprogramowalnych układach cyfrowych, III Krajowa Konferencja Naukowa Reprogramowalne Układy Cyfrowe, Szczecin 2000, Mat. Konf., s. 131-138. [3] K. Biliński: Application of Petri Nets in parallel controllers design, PhD. Thesis, University of Bristol, Bristol, 1996. [4] D. D. Gajski, F. Vahid, S. Narayan, and J. Gong: Specification and Design of Embedded Systems, Prentice Hall, Englewood Cliffs, NJ, 1994. [5] D. Harel, Statecharts A Visual Formalism for Complex Systems, Science of Computer Programming, No 8, North-Holland, 1987, pp. 231-274. [6] D. Harel, A. Naamad, The STATEMATE Semantics of Statecharts, ACM Trans. Soft. Eng. Met. 5:4, October 1996. [7] HDL Code Generator Reference Manual, 3 Riverside Drive, Andover, MA 01810, I-Logix Inc. [8] G. Łabiak, Statecharts Specification Format (SSF) tekstowa postać opisu diagramów, Materiały III Krajowej Konferencji Naukowej - Reprogramowalne Układy Cyfrowe, Szczecin, 10, IV, 2000, str. 147-154 [9] G. Łabiak, Symbolic States Exploration of Controllers Specified by Means of Statecharts, Proc. of the Intl. Workshop DESDes 01, Przytok 2001, pp. 209-214. [10] G. Łabiak, Application of BDDs in FPGA Synthesis of Statechart-based Controllers, International Workshop Control and Information Technology IWCIT 01, Ostrava September19 th -20 th, 2001, pp.45-50. [11] D. Nazareth, F. Regensburger, P. Sholz, Mini-Statecharts, A Lean Version of Statecharts, Technical Report TUM I9610, Technische Universitaet Munchen 1996. [12] F. Somenzi, CUDD: CU Decision Diagram Package, http://vlsi.colorado.edu/~fabio/cudd/cuddintro.html. [13] P. Wolański, Modelowanie układów cyfrowych na poziomie RTL z wykorzystaniem sieci Petriego i podzbioru języka VHDL, Rozprawa Doktorska, Politechnika Warszawska, 1998.