Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Podobné dokumenty
Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Chapter Základní principy simulace :).

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Struktura a architektura počítačů (BI-SAP) 3

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Sekvenční logické obvody

9. Praktická verifikace

SEKVENČNÍ LOGICKÉ OBVODY

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Struktura a architektura počítačů (BI-SAP) 4

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

7. Pracovní postupy. Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt

Struktura a architektura počítačů (BI-SAP) 10

3. Sekvenční logické obvody

5. Sekvenční logické obvody

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Y36SAP 2007 Y36SAP-4. Logické obvody kombinační a sekvenční používané v číslicovém počítači Sčítačka, půlsčítačka, registr, čítač

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Konečný automat. Studium chování dynam. Systémů s diskrétním parametrem číslic. Počítae, nervové sys, jazyky...

Architektura počítačů Logické obvody

7. Popis konečného automatu

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

2. Synchronní číslicové systémy

VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE

12. VHDL pro verifikaci - Testbench I

Systém řízení sběrnice

Logické obvody 10. Neúplné čítače Asynchronní čítače Hazardy v kombinačních obvodech Metastabilita Logické obvody - 10 hazardy 1

Modelování a simulace Lukáš Otte

Pohled do nitra mikroprocesoru Josef Horálek

10. Techniky formální verifikace a validace

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Maturitní otázky z předmětu PROGRAMOVÁNÍ

U Úvod do modelování a simulace systémů

IMOSI - MODELACE A SIMULACE LEARN 2013 správně možná špatně

Princip funkce počítače

Architektura počítačů Logické obvody

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ

Vrstvy periferních rozhraní

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y Rovnicí y = x 1. Přiřazení signálů:

LOGICKÉ SYSTÉMY PRO ŘÍZENÍ

Přerušovací systém s prioritním řetězem

Koncept pokročilého návrhu ve VHDL. INP - cvičení 2

Organizace předmětu, podmínky pro získání klasifikovaného zápočtu

Profilová část maturitní zkoušky 2014/2015

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

Teorie systémů TES 1. Úvod

Profilová část maturitní zkoušky 2015/2016

Paralelní programování

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Návrh. číslicových obvodů

Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě

SYSTÉMY NAČIPU MI-SOC

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě

Počítač jako prostředek řízení. Struktura a organizace počítače

10 Metody a metodologie strukturované analýzy

Témata profilové maturitní zkoušky

PROGRAMOVATELNÉ LOGICKÉ OBVODY

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Základy logického řízení

Cíle. Teoretický úvod

Praktické úlohy- 2.oblast zaměření

Algebra blokových schémat Osnova kurzu

Architektura počítače

Struktura programu v době běhu

Návrh čítače jako automatu

OVLÁDACÍ OBVODY ELEKTRICKÝCH ZAŘÍZENÍ

Návrh asynchronního automatu

Sekvenční logické obvody

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y. Rovnicí y = x 1. x 0. Přiřazení signálů: ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Principy komunikace s adaptéry periferních zařízení (PZ)

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Profilová část maturitní zkoušky 2017/2018

3. Počítačové systémy

Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D.

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Návrh ovládání zdroje ATX

3.7.5 Znaménkové operátory Násobící operátory Rùzné operátory Základní objekty Konstanty Sig

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Profilová část maturitní zkoušky 2013/2014

SIGNÁLY A LINEÁRNÍ SYSTÉMY

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Formální Metody a Specifikace (LS 2011) Formální metody pro kyber-fyzikální systémy

Úvod. Programovací paradigmata

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

Katedra informatiky a výpočetní techniky. 10. prosince Ing. Tomáš Zahradnický doc. Ing. Róbert Lórencz, CSc.

Logické funkce a obvody, zobrazení výstupů

Firmware řídící jednotky stejnosměrného generátoru

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Projekt realizovaný na SPŠ Nové Město nad Metují. s finanční podporou v Operačním programu Vzdělávání pro konkurenceschopnost Královéhradeckého kraje

Úvod do systémů hromadné obsluhy. charakteristika SHO: systém, který poskytuje obsluhu určitého typu

Architektura počítačů

OSA. maximalizace minimalizace 1/22

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ

Transkript:

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické v Praze, fakulta informačních technologií Přednáška 1: Úvod do simulací Stručný obsah: osnova předmětu, základní pojmy, úrovně abstrakce popisu císlicových obvodů, obory simulačních hodnot, synchronní a asynchronní simulace, simulace strukturních schémat, typy zpoždění.

Obsah předmětu 1. Úvod do simulací, 2. VHDL: entity a architektury, 3. VHDL: datové typy, 4. VHDL: procesy, sekvenční příkazy, atributy signálů, 5. VHDL: VHDL: funkce a procedury, 6. VHDL: paralelní příkazy, 7. VHDL: specifikace hierarchických struktur, parametrizace entit, konfigurace komponent, testování, syntetizovatelné konstrukce jazyka 8. VERILOG: srovnání s VHDL, moduly, datové typy, 9. VERILOG: sekvenční a paralelní prostředí, 10. VERILOG: specifikace struktur, 11. VERILOG: parametrizace modulů, testování časových relací, uživatelsky definované primitivní členy, modely přenosových hradel, 12. VERILOG: abstraktní události, funkce a procedury, 13. VERILOG: syntetizovatelné konstrukce jazyka Literatura: uvedena v úvodu jednotlivých systémů 21.10.2011 MI-SIM: Jiří Douša 2

Základní pojmy Zkoumání světa: nutné třídění, rozlišování, zjednodušování, isolace Objekt (entita) - část okolního světa Systém pojem intuitivně užívaný v různých souvislostech - charakteristika: účelově definovaný na objektu (naše vidění reality) stanovení rozlišení úrovně, vymezení části objektu a stanovení vnitřní organizace objektu. matematicky specifikovaný termín v teorii systémů a modelování příklady: doprav. systém Prahy: tram., autob, metro,.. zažív. systém člověka: žalud., střeva, játra,.. paměť počítače: registry, cache, oper. pam, Reálný objekt Systém - model filtr rozlišovací úrovně 21.10.2011 MI-SIM: Jiří Douša 3

Základní pojmy Modelování - stručná charakteristika: obecné metoda společná všem vědám tvorba systému - modelu na reálném objektu cílevědomá činnost sloužící k získávání poznatků o reálném objektu jde o platné zjednodušování z hlediska daného záměru ( nutné zachování podstatných rysů) Model nejširší pojetí: metodologický nástroj (velmi volně řečeno); př: dílenský výkres, schéma obvodu, mapa terénu, atd. užší pojetí: zaměříme se pouze na matematické modely : Simulace striktně matematicky specifikovaný systém na určité úrovni abstrakce analytické modely (př.: Ohmův zákon) numerické modely (simulační modely) neuvažujeme zde fyzikální modely (aeronautický tunel apod.) numerické řešení matematických modelů Simulátor (simulační systém) výpočetní systém (počítač, člověk,..) provádějící numerický výpočet reálný objekt modelování model simulace simulátor 21.10.2011 MI-SIM: Jiří Douša 4

Základní pojmy prvek systému - dále nedělitelná část systému (modelu) atributy systému - veličiny charakterizující prvky systému (modelu) chování systému - průběh hodnot atributů v čase či prostoru okolí systému - zdroj podnětů na systém (model) interakce - působení mezi prvky systému (modelu) navzájem a mezi prvky a okolím Třídění systémů (modelů) dle interakce s okolím: otevřené (interakce s okolím) uzavřené (bez interakce s okolím) dle vnitřní paměti: statické - (bez vnitřní paměti; př. kombinační obvod) dynamické - (s vnitřní pamětí; př. sekvenční obvod ) dle chování: spojité diskrétní kombinované stochastické podrobnější třídění: využívá zavedené matematické formalismy (př.: DESS, DTSS, DEVS, DEV&DESS,..) 21.10.2011 MI-SIM: Jiří Douša 5

Ověřování návrhů číslicových obvodů a) ověření pomocí fyzického prototypu signál. generátor PROTOTYP oscilo logický analyzátor b) ověření pomocí simulačního modelu: soubor vstupních signálů MODEL soubor výstupních signálů aktivní ( mluvící ) komponenty nevýhoda: u velmi složitých systémů není možné ověřit celý stavový prostor c) metody formální verifikace: ověření konzistence navrženého systému s požadovaným chováním pro všechny možné vstupy 21.10.2011 MI-SIM: Jiří Douša 6

spojitý nebo diskrétní systém diskrétní systém Abstrakce popisu číslicových obvodů nějaká vyšší úroveň pro společný návrh SW a HW System Architecture Level : obvykle čas není zahrnut, celkové ověření funkce, System Performace Level : čas zahrnut, systémy hromadné obsluhy Transaction Level Modeling : důraz: přenos dat (transactions), čas zahrnut úroveň registrů ( RTL level ) datové cesty, registry, časování, řídící obvod specifikace všech signálů v každém hodinovém cyklu př.: násobička: datová cesta (registry, sčítačka, posouvací obvod) + řadič úroveň hradel ( logical level ) schema pouze ze základních logických obvodů fyzikální úroveň (electric level) schema s transistory apod. 21.10.2011 MI-SIM: Jiří Douša 7

Simulace strojového kódu účel: ladění programů ve strojových kódech, funkční model procesoru: start inicializace obsahu hlavní paměti čtení instrukce z hlavní paměti operační znak =? + - * ADD SUB MUL inkr. PC inkr. PC inkr. PC stop výpis registrů, sběrnic, atd 21.10.2011 MI-SIM: Jiří Douša 8

Obor simulačních hodnot, rezoluční funkce Příklad: čtyřhodnotový obor hodnot: 0, 1, X, Z Rezoluční funkce: určí výsledek jako superposici hodnot jednotlivých budičů 2 budiče: a, b : budič b 0 1 X Z 0 0 X X 0 budič a 1 X 1 X 1 X X X X X Z 0 1 X Z více budičů: a, b, c, d : a (Z,1) (Z,Z) b (0,Z) c (1,Z) d S begin S:= Z; S:= RF (S,a); (Z, 1) S:= RF (S,b); (Z, 1) S:= RF (S,c); (0, 1) S:= RF (S,d); (X,1) end 21.10.2011 MI-SIM: Jiří Douša 9

Obor simulačních hodnot devítistavový systém: Z0, Z1, ZX, R0, R1, RX, F0, F1, FX hodnoty: 0 síly: Z..week 1 R.resistive X F.forcing př: MOS invertor, otevřený kolektor VCC GND R R1 F0 dvanáctistavový systém: + neznámá síla U př.: Z0 nebo F0 nebo R0 U0 hodnoty síly Z Z0 Z1 ZX R R0 R1 RX F F0 F1 FX U U0 U1 UX Poznámka: existuje i jednostodvacetihodnotový systém 21.10.2011 MI-SIM: Jiří Douša 10

Zpracování zpoždění signálu synchronní simulace zpoždění se neuvažuje metoda pevného časového kroku asynchronní simulace zpoždění se uvažuje: jednotkové - stejné pro všechny obvody násobné - násobek jednotkového zpoždění libovolné podrobnější přístup umožňuje: zjistit statické hazardy a dynamické hazardy ověřit dodržení předstihů a přesahů ověřit správnost frekvence hodinových pulsů metoda proměnného časového kroku 21.10.2011 MI-SIM: Jiří Douša 11

Synchronní model JK klopného obvodu hladinový JK obvod: funkční model JK - clk=1? + + J = 0? - + - + - K = 0? K = 0? Q:=0 QN:=1 Q:=1 QN=0 end Q:=QN QN:=neg QN 21.10.2011 MI-SIM: Jiří Douša 12

Principy simulace strukturních obvodů synchronní simulace kombinační cesty (KČ) X Y paměťové obvody (PO) clk clk PO KČ průběh simulace 21.10.2011 MI-SIM: Jiří Douša 13

Simulační cyklus pro synchronní simulaci Princip: lze oddělit výpočet kombinační a paměťové části Algoritmus výpočtu: begin počáteční nastavení PO time:= 0 čti vstup X i kompletní výpočet KČ time := time + 1 konec simulace? - tiskni výstup Y i + end výpočet PO 21.10.2011 MI-SIM: Jiří Douša 14

Organizace výpočtu při simulaci struktur Paměťové obvody PO: často se PO vzájemně neovlivňují (jsou odděleny kombinační částí) => libovolná posloupnost výpočtu, obecný algoritmus: - dvoufázový průchod 1) výpočet a zapamatování nových hodnot 2) přenos nových hodnot do skutečných výstupů pomocné proměnné: 1 1 1 2 2 2 KO KO KO skutečné výstupy 21.10.2011 MI-SIM: Jiří Douša 15

Organizace výpočtu při simulaci struktur Kombinační cesty KČ 1 2.. n 3. Možné strategie výpočtu : repetiční vyhodnocení neuspořádaných prvků: například: n,.,3,2,1, správná odezva: maximálně n průchodů (acyklický graf), po n průchodech - ustálení všech výstupů, zpomalení výpočtu, vyhodnocení uspořádaných prvků ve směru toku signálu: například: 1, 2, 3,..., n správná odezva: 1 průchod, problém uspořádání (obecně nelze jednorázově při překladu: ( viz obousměrná sběrnice), nutno provádět dynamicky a zjednodušeně v průběhu simulace => problém jednoznačného chování, obecný algoritmus: oddělení výpočtu odezvy a uložení hodnot => zpomalení 21.10.2011 MI-SIM: Jiří Douša 16

Model dílčího obvodu: Repetiční výpočet struktur poznámka: GU příznak globálního ustálení begin IP (inicializační průchod)? - + 1. průchod PO + - výpočet PO uložení výstupů + clock = 1? - výpočet KČ nastala změna některého výstupu? - + GU = False počáteční nastavení PO end 21.10.2011 MI-SIM: Jiří Douša 17

Repetiční výpočet struktur Simulační cyklus: poznámka: konstantní časový krok begin time: = 0, clk := 0, IP := True VVDM IP := False, výpočet všech dílčích modelů time:= time + 1 False GU:=True VVDM GU? True clk: = 1 VVDM clk: = 0 konec simulace? - + end (GU globální příznak ustálení) 2x 21.10.2011 MI-SIM: Jiří Douša 18

Asynchronní simulace předpoklad: uvažujeme jednotkové zpoždění del X i 1 1-> 0 1 b & & c a 1->0 0->1 1 d 1->0->1 synchronní simulace: vstup Xi, vyhodnocení a, b, c, d nevystihuje paralelní šíření signálu asynchronní simulace: vstup Xi, vyhodnocení a,b, time:= time+ del, uložení a,b, vyhodnocení c,d, time:=time+ del, uložení c,d, vyhodnocení d, time:=time+ del, uložení d šířící se změny signálu X i Y i PAZ ( právě aktivní zásobník) PŘAZ ( příště aktivní zásobník) 21.10.2011 MI-SIM: Jiří Douša 19

Asynchronní simulace Strategie výpočtu pro jednotkové zpoždění: PAZ právě aktivní zásobník, PŘAK..příště AZ begin počát. nast. PO, time:=0, nulování PAZ a PŘAZ čti X i naplánuj vstupní logické členy do PAZ time := time + del až do vyprázdnění PAZ provedˇ: simulace logických členů + vyjmutí z PAZ, uložení výstupních hodnot naplánování všech následovníků do PŘAZ PAZ konec periody clk? - + PŘAZ konec simulace? + - výpočet PO + end uložení hodnot 21.10.2011 MI-SIM: Jiří Douša 20

Asynchronní simulace charakteristika předešlého přístupu: dynamické uspořádání dílčích modulů dle zapojení simulace všech logických členů metoda pevného časového kroku jednotkové (stejné) zpoždění modifikace předešlého přístupu: připustíme násobné zpoždění: T= k * de, hodnota k specifikuje zásobník pro uložení příslušného následovníka PAZ. del PAZ PŘAZ 21.10.2011 MI-SIM: Jiří Douša 21

Asynchronní simulace Zobecnění předešlého přístupu: nerozlišujeme pamětˇové a kombinační členy připustíme libovolné zpoždění oddělíme výpočty dílčích členů a uložení vypočtených hodnot do výstupních signálů (delta zpoždění) použijeme metodu proměnného časového kroku, provedení veškerých změn v modelu podmíníme existencí příslušného záznamu v seznamu událostí SU PAZ + všechny PŘAZ nahradíme jediným seznamem událostí SU, každou událost doplníme časem události použijeme metodu aktivní cesty neplánujeme soustavně všechny logické členy do SU, ale pouze kandidáty na změnu (t. j. členy u nichž došlo ke změně hodnoty některého ze vstupních signálů) 21.10.2011 MI-SIM: Jiří Douša 22

Asynchronní simulace seznam událostí (event list): položky: záznamy událostí (event notices) čas události (KDY?) specifikace události - odkaz na objekt (CO?) struktura jednocestně zřětězený, setříděný dvoucestně zřetězený, setříděný hierarchický apod. PRED SUC hlava seznamu PRED SUC time.. PRED SUC time PRED SUC time událost událost událost 21.10.2011 MI-SIM: Jiří Douša 23

Typy zpoždění a T b dopravní zpoždění: pro vodiče a b T T T setrvačné zpoždění: pro logické členy a Naplánuj Zruš b T T T 21.10.2011 MI-SIM: Jiří Douša 24

Nesprávný model zpoždění předpoklad: existuje jádro pro časovou synchronizaci dílčích elementů simulované struktury použití jediného procesu ( koprogramu) omezení: modeluje správně pouze pulsy jejichž šířka i vzdálenost jsou větší než T vlivem omezení není rozdíl mezi dopravním a setrvačným zpožděním start čekej na změnu vstupu a pom := vstup a ( pom.dočasná pamětˇ) čekej po dobu T necitlivost vůči vstupu výstup b:= pom uložení do výstupu b 21.10.2011 MI-SIM: Jiří Douša 25

Model dopravního zpoždění chování objektu ZPOŽDĚNÍ: použití pomocných dynamických objektů DELAY a podprogramů Start DELAY:: uloz čekej na změnu vstupu a výstup b := pom generuj nový objekt DELAY DELAY. pom := a vymaž ze SU tento objekt zruš objekt DELAY naplánuj do SU metodu.ulož objektu DELAY za dobu T end Poznámky: přesun libovolného počtu pulsů pom proměnná objektu DELAY sloužící jako dočasná pamětˇvýstupní hodnoty 21.10.2011 MI-SIM: Jiří Douša 26

Model setrvačného zpoždění chování objektu zpoždění: použití pomocného objektu DELAY a podprogramů uvažujeme pouze dvouhodnotovou logiku Start DELAY:: uloz generuj objekt DELAY čekej na změnu vstupu a + DELAY. pom = a? - DELAY.pom:= a výstup b:= pom vymaž z plánu tento objekt (čekej na aktivaci) je DELAY naplánován? + vymaž DELAY ze SU - naplánuj do SU metodu ulož objektu DELAY za dobu T pom.proměnná objektu DELAY, která obsahuje poslední hodnotu výstupu nebo hodnotu ke které výstup právě klopí 21.10.2011 MI-SIM: Jiří Douša 27

Koncepce simulačních systémů Možné historické koncepce simulačních nástrojů: jednoúčelové : ( př. simulátory strojového kódu ) obecné: implementace: obvodová, programová, strukturní popis: jednoúrovňový, víceúrovňový (hierarchický), funkční popis: umožňuje vytvářet nové ( uživatelem definované prvky) s funkčním popisem, koncepce programových simulátorů: systém podpůrných podprogramů a tříd, ( SystemC ) simulační jazyk + překladač, ( VHDL, Verilog, SystemVerilog ) kompilační, interpretační: universální model pracující nad seznamem událostí interpretuje data, (výstup kompilátoru) nesoucí informace o struktuře simulovaného obvodu. 21.10.2011 MI-SIM: Jiří Douša 28