Niealgorytmiczne metody modelowania cyfrowego. W Rosji istnieje modelowanie cyfrowe: sprawdzone w „neolant”

2.2. Metody niealgorytmiczne

modelowanie cyfrowe.

Szybkość rozwiązywania szeregu złożonych problemów metodą programowo-algorytmiczną na komputerze cyfrowym ogólnego przeznaczenia jest niewystarczająca i nie zaspokaja potrzeb systemów inżynierskich wspomaganych komputerowo (CAD). Jedną z tych klas problemów, szeroko stosowaną w praktyce inżynierskiej przy badaniu dynamiki (procesów przejściowych) złożonych układów automatyki, są układy nieliniowych równań różniczkowych wyższego rzędu w pochodnych zwyczajnych. Aby przyspieszyć rozwiązanie tych problemów, oprogramowanie CAD i systemy sprzętowe mogą obejmować, oprócz głównego (wiodącego) komputera cyfrowego ogólnego przeznaczenia, maszyny GVM zorientowane problemowo na rozwiązywanie nieliniowych równań różniczkowych. Organizowane są w oparciu o cyfrowe modelowanie matematyczne metodą niealgorytmiczną. Ta ostatnia pozwala zwiększyć produktywność CAD ze względu na nieodłączną równoległość procesu obliczeniowego, a dyskretna (cyfrowa) metoda przedstawiania wielkości matematycznych pozwala osiągnąć dokładność przetwarzania nie gorszą niż w komputerze cyfrowym. Te maszyny GVM wykorzystują dwie metody modelowania cyfrowego:

1. Modelowanie różnic skończonych;

2. Modelowanie wyładowań.

Pierwszą metodą stosowaną w maszynach GVM, takich jak cyfrowe analizatory różnicowe (DDA) i cyfrowe maszyny całkujące (DIM), jest dobrze znana metoda przybliżonych (krok po kroku) obliczeń różnic skończonych. Cyfrowe jednostki operacyjne GVM, zbudowane na obwodach cyfrowych, przetwarzają dość małe dyskretne przyrosty wielkości matematycznych przesyłanych liniami komunikacyjnymi pomiędzy jednostkami operacyjnymi. Wejściowe i wyjściowe wielkości matematyczne są reprezentowane, przechowywane i zwiększane w cyfrowych kodach n-bitowych w licznikach góra/dół lub rejestrach akumulatorów.

Przyrosty wszystkich ilości są zwykle kodowane w jednej jednostce niższego rzędu: D:=1ml. R. Odpowiada to kwantyzacji na poziomie wszystkich przetworzonych wielkości ze stałym krokiem kwantyzacji D=1. W związku z tym tempo wzrostu wszystkich ilości maszyn jest ograniczone: |dS/dx|£1.

Znaki przyrostów jednobitowych kodowane są metodą kodowania znakowego na dwuprzewodowych liniach komunikacyjnych pomiędzy jednostkami operacyjnymi:

https://pandia.ru/text/78/244/images/image002_51.gif" szerokość="476" wysokość="64 src=">,

gdzie DSi=yiDx jest przyrostem całki w i-tym kroku całkowania, a i-tą rzędną funkcji podcałkowej y(x) – yi oblicza się sumując jej przyrosty:

https://pandia.ru/text/78/244/images/image004_39.gif" szerokość="208" wysokość="56 src=">

wraz z wprowadzeniem stałego współczynnika normalizującego kn = 2-n, przyrosty na wyjściach integratorów powstają sekwencyjnie i przetwarzane są również sekwencyjnie w kolejnych integratorach. Wyjątkiem jest całkowanie sumy kilku funkcji całkowych

https://pandia.ru/text/78/244/images/image006_34.gif" szerokość="239" wysokość="56 src=">

Następnie, wzdłuż kilku m linii wejściowych, l-te przyrosty mogą pojawić się synchronicznie w pewnym j-tym kroku. W przypadku dodawania sekwencyjnego są one rozmieszczone w obrębie kroku za pomocą linii opóźnienia, zwiększając częstotliwość zegara wejściowego sumatora akumulującego m-krotnie. Dlatego liczba sumowalnych funkcji całkowych jest zwykle ograniczona do dwóch: m=2.

Strukturalna organizacja cyfrowego integratora-dodawcy jest bardzo prosta. Zbudowany jest w formie szeregowego połączenia następujących jednostek funkcjonalnych:

· Układ 2OR z linią opóźniającą tз=0,5t na jednym z wejść

· wejściowy sumator akumulujący przyrosty funkcji całkowych, który kumuluje ich n-bitowe rzędne według przyrostów wejściowych:

https://pandia.ru/text/78/244/images/image008_28.gif" szerokość="411" wysokość="194 src=">

Gdy Dх:=(10) kod yk jest przesyłany bez zmian, a gdy Dх:=(01) na wyjściu tworzy się kod odwrotny do kodu wejściowego yk.


Sumator akumulujący dane wyjściowe, który w każdym kroku integracji dodaje do swojej starej zawartości zawartość rejestru przesuwnego RS wejściowego NSM (w kodzie transmisji szeregowej krok ten wykonywany jest w n cyklach zegara):

· Całkowity generator przyrostu wyjścia: DSi:= jednostka przepełnienia Si, konwertująca znak przepełnienia na dwubiegunowy kod przyrostu (najłatwiej jest to wdrożyć, jeśli ujemne skumulowane liczby Si są reprezentowane w zmodyfikowanym kodzie: bezpośrednim, odwrotnym lub komplementarnym). Odpowiedni schemat blokowy integratora cyfrowego pokazano na ryc. Podręcznik 9.14 (s. 260). W obwodach modeli cyfrowych stosuje się następujący symbol cyfrowego sumatora-integratora:

„Zn.” wskazuje flagę inwersji (-), jeśli jest wymagana. Ważną zaletą tej metody cyfrowego modelowania różnic skończonych jest to, że ten sam integrator cyfrowy, bez zmiany jego obwodów, służy do wykonywania operacji liniowych i nieliniowych niezbędnych do rozwiązywania równań różniczkowych zwyczajnych. Wyjaśnia to fakt, że podczas programowania CDA i CIM oryginalne równania w pochodnych są konwertowane na równania w różniczkach. Spójrzmy na najprostsze programy modeli cyfrowych:

1. mnożenie zmiennej x przez stałą k:

Przechodząc do różnic dS=кdx, upewnimy się, że operację tę wykonuje jeden integrator z odpowiadającym mu ustawieniem początkowym:

3. Mnożenie S=xy lub w różniczkach dS=xdy+ydx.

4.2. funkcje trygonometryczne, na przykład y=sinx, co jest rozwiązaniem równania różniczkowego drugiego rzędu (ponieważ ) lub w różniczkach


DIV_ADBLOCK93">

Biorąc pod uwagę, że stworzenie tych zorientowanych problemowo komputerów wymaga znacznych dodatkowych kosztów, podczas konstruowania technicznych narzędzi CAD często stosuje się prostszą metodę ich organizowania, łącząc produkowane masowo komputery cyfrowe ogólnego przeznaczenia i elektroniczne komputery analogowe (AVM) zbudowane na operacyjnych wzmacniacze w kompleks obliczeniowy. Komputer cyfrowy i komputer cyfrowy są łączone przy użyciu standardowego urządzenia konwertującego i interfejsu (CTD), składającego się głównie z przetwornika ADC i przetwornika DAC. Złożony problem do rozwiązania jest racjonalnie podzielony na 2 części pomiędzy procesorami analogowymi i cyfrowymi podczas programowania kompleksu. Ponadto część analogowa jest najczęściej zorientowana problemowo na rozwiązywanie równań różniczkowych i jest wykorzystywana w ogólnym procesie obliczeniowym jako szybki podprogram.

2.3 Architektura hybrydowych systemów obliczeniowych (HCC).

2.3.1. struktura kompleksu obliczeń analogowo-cyfrowych (ADCC)

GVK lub ATsVK to kompleks obliczeniowy składający się z komputera cyfrowego i komputera automatycznego ogólnego przeznaczenia, połączonych za pomocą UPS i zawierający w części cyfrowej dodatkowe oprogramowanie do automatyzacji programowania części analogowej, zarządzające wymianą informacji między analogiem i części cyfrowych, monitorowanie i testowanie części analogowej, automatyzacja procedur wejścia-wyjścia.

Rozważmy schemat blokowy ADCC z najprostszym UPS-em, zbudowanym na jednokanałowych przełączanych przetwornikach ADC i DAC. Aby stworzyć warunki wstępne do automatyzacji programowania AVM pod kontrolą komputera cyfrowego, w ramach sprzętu AVM wprowadzono następujące dodatkowe bloki:

1. Ręcznie regulowane rezystory zmienne (potencjometry) na wejściach wzmacniaczy operacyjnych w zestawie jednostek operacyjnych (NOB), znane Państwu z prac laboratoryjnych na TAU, zastępowane są rezystorami sterowanymi cyfrowo (DCR), które służą jako zintegrowane przetworniki DAC obwody;



Do długotrwałego przechowywania kodów ustawień DCC wykorzystuje się blok rejestrów buforowych (BFR), ładowany podczas programowania AVM cyfrowymi kodami współczynników transmisji (TC) jednostek operacyjnych, obliczanych w komputerze cyfrowym zgodnie z opisaną metodą w ust. 2.1; wykorzystanie równań skali modelu analogowego;

3. Automatyczne łączenie jednostek operacyjnych zgodnie z analogowym schematem modelowym sporządzonym w komputerze cyfrowym (pkt 2.1) odbywa się za pomocą obwodu automatycznego przełączania (ASC) wykorzystującego binarny wektor przełączający kluczy SAC utworzony w komputerze cyfrowym i przechowywane podczas rozwiązywania problemu w rejestrze informacji konfiguracyjnych (RN) w UPS.

Tryby pracy AVM: przygotowanie, uruchomienie, zatrzymanie, powrót do stanu początkowego, wyprowadzenie wyników do analogowych urządzeń peryferyjnych (rejestratory wykresowe, tablety rejestrujące dwukoordynacyjne - DRP) ustawiane są od strony komputera poprzez jednostkę sterującą UPS ( UPS BU).

Jednostka sterująca UPS przeprowadza także wzajemną synchronizację pracy komputera cyfrowego i komputera automatycznego: przesyła zewnętrzne sygnały przerwań z modelu analogowego do programów cyfrowych komputera cyfrowego, pod kontrolą cyfrowych programów części synchronizuje odpytywanie punkty w modelu analogowym, konwersja napięć w tych punktach na kody cyfrowe i przesłanie tego ostatniego poprzez BSK i kanał wejścia-wyjścia do pamięci RAM komputera cyfrowego; lub podobnie, odwrotna konwersja kodów cyfrowych na napięcia elektryczne i dostarczanie tych ostatnich do wymaganych punktów na wejściach jednostek operacyjnych modelu analogowego. Ta zasada funkcjonalnej organizacji interakcji pomiędzy częściami cyfrowymi i analogowymi jest wspierana sprzętowo przez bloki UPS: ADC i DAC, AM i ADM - analogowy multiplekser i demultiplekser, ML - analogowe bloki pamięci wejściowej i wyjściowej zbudowane na różnych podobnych próbkach pamięci obwody (SSC). Wejścia wejścia SVX (po lewej) podłączone są do wymaganych punktów obwodu modelu analogowego (wyjścia odpowiednich bloków operacyjnych). W niezbędnych dyskretnych momentach czasu, pod kontrolą komputera cyfrowego, z modelu analogowego pobierane są indywidualne przykładowe rzędne sygnałów analogowych (napięć elektrycznych) i zapisywane w systemie tymczasowej pamięci. Następnie wyjścia SVR są odpytywane przez multiplekser AM, a ich napięcia wyjściowe są przetwarzane przez ADC na kody cyfrowe, które w trybie bezpośredniego dostępu jako blok liczb (tablica liniowa) są zapisywane do OP komputera cyfrowego.

Podczas konwersji odwrotnej wyjścia SVX drugiej grupy wyjściowej pamięci analogowej ML (po prawej) podłączane są pod kontrolą komputera cyfrowego do wymaganych wejść jednostek operacyjnych modelu analogowego, a wejścia SVX podłączane są do wyjść demultipleksera analogowego, którego wejście zasilane jest napięciem wyjściowym przetwornika DAC. W trybie dostępu bezpośredniego blok liczb jest odczytywany z OP komputera cyfrowego. Każda z liczb przetwarzana jest w przetworniku DAC na napięcie elektryczne, które pod kontrolą komputera cyfrowego za pomocą działającego ADM jest rejestrowane do przechowywania w jednym z magazynów tymczasowego składowania. Powstały zestaw kilku napięć jest przechowywany w kilku układach tymczasowej pamięci przez czas określony przez cyfrowy program komputerowy (na przykład podczas rozwiązywania problemu w części analogowej) i przetwarzany przez analogowe jednostki operacyjne.

2.3.2. Metody organizacji analogowej -

informatyka cyfrowa.

Zasada naprzemiennych trybów pracy komputerów cyfrowych i komputerów zautomatyzowanych, zmniejszająca złożoność układu sterowania.

ATsVK służą do analogowo-cyfrowego modelowania złożonych systemów automatyki zawierających cyfrowe komputery sterujące, a także do przyspieszania rozwiązywania złożonych problemów matematycznych, wymagających nadmiernego zużycia zasobów pamięci i czasu komputera komputerowego. W pierwszym przypadku algorytmy sterowania są programowo symulowane na komputerze cyfrowym, a analogowy model matematyczny obiektu sterowania jest programowany w komputerze automatycznym, a ACVK służy jako kompleks do debugowania i weryfikacji algorytmów sterowania, biorąc pod uwagę nieliniowość i dynamikę obiektu sterującego, które bardzo trudno uwzględnić przy opracowywaniu algorytmów, jeśli nie rozwiązuje się na bieżąco równań różniczkowych obiektu w celu określenia jego reakcji na każde nowe działanie sterujące.

W drugim przypadku, np. przy rozwiązywaniu równań różniczkowych, ogólny, uciążliwy problem obliczeń przybliżonych dzieli się na dwie części, umieszczając zwykle obliczenia wymagające obliczeń w części analogowej, dla której dopuszczalny jest błąd 0,1...1%.

Zgodnie z zasadą powyższego podziału zadania na dwie części oraz sposobem organizacji interakcji AVM z komputerem cyfrowym, współczesne komputery cyfrowe dzielą się na 4 klasy obliczeń analogowo-cyfrowych

Klasy 1,2,3 można realizować w oparciu o rozważaną organizację strukturalną ADCC z uproszczonym UPS zbudowanym na jednokanałowych przetwornikach ADC i DAC.

Klasa 1 jest najprostsza pod względem organizacji interakcji między AVM a komputerem cyfrowym. Części cyfrowe i analogowe działają w różnym czasie, dlatego nie ma wysokich wymagań dotyczących synchronizacji działania AVM i komputera cyfrowego oraz szybkości komputera cyfrowego i UPS.

Klasa 2 wymaga specjalnej organizacji naprzemiennych trybów pracy AVM, DVM i UPS w każdym cyklu obliczeń i interakcji

Obliczenie

Transfer danych

Transfer danych

Przerywać

Obliczenie

Przerywać

Obliczenie

Ponieważ AC i CC nie działają jednocześnie, nie ma problemów z ich synchronizacją i nie stawia się wysokich wymagań co do szybkości UPS i komputera cyfrowego. Klasy problemów do rozwiązania: optymalizacja parametrów modeli analogowych, identyfikacja parametryczna, modelowanie procesów losowych metodą Monte Carlo, modelowanie analogowo-cyfrowe układów automatyki nie w czasie rzeczywistym, równania całkowe.

Klasa 3 wymaga innej organizacji naprzemiennych trybów pracy AVM, TsVM i UPS.


Obliczenie

Transfer danych

Transfer danych

Obliczenie

Przerywać

Obliczenie

Przerywać

W fazie A w KA i CC realizowane są jednocześnie 2 zadania cząstkowe jednego złożonego zadania, zgodne w czasie. W CC w fazie B najczęściej odbierane są z AC i zapisywane wartości dyskretne argumentów funkcji, następnie w fazie A wyliczane są z nich rzędne funkcji zespolonych i przygotowywane dla AC, które w kolejnej fazie B przekazywane są do AC, gdzie są zapisywane w pamięciach analogowych (SVH), a następnie wykorzystywane w kolejnej fazie A w obliczeniach analogowych itp. Klasy problemów do rozwiązania: obliczenia iteracyjne, rozwiązywanie zwykłych difurów przy zadanych warunkach brzegowych , problemy dynamiczne z czystym opóźnieniem argumentów, równania całkowe, równania różniczkowe cząstkowe. W klasie 3 nie ma wysokich wymagań co do szybkości komputera cyfrowego i komputera cyfrowego, ale wymagana jest precyzyjna synchronizacja pracy komputera cyfrowego i komputera cyfrowego w fazie B, ponieważ w wyniku zatrzymania procesora cyfrowego sterowanie asynchroniczne transferu danych jest niemożliwe, a synchroniczna transmisja bloków danych odbywa się pod kontrolą kontrolera bezpośredniego dostępu do pamięci (KPDP) poprzez cyfrowy kanał wejścia/wyjścia komputera.

Klasa 4 to najczęściej analogowo-cyfrowe modelowanie cyfrowych układów automatycznego sterowania w czasie rzeczywistym w celu sprawdzania i debugowania cyfrowych programów komputerowych sterujących w dynamice. Jest to najbardziej złożone pod względem organizacji interakcji i synchronizacji działania AVM i komputera cyfrowego, ponieważ tutaj fazy A i B są połączone, podczas procesu obliczeń następuje stała wzajemna wymiana danych, a zatem zastosowanie wymagany jest komputer cyfrowy i UPS o maksymalnej prędkości.

Organizacja konstrukcyjna UPS podana powyżej i odpowiednia dla klas 1,2,3, nie ma zastosowania w klasie 4. Ta ostatnia klasa wymaga wielokanałowej organizacji ADC i DAC bez multipleksowania z dodatkowym włączeniem równoległych rejestrów buforowych na wejściu i wyjściu pliku BSC, wymieniających się z OP komputera cyfrowego w trybie bezpośredniego dostępu. Zawartość każdego rejestru jest albo konwertowana przez oddzielne, połączone równolegle przetworniki DAC podczas przesyłania danych do AVM, albo generowana przez oddzielne, połączone równolegle przetworniki ADC podczas przesyłania danych z AVM do komputera cyfrowego.

2.3.3 Funkcje oprogramowania ACVK.

Aby zautomatyzować programowanie AVM za pomocą komputera cyfrowego i w pełni zautomatyzować proces obliczeń analogowo-cyfrowych, tradycyjne cyfrowe oprogramowanie komputerowe ogólnego przeznaczenia (patrz ryc. 13.2 s. 398 w podręczniku) uzupełnia się o następujące moduły oprogramowania:

1. Programy przetwarzające zawierają dodatkowe tłumacze ze specjalnych języków modelowania analogowo-cyfrowego, np. Fortran-IV, uzupełnione o podprogramy w rozszerzonym języku asemblera zawierające specjalne polecenia analogowo-cyfrowe, np. do sterowania częścią analogową za pomocą cyfrowego program komputerowy organizujący transmisję danych pomiędzy częstotliwościami cyfrowymi a prądem przemiennym, przetwarzający przerwania programów częstotliwości centralnej inicjowanych przez część analogową; tworzony jest analogowo-cyfrowy system kompilacji;

2. Programy robocze, debugujące i konserwacyjne obejmują sterownik wymiany między maszynami do sterowania częścią analogową jako procesorem peryferyjnym, programy do wyświetlania graficznego, rejestrowania i analizowania wyników;

3. Biblioteka programów stosowanych obejmuje programy do obliczania funkcji oraz standardowe programy matematyczne analogowo-cyfrowe;

4. Testy UPS i testy jednostek operacyjnych AVM są objęte programami konserwacji diagnostycznej;

5. Do programów sterujących systemem operacyjnym wprowadzono całą gamę dodatkowych modułów sterujących:

System automatyki do programowania analogowego (SAAP), składający się z analizator leksykalny; parser(sprawdzenie zgodności programu analogowego zapisanego w języku algorytmicznym z zasadami składni zapisu); generatory schematów blokowych(składanie i kodowanie obwodów modeli analogowych metodą redukcji rzędu i funkcji ukrytych, jak w pkt 2.1); blok programów obliczeniowych(skalowanie modelu analogowego jak w p.2.1, cyfrowe modelowanie programowe części analogowej na komputerze cyfrowym za pomocą jednej kalkulacji w celu obliczenia oczekiwanych maksymalnych wartości zmiennych i wyjaśnienia skalowania modelu analogowego, a także utworzenie pliku do statycznego i dynamicznego sterowania częścią analogową po jej zaprogramowaniu); programy do prezentacji wyników(wyświetlanie i ploter zsyntetyzowanej struktury modelu analogowego, wydruk kontrolny kodów programów analogowych, współczynniki skali, pliki sterujące statyczne i dynamiczne);

· Usługa synchronizacji i interakcji komputerów automatycznych i komputerów cyfrowych (implementacja przemiennych trybów pracy);

· Usługa przetwarzania przerwań inicjowanych przez część analogową;

· Program do zarządzania wymianą danych pomiędzy AVM a komputerem cyfrowym;

· Program do zarządzania ładowaniem kodów obwodów modeli analogowych do SAC (w RN);

· Program do sterowania trybem sterowania statycznego i dynamicznego (debugowanie programu analogowego załadowanego do AVM).

Na podstawie wyników automatyzacji programowania analogowo-cyfrowego na dysku magnetycznym głównego komputera cyfrowego, oprócz tradycyjnych plików cyfrowych, tworzone są następujące dodatkowe pliki danych, wykorzystywane przez w/w dodatkowe moduły oprogramowania ACVK: analogowe plik blokowy, plik przełączający (dla SAC), statyczny plik sterujący, dynamiczny plik sterujący, plik przygotowawczy dla analogowych przetworników funkcjonalnych, biblioteka wtykowych standardowych programów analogowo-cyfrowych.

2.3.4. Języki modelowania analogowo-cyfrowego.

Rozważana architektura komputera cyfrowego pozwala na opisywanie i wprowadzanie programów analogowo-cyfrowych jedynie do głównego komputera cyfrowego w językach algorytmicznych wysokiego poziomu. W tym celu tradycyjne cyfrowe języki programowania uzupełniane są specjalnymi operatorami do opisu analogowego obiektu modelującego, organizowania przesyłania danych pomiędzy AC i DC, sterowania częścią analogową za pomocą cyfrowego programu komputerowego, przetwarzania przerw z części analogowej, ustawiania parametry modelu analogowego, monitorowanie części analogowej, ustawianie informacji serwisowych itp. .

Stosowane są języki uniwersalne, tłumaczone przez kompilację (Fortran IV) lub interpretację (BASIC, Gibas, Focal, HOI), uzupełnione specjalnymi podprogramami w Assembly, wywoływanymi zwykle przez operatora Call... wskazującego identyfikator żądanego podprogramu.

W celu zwiększenia szybkości działania CAAP jest on zwykle opisywany i wykorzystuje na wejściu specjalistyczne języki modelowania analogowo-cyfrowego: CSSL, HLS, SL – 1, APSE, a do wewnętrznej interpretacji język Poliz (odwrotna pol. notacja).

Następujące analogowo-cyfrowe makroinstrukcje można wprowadzić do uniwersalnych języków kompilowanych:

1. PUNKT AA x– ustawić potencjometr (DCC) w części analogowej o adresie AA w położenie (wartość rezystancji) odpowiadające wartości kodu cyfrowego zapisanego w cyfrowym komputerze OP pod adresem x;

2. MLWJ AA x– odczytać wartość analogową na wyjściu jednostki sterującej w AC o adresie AA, poddać ją konwersji analogowo-cyfrowej i wynikowy kod cyfrowy zapisać do komputera cyfrowego OP pod adresem x. Interakcję pomiędzy częścią analogową a częścią cyfrową można opisać jako wywołanie procedury:

Wywołaj JSDA AA x, gdzie JSDA jest odpowiednim identyfikatorem podprogramu wtyczki w języku asemblera, na przykład procedury instalacyjnej - ustaw wartość x z wyjścia DAC na adres AA w części analogowej.

Dlatego bardzo ważne jest zrozumienie, w jaki sposób rodzaj równoległości rozwiązywanego problemu wpływa na sposób organizacji komputera równoległego.

3.1.1 Naturalna równoległość

niezależne zadania.

Obserwuje się, czy w samolocie następuje przepływ niepowiązanych ze sobą zadań. W tym przypadku zwiększenie wydajności można stosunkowo łatwo osiągnąć poprzez wprowadzenie do „gruboziarnistego” BC ensemble niezależnie funkcjonujące procesory podłączone do interfejsów wielomodułowego OP oraz inicjalizacja procesorów wejścia/wyjścia (I/O).

Liczba modułów OP wynosi m>n+p, aby zapewnić możliwość równoległego dostępu do pamięci wszystkich procesorów przetwarzających i wszystkich PVV oraz zwiększyć odporność komputera na uszkodzenia. Zapasowe (m-n-p) moduły OP są niezbędne do szybkiego odtwarzania w przypadku awarii działającego modułu i przechowywania w nich SSP procesorów i procesów w punktach kontrolnych programu wymaganych do ponownego uruchomienia w przypadku awarii procesora lub modułu OP.

Dla każdego z zadań do rozwiązania tworzona jest możliwość tymczasowego połączenia pary: Pi+OPj jako autonomicznie funkcjonującego komputera. Wcześniej ten sam moduł OP pracował w parach: PVVk + OPj, a w OPj program i dane były wprowadzane do bufora wejściowego. Na koniec przetwarzania organizowany jest bufor wyjściowy, który jest zapełniany w OPj, a następnie moduł OPj jest wstawiany do pary OPj+PVVr w celu wymiany z urządzeniem peryferyjnym.

Głównym zadaniem organizacji procesów obliczeniowych, rozwiązywanym przez program systemowy „dyspozytor”, jest optymalny podział zadań pomiędzy procesory równoległe według kryterium maksymalizacji ich obciążenia lub minimalizacji ich przestojów. W tym sensie jest optymalny asynchroniczny zasada ładowania zadań do procesorów bez czekania, aż zadania zostaną przetworzone w innych zapracowanych procesorach.

Jeżeli w pamięci VRAM przechowywany jest pakiet zadań wejściowych zgromadzonych w określonym przedziale czasu, problem optymalnego planowania asynchronicznego sprowadza się do stworzenia optymalnego harmonogramu uruchamiania zadań na różnych procesorach. Głównymi danymi wejściowymi wymaganymi do tego jest zbiór znanych oczekiwanych czasów przetwarzania obliczeniowego dla wszystkich zadań zbiorczej partii, które są zwykle wskazane na kartach kontrolnych ich zadań.

Pomimo niezależnego charakteru zadań w całości ich asynchronicznych procesów obliczeniowych, możliwe są konflikty między nimi o współdzielone zasoby komputera:

1) Usługi wspólnego wielosystemowego systemu operacyjnego, na przykład przetwarzanie przerwań we/wy lub wywołania wspólnego systemu operacyjnego zapewniającego niezawodność podczas awarii i restartów;

(О–) – ®О-Д – zmiana znaku D.

W przypadku operacji w warstwie I po dwie operacje w warstwach II i III można wykonać równolegle, jeśli jednostka ALU posiada odpowiedni nadmiar bloków operacyjnych.

Omówiona powyżej równoległość działań przy rozwiązywaniu równań różniczkowych i przy przetwarzaniu macierzy należy do klasy regularnej, ponieważ tę samą operację powtarza się wielokrotnie na różnych danych. Ostatni przykład równania kwadratowego charakteryzuje się nieregularną równoległością działań, gdy różne rodzaje operacji można wykonywać jednocześnie na różnych danych.

Jak pokazano powyżej, nadaje się do stosowania regularnej równoległości operacji przy jednoczesnej poprawie wydajności organizacja matrycowa Samolot z ogólną kontrolą.

W ogólnym przypadku nieregularnej równoległości operacji rozważa się bardziej odpowiedni sposób poprawy wydajności organizacja streamingowa Komputery i samoloty. W komputerach strumieniowych zamiast tradycyjnego programowego sterowania procesem obliczeniowym von Neumanna zgodnie z kolejnością poleceń wyznaczaną przez algorytm, stosowana jest odwrotna zasada sterowania programem według stopnia gotowości operandów, czyli przepływu danych (przepływ argumentów), określony nie przez algorytm, ale przez wykres argumentów (wykres przesyłania danych).

Jeżeli w procesorze równoległym lub zespole redundantnych mikroprocesorów w systemie komputerowym występuje wystarczający nadmiar urządzeń przetwarzających, to w sposób naturalny i automatyczny (bez specjalnego planowania i planowania uruchamiania) te równoległe operacje, których argumenty zostały przygotowane we wcześniejszych obliczeniach, będą wykonywane jednocześnie wykonany.

Proces obliczeniowy rozpoczyna się od tych operacji, których operandami są dane oryginalne, np. w pierwszej warstwie GPA równania kwadratowego wykonywane są jednocześnie trzy operacje, a następnie rozwija się w miarę gotowości operandów. Następnie wywoływane jest polecenie mnożenia, następnie odejmowanie i sprawdzanie warunku logicznego, następnie makrooperator (Ö) i dopiero potem - dwa polecenia jednocześnie: dodawanie i odejmowanie, a po nich - dwa identyczne polecenia dzielenia.

Techniczna realizacja organizacji przepływu statków powietrznych jest możliwa na trzy sposoby:

1) Tworzenie specjalnych mikroprocesorów strumieniowych, które należą do klasy wyspecjalizowanych i będą omawiane w następnym semestrze;

2) Specjalna organizacja procesu obliczeniowego i modyfikacja języka maszynowego niskiego poziomu w komputerach wielomikroprocesorowych zbudowanych na standardowych mikroprocesorach von Neumanna;

3) Tworzenie procesorów z nadmiarem tego samego rodzaju jednostek operacyjnych i dodawanie systemów operacyjnych wykorzystujących metodę strumieniową do organizacji procesu obliczeniowego (zaimplementowaną w krajowym procesorze strumieniowym EC2703 i superkomputerze Elbrus-2).

systemy pobierania próbek

i kwantyzacja wiadomości

Omsk 2010

Federalna Agencja Edukacji

Państwowa instytucja edukacyjna

wyższe wykształcenie zawodowe

„Państwowy Uniwersytet Techniczny w Omsku”

Cyfrowe modelowanie układów próbkowania

i kwantyzacja wiadomości

Wytyczne dotyczące badań laboratoryjnych

pracuje nad nauczaniem zdalnym

Kompleks edukacyjno-laboratoryjny do cyfrowego modelowania systemu kwantyzacji komunikatów ciągłych według poziomu ………………

    Postanowienia ogólne……………………………………………………………..

    Opis pakietu…………………………………………………………………………….

      Informacje ogólne…………………………………………………………….

      Przeznaczenie funkcjonalne kompleksu………………………………….

      Procedura instalacji w środowisku programistycznym NetBeans….…………………….

      Opis biblioteki klasowej……………………….…………………………

      1. Opis interfejsów……………………….………………………...

        Opis zajęć……………………….……………………………….

        Schemat blokowy połączeń………………………..…………………

    Cel pracy laboratorium.…………………………………………………………...

    Cel badania……………………………………………………………..

    Porządek pracy………….…………………………………….....

    Budowa modelu cyfrowego ………………………………………………………….

    Pytania testowe do pracy laboratoryjnej…………………

Kompleks edukacyjno-laboratoryjny do cyfrowego modelowania systemu kwantyzacji komunikatów ciągłych według poziomu

1. Postanowienia ogólne

Modelowanie- jeden z najczęstszych sposobów badania różnych procesów i zjawisk. Wyróżnia się modelowanie fizyczne i matematyczne. W modelowaniu fizycznym model odtwarza badany proces, zachowując jego naturę fizyczną. Przewaga modelowania fizycznego nad eksperymentem naturalnym polega na tym, że warunki realizacji procesu modelowego mogą znacznie różnić się od warunków właściwych procesowi pierwotnemu, a dobiera się je ze względu na wygodę i prostotę badania. Jednak modelowanie fizyczne ma ograniczony zakres. Modelowanie matematyczne ma oczywiście szersze możliwości.

Modelowanie to proces składający się z dwóch, na ogół powtarzalnych, etapów:

    zbudowanie modelu podobnego do obiektu pierwotnego, który jest trudno dostępny do bezpośrednich badań;

    badania (projektowanie) obiektu pierwotnego z wykorzystaniem zbudowanego modelu.

Badając dowolny proces metodą modelowania matematycznego, należy przede wszystkim zbudować jego model matematyczny. Do skonstruowania algorytmu modelowania niezbędny jest model matematyczny. Istnieje kilka głównych sposobów wykorzystania algorytmu modelu matematycznego:

    analityczne badanie procesów;

    badanie procesów metodami numerycznymi;

    modelowanie sprzętowe (na komputerach analogowych i specjalnych instalacjach modelujących);

    modelowanie procesów na komputerze cyfrowym.

Obecnie upowszechniła się metoda modelowania statystycznego realizowana na komputerze cyfrowym. Ten typ jest integralną częścią modelowania matematycznego.

Modelowanie cyfrowe ma szereg zalet w porównaniu z innymi metodami badawczymi (uniwersalność, elastyczność, opłacalność) i pozwala rozwiązać jeden z głównych problemów współczesnej nauki - problem złożoności.

Kompleksy edukacyjno-laboratoryjne przeznaczone są do badania i badań takich systemów informatycznych, które zajmują się tworzeniem, próbkowaniem (kwantyzacją), kodowaniem, transmisją, przechowywaniem, dekodowaniem i przywracaniem wiadomości. Układy te składają się z rzeczywistych bloków, które wykonują wymienione przekształcenia. Obejmują one:

    źródło (generator, kreator) przekazu;

    próbnik (kwantyzator, jednostka kwantyzacji);

    koder (koder, jednostka kodująca);

    połączyć;

    blok pamięci (linia opóźniająca);

    dekoder (dekoder);

    odbiorca wiadomości.

Modele cyfrowe symulujące działanie tych bloków prezentowane są w zespołach dydaktyczno-laboratoryjnych w formie odrębnych klas obiektowych lub mogą być z nich tworzone. Te kompleksy klas obiektów służą następującym celom:

    symulować eksperyment w celu uzyskania danych do zaprojektowania tych systemów;

    zautomatyzować obliczanie parametrów, syntezę funkcji poszczególnych bloków i systemu jako całości;

    do modelowania, symulacji i wyświetlania pracy:

    systemy próbkowania komunikatów ciągłych w czasie;

    systemy kwantyzacji komunikatów według poziomu;

    wydajne systemy kodowania;

    systemy kodowania odporne na zakłócenia;

    kombinacje tych systemów.

    do rysowania wykresów.

Rozważmy niektóre cechy badania działania systemów poprzez ich cyfrowe modelowanie. Zwykle ma na celu badanie efektywności systemów. W tym przypadku modelowana jest interakcja tego systemu z innym systemem, zwanym środowiskiem zewnętrznym. Wydajność dowolnego systemu zależy od dwóch grup czynników: właściwości i cech środowiska zewnętrznego; funkcje i parametry symulowanego układu. Najbardziej efektywne działanie (zachowanie) systemu ma miejsce w sytuacji, gdy właściwości i charakterystyki środowiska zewnętrznego są „skoordynowane” z funkcjami i parametrami systemu. Wskaźniki i kryteria efektywności systemu ustalają (definiują) jego twórcy, gdyż nie można ich ustalić metodami formalnymi.

Badanie efektywności pracy w „warunkach normalnych” przeprowadza się poprzez uporządkowanie najbardziej prawdopodobnych normalnych (standardowych) sytuacji określonych przez środowisko zewnętrzne, które są przypuszczalnie znane deweloperowi lub badaczowi. W tym przypadku konkretne sytuacje są określone przez najbardziej typowe właściwości i cechy środowiska zewnętrznego.

Ponadto prowadzone są badania zachowania systemu w warunkach ekstremalnych i sytuacjach mało prawdopodobnych, które wyznaczane są przez słabo przewidywalne dla badacza zbiory właściwości i charakterystyk środowiska zewnętrznego (maksymalne wartości jego charakterystyk, np. jak na przykład zaporowa wartość prądu w obwodzie elektrycznym, przeciążenia, zakłócenia i częstotliwości o dużej amplitudzie, fizyczne zniszczenie systemu lub jego elementów z powodu wadliwych materiałów itp.).

Sytuację stworzoną przez środowisko zewnętrzne (standardowe lub nienormalne) modeluje się poprzez ustalenie niektórych jego właściwości i charakterystyk. Jednocześnie bada się efektywność systemów poprzez zmianę ich funkcji i parametrów. Możliwe jest także badanie systemu w innej kolejności, w której rejestrowane są funkcje i parametry systemu oraz zmieniane są właściwości i parametry środowiska zewnętrznego. Zakładając, że właściwości środowiska zewnętrznego i funkcje badanego układu są reprezentowane m.in. przez zbiory mierzonych i kontrolowanych (zmiennych) liczbowych charakterystyk i parametrów.

W następnej iteracji badania zachowania systemu zwykle ustalany jest cały zestaw cech środowiska i parametrów systemu. W tym przypadku jeden z wymienionych składników różni się w „prawdopodobnie” dopuszczalnym zakresie. Wskaźniki wydajności systemu wyznaczane są dla wielu wartości zmiennej parametru i wprowadzane do protokołu badawczego, zwykle sporządzanego w formie tabeli. W kolejnej iteracji badania inny parametr jest zmieniany, a reszta jest ustalana.

Zwykle nie można przeprowadzić pełnego wyszukiwania parametrów i ich wartości (nawet przy modelowaniu komputerowym) ze względu na ograniczenia czasowe. Dlatego konstruktor lub badacz często musi dokonać pewnego uporządkowanego i ukierunkowanego doboru parametrów i cech. W połączeniu z możliwością komputerowego automatycznego doboru parametrów pozwala to na skrócenie czasu badań systemu. Ponadto należy stosować opracowane metody projektowania eksperymentów.

Podczas cyfrowego modelowania systemu kwantyzacji komunikatów ciągłych według poziomu na zajęciach laboratoryjnych właściwości środowiska zewnętrznego są reprezentowane przez pewną postać transmitowanego sygnału, która nie zmienia się w trakcie procesu badawczego, a także przez rozkład normalny (Gaussa ) szum losowy działający w kanale komunikacyjnym. Liczbowe charakterystyki interferencji są reprezentowane przez matematyczne oczekiwanie i odchylenie standardowe jej amplitudy.

Funkcją systemu podczas tego laboratorium jest kwantyzacja ciągłych komunikatów według poziomu (amplitudy parametru). Parametry kwantyzatora są reprezentowane przez zakres ciągłych wartości komunikatów i liczbę poziomów kwantyzacji (lub kroku kwantyzacji).

Pojęcie modelowania logicznego Modelowanie logiczne jest rozumiane jako kompletne i dokładne odtworzenie programowe zachowania obwodu cyfrowego zgodnie z jego opisem funkcjonalnym i/lub strukturalnym oraz zadanymi zestawami sygnałów wejściowych. W projektowaniu ręcznym model jest reprezentowany przez układ roboczy lub prototyp (prototyp). W projektowaniu wspomaganym komputerowo dotychczasowy układ zastępuje się modelem symulacyjnym (programowym) projektu, a eksperymenty pełnowymiarowe lub fizyczne – modelowymi (maszynowymi). Łatwo jest wprowadzić dowolne zmiany w modelu i tym samym ulepszyć projekt, aż osiągnie wymaganą jakość.






Zagadnienia rozwiązywane metodą modelowania logicznego 1. Głównym zadaniem modelowania logicznego jest sprawdzenie poprawności działania układu cyfrowego przed jego faktyczną (fizyczną) implementacją 2. Badanie charakterystyk czasowych obwodu – prędkość, czas wykonania operacji , maksymalne zliczanie lub częstotliwości przesunięcia. Wykrywaj warunki wyścigu i ryzyko wypadków. Opóźnienia. 3.Kontrola zależności czasowych - czas zadany i czas podtrzymania, minimalny czas trwania sygnału. 4.Opracowanie badań kontrolnych i diagnostycznych. Modelowanie usterek. 5. Porównanie alternatywnych rozwiązań obwodów i wybór najwłaściwszego. „Tyrania alternatyw”. Aż 70% czasu pracy nad projektem poświęcamy na jego weryfikację


Zagadnienia rozwiązywane metodą modelowania logicznego 6. Monitorowanie wyjścia podzespołów do dopuszczalnego obciążenia. 7. Monitorowanie elementów obwodu pod kątem dopuszczalnych strat mocy. 8. Identyfikacja elementów deinstalowalnych za pomocą sygnałów resetujących lub inicjujących. 9. Wykonanie ocen statystycznych, np. określenie procentu wydajności odpowiednich obwodów, czego nie da się zrobić na pojedynczych prototypach. 10. Przeprowadzanie badań klimatycznych, najczęściej temperaturowych.


Symulacja procesu modelowania logicznego jest wykonywana w sposób podobny do ręcznej weryfikacji obwodu. Eksperymentując z układem roboczym, inżynier ustala poziomy napięć na wejściach obwodu i obserwuje sygnały wyjściowe na ekranie oscyloskopu. W przypadku modelowania logicznego symuluje te działania za pomocą specjalnego programu zwanego modelerem (symulator, imitator). Różnica polega na tym, że rzeczywiste, fizyczne sygnały zastępowane są sygnałami generowanymi programowo i obserwowane są nie na oscyloskopie, a na ekranie monitora.


Proces modelowania logicznego Z punktu widzenia przetwarzania danych modelowanie sprowadza się do trzech głównych procesów: Sporządzenie opisu symulowanego obwodu w określonym języku (LOO - język opisu obiektu) i wprowadzenie go do komputera. Opis może mieć formę diagramu, listy komponentów i połączeń (NetList), prezentacji tabelarycznej lub diagramu stanu grupy docelowej. Sterowanie opisem (np. wyszukiwanie pływających wejść, zwartych wyjść, zduplikowanych nazw) i tłumaczenie go na kod obiektowy. Program sterujący ERC — sprawdzenie przepisów elektrycznych. Przeprowadzenie eksperymentów z modelem oprogramowania symulującym działanie obwodu. Przed rozpoczęciem symulacji określa się zbiory sygnałów wejściowych, stan początkowy obwodu, punkty kontrolne do obserwacji oraz ostateczny czas symulacji.


Graficzna reprezentacja procesu modelowania logicznego Wprowadzenie opisu obwodu NetList Biblioteki opisów graficznych komponentów Automatyczne generowanie modelu obwodu Biblioteki modeli matematycznych komponentów broni nuklearnej Designer & Y=A i B; Model obwodu Procedura modeleragłówne Narzędzia symulacyjne Diagramy sygnałów wejściowych Stan początkowy obwodu Sterowanie wyjściowe Warunki specjalne Metoda symulacji Wyniki symulacji Program operacyjny NPO M1 – zasada delta T M2 – zasada delta Z min typowa maksymalna temperatura zwarcia Symulacja kompilacji Linker Linker


Modele sygnałów cyfrowych O zakresie problemów rozwiązywanych metodą modelowania logicznego decyduje przede wszystkim liczba rozróżnialnych stanów, jakie może przyjmować sygnał cyfrowy. Każdy stan jest powiązany ze swoim indywidualnym symbolem, a ich kombinacja stanowi alfabet modelujący. Najprostszy alfabet - binarny, używany w starym AFM, zawierał zestaw bitów (0, 1). Ponieważ w tym przypadku dowolny sygnał może przyjmować tylko dwie wartości (0 i 1), zmianę poziomu logicznego należało uznać za natychmiastową. Sygnał rzeczywisty Próg Przybliżenie binarne Zdarzenie - natychmiastowe przełączenie Zaleta - ekonomiczność. Pozwala rozwiązać tylko jedno główne zadanie modelowania - sprawdzenie działania obwodu


Modele sygnałów cyfrowych Dzięki modelowaniu trójskładnikowemu (0, 1, X) sygnał przełączający można przedstawić bardziej realistycznie, na przykład 0X1 lub 1X0. Zapis taki oznacza, że ​​w przypadku zmiany stanu elementu jego sygnał wyjściowy przez pewien czas (w czasie narastania lub opadania) miał nieokreśloną wartość. 0 1 X Przełączanie 0X1 Przełączanie 1X0 0 1 X 0X1 Active-HDL 8.1 X – wartość nieznana W języku PML (CAD PCAD 4.5) używany jest trzycyfrowy alfabet (0,1,X) X jest przypisany do sygnału na wyjście LE podczas procesu przejściowego. X jest przydzielany do wyjść wyzwalających po podaniu na jego wejścia zabronionych kombinacji sygnałów X jest przypisywany do wyjść wyzwalających na początku symulacji, gdy jego stan jest nieznany


Modele sygnałów cyfrowych Modelując elementy z wejściami dynamicznymi (przerzutniki, liczniki, rejestry, pamięć) bardzo wygodnie jest rejestrować momenty przełączania sygnałów w tę czy inną stronę. W tym celu do alfabetu modelującego dodawane są jeszcze dwie wartości: lub/lub R (od słowa Rise – przód) – podniesienie sygnału; lub \ lub F (od słowa Fall - spadek) - wyłącza sygnał. CAD OrCAD 9.1 (projekty PSpice) wykorzystuje sześciocyfrowy alfabet (0,1,X,R,F,Z)


Modele sygnałów cyfrowych W celu modelowania konstrukcji magistrali do alfabetu dopuszczalnych wartości sygnałów wprowadza się kolejny stan Z, czyli stan dużej impedancji na wyjściu, gdy jest ono faktycznie odizolowane od obciążenia: (0,1,X, R, F, Z). Czterocyfrowy alfabet (0,1,X,Z) jest bardzo powszechny. Wykorzystywany jest w takich językach opisu sprzętu jak Verilog, ABEL, AHDL (Altera), DSL (DesignLab). Alfabet czteroznakowy jest często nazywany alfabetem syntezy FPGA.


Modele sygnałów cyfrowych W celu dokładniejszej reprezentacji sygnałów (bardziej adekwatnego modelowania) można zastosować dwie główne techniki: Rozwinąć alfabet modelowania (już to zrobiliśmy); Wprowadź pojęcie siły sygnału logicznego (poziomu siły). Jako przykład rozważmy rozszerzony alfabet modelowania bitu typu języka VHDL (0,1); - podstawowy, wbudowany typ sygnału. Typ alfabetu (0,1) std_ulogic to (U,X,0,1,Z,W,L,H,-); - rozszerzony typ sygnału. Alfabet (U,X,0,1,Z,W,L,H,-) Rozszerzony typ sygnału znajduje się w osobnym pakiecie std_logic_1164, znajdującym się w bibliotece ieee. Dlatego, aby uwzględnić w modelu tego typu sygnały, należy przed nim umieścić linie:


Modele sygnałów cyfrowych Język VHDL Alfabet (U,X,0,1,Z,W,L,H,-) U – od słowa Uninitialized – dosłownie „niezainicjowany” Oznacza to, że sygnałowi w programie nie przypisano żadnego wartości w ogóle ; zapewnia kontrolę poprawności inicjalizacji - - stan obojętny (Dont Care) Oznacza to, że sygnał może przyjąć dowolną z dopuszczalnych wartości, co nie będzie miało wpływu na pracę układu. W książkach i podręcznikach stan obojętny jest często oznaczany symbolami „d” lub „*”. JK przerzutnik R C J K Q NQ Reset 1 * * * 0 1 Podczas syntezy CA w stanach zabronionych zamiast „*” możesz wstawić 0 lub 1 i uzyskać różne rozwiązania obwodów. W CAD wybór konkretnej wartości pozostawia się kompilatorowi w celu optymalizacji projektowanego urządzenia. Przykład. Język DSL w CAD DesignLab 8. W wyrażeniu Y =.X.; kompilator PLSyn domyślnie ustawi Y = 0;


Modele sygnału cyfrowego Active-HDL 8.1 Graficzna reprezentacja wartości sygnału cyfrowego. Pojęcia sygnałów silnych (siła) i słabych (słabych) X – wymuszanie nieznanego 0 – wymuszanie zera 1 – wymuszanie jednego W – słabego nieznanego L - słabe zero (słabe zero) H - słabe (słabe) Powstaje słaby sygnał ze źródeł zwanych sterownikami. Mają wysoką impedancję wyjściową w porównaniu do silnych źródeł sygnału. Na przykład obwód otwartego kolektora lub emitera.


Modele sygnałów cyfrowych SDRZ 0S0D0R0Z0 1S1D1R1Z1 XSXDXRXZX Wróćmy do koncepcji siły sygnału logicznego (poziomu siły). Wiemy już, że poszerzenie możliwości modelowania i zwiększenie jego adekwatności można osiągnąć nie tylko poprzez zwiększenie alfabetu modelowania, ale także wprowadzenie pojęcia „poziomu siły sygnału logicznego”. Pomysł ten został po raz pierwszy zaimplementowany w języku PML pakietu PCAD 4.5. Przykład: Język Verilog ma tylko 4-cyfrowy alfabet modelujący (0,1,X,Z), ale jednocześnie 8 wartości siły logicznej. Siła logiczna S > D > R > Z D>R>Z">


Modele elementów logicznych Konstruując modele elementów logicznych można brać pod uwagę następujące właściwości: pełnioną funkcję; opóźnienie propagacji sygnału; ładowność; progi odpowiedzi; czas trwania frontów; losowe rozłożenie opóźnień; zmiany temperatury parametrów (na przykład opóźnienia czasowe, poziomy logicznego zera i jedynki itp.). Należy pamiętać, że im większe znaczenie alfabetu modelowania i im więcej właściwości bierze się pod uwagę w modelu, tym więcej zasobów (czasu procesora i pamięci) potrzeba do uruchomienia modelu. Z tego powodu we współczesnych systemach modelowania liczba dopuszczalnych wartości sygnału cyfrowego zwykle nie przekracza 4..9, a z możliwych właściwości modeluje się z reguły tylko funkcję, opóźnienie czasowe i obciążalność.


Modele logiczne Modele bramek boolowskich działają z alfabetem binarnym (0,1) i mogą być zaimplementowane jako: równanie logiczne, tablica prawdy lub schemat blokowy algorytmu IN1 IN2 OUT1 i AND2 IN1 IN2 OUT1 i AND2 IN1 IN2 OUT1 i AND2 F1 F2 Y1 Opis obwodu przepływu: Y1 = A i B; (PCAD 4.5, język PML) Y1 = A * B; (DesignLab 8, język DSL) Y1


PROCEDURA AND2 (WEJŚCIE WE1, IN2 ; WYJŚCIE OUT1); TRUTH_TABELA IN2, IN1::OUT1; 1, 1:: 1; KONIEC TRUTH_TABLE; KONIEC2; Modele logiczne IN1 IN2 OUT1 i AND2 IN1 IN2 OUT1 i AND2 IN1 IN2 OUT1 i AND2 F1 F2 Y1 IN1IN2OUT Opis algorytmiczny Opis tabelaryczny Język DSL Start Koniec IN1=0 IN2=0 OUT1=0OUT1=1 Tak Nie Tak Nie


Modele Boole'a Zazwyczaj modele Boole'a są używane do synchronicznego modelowania zegar po cyklu (zasada delta T) bez uwzględnienia opóźnień. To najbardziej prymitywne modelowanie. Jego główną zaletą jest prostota i wydajność. W modelowaniu Boole’a czas dzieli się na cykle zegara (zasada t). Czas trwania cyklu dobiera się tak, aby w trakcie jednego cyklu żaden sygnał nie przełączył się więcej niż raz. Faktyczne przełączenie zostaje przeniesione na początek cyklu, w którym nastąpiło. Przełączenie uważa się za natychmiastowe. Opóźnienie propagacji sygnału z wejścia F1 (lub F2) do wyjścia Y1 nie jest modelowane, ponieważ oba przełączenia są przenoszone na początek zegara T2 (lub T4) i stają się jednoczesne. Czas modelu F1 F2 Y1 Zegar Sygnał rzeczywisty Model logiczny T0T1 T2 T3T4T5T6 Ryzyko awarii Natychmiastowe zdarzenie „Igła” Usterka


Modele logiczne Zazwyczaj jeden cykl zegara odpowiada jednemu zestawowi sygnałów wejściowych i jest przetwarzany w jednym cyklu modułu modelującego. Z każdym cyklem do licznika czasu modelu dodawana jest jednostka, czyli czas modelu wzrasta o cykle zegara zgodnie z wyrażeniem: T:=T+1. W rzeczywistym obwodzie, w wyniku nakładania się frontów sygnałów F1 i F2, na wyjściu elementu 2I może pojawić się krótki impuls - ryzyko awarii (cykl T6). Modele logiczne nie są w stanie przewidzieć pojawienia się takich igieł, które są bardzo niebezpieczne dla pracy sprzętu cyfrowego. Modelowanie Boole'a rozwiązuje tylko jedno główne zadanie każdego modelowania - sprawdzenie poprawności działania sprzętu cyfrowego


Modele trójskładnikowe Modele trójskładnikowe, w odróżnieniu od modeli Boole’a, symulują występowanie procesów przejściowych przy zmianie poziomu sygnału. W modelowaniu trójskładnikowym takt jest dzielony na dwie półmiski. W pierwszym półcyklu sygnał przełączający przyjmuje wartość X (zmienia się), a w drugim półcyklu osiąga nową wartość. Modele trójskładnikowe używają trzycyfrowego alfabetu (0,1,X)


Modele trójskładnikowe Czas modelu F1 F2 Y1 Sygnał rzeczywisty Ryzyko awarii 0 1 X Model ryzyka awarii Model trójskładnikowy 1 X X Zaznacz T6 Półcykl niepewności Półcykl pewności IN1 IN2 OUT1 i AND2 IN1 IN2 OUT1 i AND2 IN1 IN2 OUT1 i AND2 F1 F2 Y1 IN1IN2OUT IN1IN2OUT1 0X0 X00 1XX X1X XXX M2 M3 1X0 0X1 0X0 tablica prawdy elementu 2I dla logiki trójwartościowej


Modele trójskładnikowe Na ryzyko awarii wskazują identyczne wartości sygnału w sąsiednich cyklach zegara i wartość X w połowie cyklu niepewności pomiędzy nimi. 0011XX Ryzyko awarii Modelowanie trójskładnikowe odzwierciedla jedynie fakt przełączenia sygnału i nie określa, jak długo trwało to przełączenie i w którym dokładnie miejscu cyklu zegara nastąpiło. Innymi słowy, czas trwania stanu X w modelowaniu trójskładnikowym jest zawsze równy połowie cyklu i nie jest w żaden sposób powiązany z rzeczywistym czasem przełączania sygnału.


Modele wielowartościowe Modele wielowartościowe pozwalają dokładniej opisać zachowanie elementów rzeczywistych, jednakże w porównaniu z modelami trójwartościowymi nie wnoszą niczego zasadniczo nowego. Dla porównania rozważmy tablice prawdy elementu 2I dla modelowania binarnego, trójskładnikowego i pięciocyfrowego. OUT1 IN2 01X IN X X0XXXX 0 X X 0 XX IN1 IN2 OUT1 i AND2 IN1 IN2 OUT1 i AND2 IN1 IN2 OUT1 i AND2 F1 F2 Y1 X ? IN1 IN2 OUT1 i AND2? IN1 IN2 OUT1 i AND2 M2M3 M5


Modele elementów logicznych uwzględniających opóźnienia Modele te, w odróżnieniu od trójskładnikowych, jawnie symulują opóźnienia. Aby wyświetlić opóźnienie, należy wskazać rzeczywistą pozycję sygnału przełączającego na osi czasu. Opóźnienia modelowania metodą wydłużania czasu modelu zgodnie z ruchem wskazówek zegara (zasada delta T). Aby odzwierciedlić opóźnienie, konieczne jest zwiększenie rozdzielczości czasowej, czyli podzielenie zegara na mniejsze jednostki czasu, zwane kwantami (mikrocyklami) lub krokami. Na przykład w pakiecie PCAD cykl nazywa się CYCLE, a kwant nazywa się KROK. 1 A Y A Y Cykl kwantowy tз = 8 kwantów Opóźnienie jest reprezentowane jako liczba całkowita – liczba kwantów


Modele elementów logicznych uwzględniających opóźnienia W modelach uwzględniających tз cykl jest jawnie cięty na kwanty. Ponadto wartość kwantowa powinna stanowić niewielką część opóźnienia, na przykład 1ns. Cykl operacyjny programu symulującego jest teraz powiązany nie z cyklem zegara, ale z kwantem. Dlatego też, aby zasymulować pracę układu podczas jednego cyklu zegara, modelarz będzie musiał wykonać znacznie większą ilość pracy, a mianowicie tyle cykli, ile jest kwantów umieszczonych na długości cyklu zegara. Teraz z kwantową dokładnością można określić momenty prawdziwego przełączenia na wejściach i wyjściach, a także obliczyć opóźnienie propagacji za pomocą całkowitej liczby kwantów. Pozostaje tylko modelować. Klasyczny model elementu logicznego uwzględniający opóźnienie zawiera dwa bloki. Pierwsza implementuje logikę (funkcję), druga implementuje czyste opóźnienie. φ tз = 0 B A C YсYс Y Blok logiczny Blok opóźniający Yс (od słowa synchroniczny) natychmiast reaguje na zmiany sygnałów wejściowych Model dynamiczny w projektach PSpice


Modele elementów logicznych uwzględniających opóźnienia AYсYс Blok logiczny LOGICEXP PINDLY Licznik tз Kontener Yc Kontener Y Y NextCurrent Przechowuje wartość przyszłą Przechowuje wartość bieżącą Blok opóźniający Możliwa implementacja bloku opóźniającego do modelowania zegar po cyklu Licznik opóźnienia działa w trybie odejmowania. W przypadku synchronicznego załączenia wyjścia Yc nowa wartość jest zapisywana do kontenera przyszłych wartości, a do licznika tz wprowadzana jest zwłoka z jaką nowa wartość Yc powinna pojawić się na wyjściu Y.


Modele elementów logicznych uwzględniające opóźnienia W procesie wydłużania czasu modelu (tquanta = tquanta + 1) opóźnienie licznika tз maleje, ale nie „stopi się” do zera. Przyszła wartość wyjściowa staje się wartością bieżącą, co oznacza, że ​​zawartość lewego pojemnika należy przepisać do prawego. Modelowanie opóźnień za pomocą mechanizmu opartego na zdarzeniach w celu wydłużenia czasu modelu (zasada delta Z). Rozważaliśmy opcję, w której opóźnienie jest modelowane wewnątrz każdego elementu logicznego. Rozwiązanie to powoduje znaczne wydatkowanie instrumentalnych zasobów komputera. Inną możliwością modelowania opóźnienia rzeczywistego jest zaplanowanie nowego zdarzenia na wyjściu i obliczenie momentu jego wystąpienia t(Y) według prostej reguły: t(Y) = t(Yс) + tз Ale t(Yс) to aktualny model czasu t (prąd) Oznacza to, że dla dowolnego zdarzenia (przełączenia) można zaplanować czas wystąpienia przyszłego zdarzenia jako t(future) = t(prąd) + t(opóźnienia)


Modele elementów logicznych uwzględniających opóźnienia Obliczone zdarzenie umieszczane jest przez modelarza w kolejce przyszłych zdarzeń OBS, która jest sortowana w porządku chronologicznym. Jak widać cała praca związana z symulacją opóźnień zostaje przeniesiona na modelarza, który musi jedynie wskazać wartość opóźnienia względem aktualnego czasu modelu. Należy zauważyć, że nie jest już konieczne zaokrąglanie go do całkowitej liczby kwantów. W VHDL robi się to bardzo elegancko: Y

Modelowanie cyfrowe na obecnym etapie rozwija się najdynamiczniej. Dzieje się tak na skutek intensywnego rozwoju oprogramowania matematycznego, ukształtowanego w postaci pakietów oprogramowania aplikacyjnego. Zastosowanie tych pakietów poprawia produktywność modelowania i jednocześnie je upraszcza.

Zalety metody modelowania cyfrowego:

1. Rozwiązuje się dowolną klasę problemów podlegającą interpretacji matematycznej;

2. Wysoka dokładność rozwiązania (ograniczona jedynie czasem potrzebnym na rozwiązanie problemu);

3. Łatwość przejścia z jednego zadania do drugiego (wystarczy ponownie uruchomić program);

4. Możliwość badania obiektów wielowymiarowych.

Wady metody modelowania cyfrowego– ostateczny czas symulacji, który może nie pokrywać się z czasem rzeczywistym.

Komputer cyfrowy to zespół urządzeń technicznych, w których mogą zachodzić procesy wyświetlające (modelujące) działania za pomocą liczb. Istotą operacji obliczeniowych w numerycznym rozwiązywaniu różnych problemów matematycznych są działania na liczbach. Modelowanie procesu numerycznego rozwiązywania problemu matematycznego na komputerze cyfrowym w praktyce oznacza automatyczne jego rozwiązywanie za pomocą komputera cyfrowego.

Liczby mogą nie tylko wyrażać znaczenie wielkości stałych i zmiennych, ale także być symbolicznymi modelami warunkowymi szerokiej gamy innych obiektów - liter, słów, obiektów, zjawisk itp. Dzięki temu możliwe jest zredukowanie różnych zadań nieobliczeniowych do operacji na liczbach, np. określenia liczby obiektów o danych własnościach. Dzięki temu możliwa jest symulacja na komputerze cyfrowym procedury rozwiązywania problemu nieobliczeniowego, tj. maszynowe wdrożenie tego rozwiązania.

Proces funkcjonowania dowolnego obiektu materialnego reprezentuje sekwencyjną zmianę jego stanów w czasie, z których każdy jest określony przez określone wartości pewnych wielkości fizycznych. Jeżeli obiekt jest układem ciągłym, to wielkości te są ciągłymi funkcjami czasu ciągłego.

Na matematyczny opis obiektu składają się różne matematyczne formy wyrażania ilościowych zależności pomiędzy zmiennymi i stałymi. Są to różne funkcje, równania, układy równań, warunki jednoznaczności ich rozwiązań, nierówności i inne reprezentacje matematyczne.

Jeżeli znany jest matematyczny opis funkcjonowania pierwotnego obiektu, zgodnie z tym opisem definiuje się proces na liczbach wyrażających wartości wielkości charakteryzujących stan obiektu i proces ten jest wyświetlany na komputerze cyfrowym, to Proces realizowany przez komputer cyfrowy jest materialnym, funkcjonalnym, formalnym, matematycznym modelem cyfrowym podobnym do oryginału.

Dyskretny charakter funkcjonowania komputera cyfrowego wymaga z reguły sprowadzenia pierwotnego opisu matematycznego oryginału do postaci dogodnej do modelowania cyfrowego. Przede wszystkim konieczna jest dyskretyzacja wielkości ciągłych. W tym przypadku funkcje ciągłe podlegają kwantyzacji według poziomu i argumentu. W rezultacie funkcja ciągła argumentu ciągłego y = f(t) zamienia się w funkcję dyskretną argumentu dyskretnego

T y k y = f (Tk),

gdzie k i k y są liczbami przyjmującymi wartości 0, ± 1, ± 2, ± 3, ... ; T i Ty są kwantami zmiennych t i y.

Kwantyzacja poziomu polega na zastąpieniu wartości y odpowiednią liczbą o określonej głębi bitowej, czemu towarzyszy błąd zaokrąglenia

Dy< T y /2.

Ponieważ we współczesnych komputerach cyfrowych liczba cyfr jest duża (32 i więcej), a błąd jest znikomy, zatem w praktyce można przyjąć, że funkcjonowanie komputerów cyfrowych opisują funkcje kratowe postaci

y = f (Tk) = f [k]

i modeluje je.

Cyfrowe modelowanie oryginału wymaga algorytmizacji matematycznego opisu oryginału. Algorytm to ściśle określona reguła wykonywania operacji obliczeniowych na liczbach, której kolejność stanowi ogólny proces przekształcania danych źródłowych w wynik rozwiązania odpowiedniego problemu. Algorytmizacja opisu matematycznego polega na uzyskaniu algorytmu odpowiadającego temu opisowi. Jeżeli np. działanie oryginału opisuje równanie różniczkowe, to algorytmizacja polega na zestawieniu algorytmu numerycznego rozwiązania tego równania. Zasadniczo algorytmizacja opisu matematycznego polega na doprowadzeniu go do postaci wygodnej do modelowania cyfrowego. Odbywa się to w oparciu o wybraną numeryczną metodę rozwiązania problemu, która pozwala sprowadzić rozwiązanie do działań arytmetycznych. W takim przypadku często przydatne jest użycie aparatu funkcji sieciowych.

Algorytm można przedstawić w trzech głównych postaciach: analitycznej, werbalnej i strukturalnej.

Analityczną formą algorytmu jest jego wyrażenie jako jawna funkcja odpowiednich argumentów lub jako powtarzająca się formuła. Forma jest bardzo zwarta, ale możliwości jej zastosowania są ograniczone.

Werbalną formą algorytmu jest jego opis w języku naturalnym, szczegółowa instrukcja dla osoby rozwiązującej problem ręcznie na papierze. Forma jest uniwersalna, jednak jest uciążliwa i mało widoczna.

Formą strukturalną algorytmu jest jego opis w postaci schematu blokowego składającego się z poszczególnych bloków połączonych liniami prostymi. Każdy blok odpowiada jakiejś operacji na liczbach. Forma jest uniwersalna, zwarta i wizualna. Dlatego jest używany najczęściej.

Ogólnie rzecz biorąc, proces cyfrowego modelowania komputerowego składa się z następujących etapów:

1. Opracowanie algorytmu wyjściowego, tj. algorytmizacja opisu matematycznego oryginału.

2. Opracowanie algorytmu pośredniego w języku algorytmicznym.

3. Uzyskanie algorytmu maszynowego.

4. Debugowanie programu.

5. Maszynowa implementacja rozwiązania problemu.

Pierwsze cztery etapy przygotowawcze są znacznie uproszczone poprzez zastosowanie standardowych algorytmów i odpowiednich standardowych programów, wstępnie skompilowanych i wielokrotnie wykorzystywanych do rozwiązywania problemów, takich jak obliczanie funkcji elementarnych, wyznaczanie zer wielomianów, przeliczanie liczb z jednego systemu liczbowego na inny itp. .

Zestaw narzędzi programowych zaprojektowanych w celu zmniejszenia pracochłonności prac przygotowawczych, zwiększenia wydajności korzystania z maszyny i ułatwienia jej obsługi nazywa się cyfrowym oprogramowaniem komputerowym.

W modelowaniu cyfrowym najczęściej mamy do czynienia z funkcjami kratowymi f[k], odpowiadającymi funkcjom ciągłym argumentu ciągłego. Funkcja ciągła, która pokrywa się z dyskretami funkcji sieciowej, nazywana jest obwiednią tej funkcji sieciowej. Każda funkcja ciągła f(t) może służyć jako obwiednia różnych funkcji sieciowych f i [k] = f(T i k), różniących się parametrem T i – okresem próbkowania funkcji f(t). Każda funkcja kratowa może mieć wiele różnych obwiedni.

Różne formy i reprezentacje matematyczne, które charakteryzują lub definiują funkcję ciągłą f(t), można powiązać z analogami, które charakteryzują lub definiują funkcję sieci f(k). Analog pierwszej pochodnej funkcji f(t)

są pierwszym równaniem różnicowym funkcji f[k]

Te. następuje przejście do numerycznych metod rozwiązywania.

Więc w końcu

* Pierwszym etapem projektowania jest wybór najbardziej odpowiedniego modelu matematycznego. Ten etap powinien zapewnić otrzymanie najskuteczniejszego modelu matematycznego i opracowanie wymagań dotyczących warunków modelu;

* Drugim etapem procesu projektowania jest przygotowanie modelu matematycznego do symulacji. Problem rozwiązuje się poprzez sprowadzenie procesu dyskretnego na schemat blokowy i doprowadzenie układu równań do postaci dyskretnej. Etap ten kończy się dwoma wynikami: opisem matematycznym i schematem blokowym całego układu dyskretnego. Schemat strukturalny powstałego systemu dyskretnego musi być identyczny ze schematem strukturalnym systemu ciągłego pod względem przepływu informacji;

* etap trzeci to napisanie programu umożliwiającego przeprowadzenie modelowania matematycznego. Jest to etap decydujący, obejmujący ścisłe trzymanie się zależności czasowych w syntetyzowanym modelu matematycznym, z reguły najwięcej problemów pojawia się przy przejściu od problemów etapu II do problemów etapu III;

* czwarty etap to testowanie, sprawdzanie i debugowanie modelu, po czym uzyskuje się gotowy model.