OPERAČNÍ PROGRAM PRAHA ADAPTABILITA & EU:

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

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

Popis programu: Popis přípon důležitých souborů: *.qpf projektový soubor Quartusu

12. VHDL pro verifikaci - Testbench I

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

Jazyk VHDL konstanty, signály a proměnné. Jazyk VHDL paralelní a sekvenční doména. Kurz A0B38FPGA Aplikace hradlových polí

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

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

Operační paměti počítačů PC

Příklady popisu základních obvodů ve VHDL

FPGA + mikroprocesorové jádro:

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

INSTALACE DATABÁZE ORACLE A SYSTÉMU ABRA NA OS WINDOWS

Direct Digital Synthesis (DDS)

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Cíle. Teoretický úvod

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

Miroslav Flídr Počítačové systémy LS /21- Západočeská univerzita v Plzni

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Základní logická hradla, Booleova algebra, De Morganovy zákony Student

Úvod do jazyka VHDL. Jan Kořenek Návrh číslicových systémů

Kryptoanalýza šifry PRESENT pomocí rekonfigurovatelného hardware COPACOBANA

První kroky s METEL IEC IDE

PicoBlaze lekce 1: assembler, C překladač a simulační prostředí Jiří Svozil, Leoš Kafka, Jiří Kadlec svozil@utia.cas.cz

Tlačítka. Konektor programování

Vytvoření nového projektu ve vývojovém prostředí Quartus II Version 9.1 Servise Pack 2

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

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

Návrh ovládání zdroje ATX

1. Seznamte se s výukovou platformou FITkit (

Instalační a uživatelská příručka aplikace VHDT

Použití programu uscope k simulaci výukového přípravku pro předmět PMP

Jazyk VHDL zápis čísel, znaků a řetězců. Jazyk VHDL základní datové typy a operátory. Kurz A0B38FPGA Aplikace hradlových polí

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

PROGRAMOVATELNÉ LOGICKÉ OBVODY

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

Číslicové obvody a jazyk VHDL

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni

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

Nápověda k aplikaci EA Script Engine

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

Souhrn Apendixu A doporučení VHDL

SYSTÉMY NAČIPU MI-SOC

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu

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

2. Entity, Architecture, Process

Paměti Flash. Paměti Flash. Základní charakteristiky

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

Pokročilé využití jazyka VHDL. Pavel Lafata

IT ESS II. 1. Operating Systém Fundamentals

Richard Šusta, verze 1.0 ze dne 10. září 2014, publikováno pod GNU Free Documentation License

VirtualBox desktopová virtualizace. Zdeněk Merta

7. Popis konečného automatu

Instalace SQL 2008 R2 na Windows 7 (64bit)

Projekt: Přístupový terminál

PROGRAMOVATELNÁ LOGICKÁ POLE A JAZYKY HDL

Přednáška. Správa paměti I. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška - Čítače. 2013, kat. měření, ČVUT - FEL, Praha J. Fischer. A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1

Architektura počítačů Logické obvody

Obsah ZÁKLADNÍ DESKA. O autorech 11 Úvod 13

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 2. díl

Ing. Michal Martin. Spojení PLC CLICK s NA-9289

9. Praktická verifikace

Simulace v Quartus II 13.0sp1

GRAFICKÉ ROZHRANÍ V MATLABU PRO ŘÍZENÍ DIGITÁLNÍHO DETEKTORU PROSTŘEDNICTVÍM RS232 LINKY

Projekt: Přístupový terminál

SDRAM (synchronní DRAM) Cíl přednášky:

Programovatelná logika

XC3000(A) / XC3100(A)

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

Standard VGA (Video Graphics Array)

Sčítačky Válcový posouvač. Demonstrační cvičení 6

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

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

SPARTAN - 3 Xilinx FPGA Device

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST.

Programovací jazyk Pascal

Pokročilé architektury počítačů

Práce v návrhovém prostředí Xilinx ISE WebPack 9.2i

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

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Práce v návrhovém prostředí Xilinx ISE WebPack 12 BDOM UMEL FEKT Šteffan Pavel

Architektura počítačů Logické obvody

Úvod do mobilní robotiky AIL028

Komunikace modulu s procesorem SPI protokol

CHARAKTERISTIKY MODELŮ PC

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

Násobičky, Boothovo překódování. Demonstrační cvičení 7

Příklad č. 1 Přepis informace ze vstupů (SW0 až SW3) na ledky (LEDG0 až LEDG3)

8.3 Popis dialogových oken

MSP 430F1611. Jiří Kašpar. Charakteristika

Procesy a vlákna (Processes and Threads)

Neřízené usměrňovače reálné vlastnosti

Testovací protokol. 1 Informace o testování. 2 Testovací prostředí. 3 Vlastnosti generátoru klíčů. Příloha č. 11. Testovaný generátor: Portecle 1.

Operační systémy (OS)

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

Operační systémy. Přednáška 7: Správa paměti I

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

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

Transkript:

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Ing. Radek Sedláček, Ph.D., katedra měření K13138 Nástroje a metody pro simulaci, tvorba TestBench souborů Speciální interní struktury FPGA násobičky, PLL, RAM Kurz A0B38FPGA Aplikace hradlových polí OPERAČNÍ PROGRAM PRAHA ADAPTABILITA Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Nástroje a metody pro simulaci 1. část přednášky Kurz A0B38FPGA Aplikace hradlových polí A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 2 z 49

Nástroje pro simulaci VHDL ModelSim profesionální nástroj pro simulování a debugování, výrobce : Mentor Graphics, jde o nejrozšířenější a nejvíce používaný software Xillinx ISE Webpack(free IDE for Xillinx FPGA) součástí instalace tzv. ISE simulator (ISIM) ALTERA - QUARTUS II obsahuje speciální limitovanou verzi ModelSimu Altera edition (omezení na 10 000 řádek zdrojového kódu) + real-time logický analyzátor Signal Tap A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 3 z 49

ISE Simulator (ISim) A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 4 z 49

ModelSim - Altera Products ModelSim-Altera Products Product Details ModelSim- Altera Web Edition (1) ModelSim- Altera Starter Edition ModelSim- Altera Edition Price Discontinued FREE No license required $945, includes software updates for one year Buy Simulation Performance Quartus II Software Support 1x 1.5x 2x Quartus II Web Edition software Quartus II Web Edition and Subscription Edition software Device Support CPLDs and small FPGAs All Altera devices (Including MAX CPLDs, Arria, Cyclone, and Stratix series FPGAs) OS Support Windows XP Windows XP, Vista (32 bit) Red Hat Enterprise Linux 4 and 5 (32 bit) SUSE Enterprise Linux 10 (32 bit) Design Size Support Small designs 10,000 executable line limit Small designs 10,000 executable line limit All design sizes (2) A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 5 z 49

ModelSim - Altera Starter Edition A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 6 z 49

ModelSim - Altera Starter Edition Umožňuje ověření chování VHDL kódů V rámci simulace lze vidět chování všech požadovaných signálů či proměnných - lze např. měnit časové měřítko, vyhledávat události (náběžné, sestupné hrany), lze VHDL kód krokovat! Jak na simulaci? nutné založit nový projekt vytvořit nový VHDL soubor, případně přidat již připravený VHDL soubor(y) po té zvolit příkaz Simulate zadefinovat signály, které mají být v simulaci obsaženy korektně nastavit dobu simulace (lze změnit defaultní nastavení v menu Simulation Run-time options výstup z kompilátoru defaultně se nezobrazuje v okně Transcipt opět lze změnit v menu Projekt Project settings Display compilator output A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 7 z 49

Alternativní způsob práce s VHDL Využít volně dostupné textové editory s podporou VHDL syntaxe a možností volání externích programů (PSPad http://www.pspad.com/cz/, Notepad++ http://notepad-plusplus.org/ ) Obecný postup konfigurace textového editoru pro využití ModelSimu : Vytvoření pracovní knihovny (složky) work pro výstup kompilátoru (F9) příkaz vlib work Přeložení zdrojového souboru ve VHDL (test_entity.vhd) (F10) příkaz vcom.exe vcom -93 -O0 -check_synthesis test_entity.vhd Přeložení testovací souboru VHDL (testbench.vhd) (F10) vcom.exe vcom -93 -O0 -check_synthesis testbench.vhd V případě potřeby smazání pracovní knihovny (složky) work (F11) vdel all Spuštění ModelSimu (F12) vsim.exe Pozn.: PSPAD umožňuje blokový komentář (hl.menu formát zakomentovat) A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 8 z 49

Program Notepad++ A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 9 z 49

Program PSPad A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 10 z 49

ModelSim příprava pro simulaci 1.krok Po provedení předchozích kroků je vidět složka work mezi knihovnami - další krok rozkliknout složku work A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 11 z 49

ModelSim - příprava pro simulaci 2.krok Další krok dvojklik na položku testbench, eventulně pravé tlačítko na myši kontextové menu položka Simulate A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 12 z 49

ModelSim - příprava pro simulaci 3.krok A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 13 z 49

ModelSim - příprava pro simulaci 4.krok A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 14 z 49

ModelSim - příprava pro simulaci 5.krok A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 15 z 49

ModelSim - příprava pro simulaci 6.krok Poslední krok nastavit dobu simulace Spustit ji pomocí příkazu Run dobu simulace Spuštění simulace příkaz RUN A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 16 z 49

ModelSim - příprava pro simulaci 7.krok A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 17 z 49

Workflow při tvorbě VHDL projektů 1. Vytvoření zdrojových VHDL kódů realizující požadované chování, resp. požadovanou funkci 2. Verifikace pomocí tzv. testbench souborů 3. Fitting na již konkrétním FPGA testování přímo na konkrétním HW Testbech = VHDL kód napsaný za účelem ověření původního zdrojového VHDL kódu Cílem je stimulovat testovanou entitu pokud možno pro všechny možné kombinace a snímat všechny výstupní signály Testbench obvykle nemá žádné vstupy a výstupy jeho deklace je prázdna bez deklarace portů A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 18 z 49

Přístupy pro vytváření testbench souborů Realizace entity, která generuje na vstupech testované entity všechny možné kombinace (pokud je to reálné a časově schůdné) a kontroluje všechny výstupy používají se tzv. test vektory, ty jsou umístěny v test_bench souboru nebo v externím souboru využívá se textio.all package (read,write, radline, writeline atd.) Realizace entity, jenž obsahuje algoritmus (typicky v rámci procesu), kterým lze ověřit chování entity (např. testování čítače) A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 19 z 49

Příklad 1: Ověření entity čítač A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 20 z 49

Testbench pro ověření entity s testovacími vektory A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 21 z 49

Testbench pro ověření entity s testovacími vektory - pokračování A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 22 z 49

Příklad 2: entita pro ověření A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 23 z 49

Testbench založený na algoritmu A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 24 z 49

Testbench založený na algoritmu - prokračování A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 25 z 49

Generování signálu CLK A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 26 z 49

Generování pulzu A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 27 z 49

Generování sekvence bitů A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 28 z 49

Generování testovacích vektorů A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 29 z 49

Speciální interní struktury FPGA násobičky, PLL, RAM 2. část přednášky Kurz A0B38FPGA Aplikace hradlových polí A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 30 z 49

Speciální vnitřní struktury dostupné na FPGA Současné obvody FGPA typicky obsahují: Paměťové bloky Obvody fázového závěsu (PLL) slouží pro násobení a dělení kmitočtu Vestavěné násobičky (výhodné zejména pro číslicové zpracování signálů) Aktuální řada Cyclone V FPGA + ARM A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 31 z 49

Paměťové bloky Např. Cyclone II obvody obsahují vestavěné paměťové struktury pro adresování vnitřní paměti umístěné přímo na FPGA obvodu Vestavěné paměťové bloky - složeny ze sloupců bloků typu M4K memory blocks ty mohou být použity v různých režimech, např. jako RAM, first-in first-out (FIFO) buffers nebo ROM. M4K představují paměť typu RAM o velikosti 4kB (celkem 1Mbit) - pracují až na frekvencích 250 MHz. Organizace M4K: 4K 1, 2K 2, 1K 4, 512 8, 512 9, 256 16, 256 18, 128 32, 128 36 A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 32 z 49

M4K bloky The M4K mají tyto charakteristické rysy: až 1 Mbit of RAM dostupný bez jakékoliv další logiky 4,096 paměťových bitů /blok (s paritními bitami 4,608 bits) Proměnná konfiguace připojení Skutečný dual-port přístup(one read and one write, two reads, or two writes) Při zápisu lze využít bitovou masku pro zapisované data Lze paměť inicializovat pomocí externího souboru max. mezní pracovní kmitočet : 250 MHz A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 33 z 49

Klíčové vlastnosti a režimy M4k bloků Packed mode Address clock enable Single-port mode Simple dual-port mode True dual-port mode Embedded shift register mode ROM mode FIFO buffer Simple dual-port mixed width support True dual-port mixed width support Memory Initialization File (.mif) Mixed-clock mode Power-up condition - Outputs cleared Register clears - Output registers only Same-port read-during-write - New data available at positive clock edge Mixed-port read-during-write Old data available at positive clock edge A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 34 z 49

Počet M4K bloků v rámci řady obvodů Cyclone II Device M4K Blocks Total RAM Bits EP2C5 26 119,808 EP2C8 36 165,888 EP2C15 52 239,616 EP2C20 52 239,616 EP2C35 105 483,840 EP2C50 129 594,432 EP2C70 250 1,152,000 A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 35 z 49

Režim Single-port mode A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 36 z 49

Režim Simple dual-port mode A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 37 z 49

Obvody PLL umístění na FGPA A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 38 z 49

Vnitřní struktur PLL A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 39 z 49

Vestavěné násobičky na obvodech řady Cyclone II A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 40 z 49

A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 41 z 49

Jedna 18bitová vestavěná násobička A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 42 z 49

Dvě 9-ti bitové vestavěné násobičky A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 43 z 49

Jak se tyto bloky využít v rámci svého projektu? Spustit MegaWizard Plug-In Manager Zvolit patřičný typ paměti A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 44 z 49

Příklad 1: vytvoření jednoduché single port RAM A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 45 z 49

Příklad 2: vytvoření hodinové signálu pomocí PLL A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 46 z 49

Integrace výstupu MegaWizard Plug-In Manager Po vytvoření vlastního bloku - MegaWizard Plug-In Manager vygeneruje soubory *. VHD - definuje architekturu nově vytvořeného modulu *.CMP - definuje vytvoření jedné komponenty Příklad: deklarace komponenty RAM_256x8 component RAM_256x8 PORT ( address : IN STD_LOGIC_VECTOR (7 DOWNTO 0); clock : IN STD_LOGIC ; data : IN STD_LOGIC_VECTOR (7 DOWNTO 0); wren : IN STD_LOGIC ; q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ; end component; A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 47 z 49

Jak lze využít nově vytvořené bloky? Vložit novou komponentu do architektury entity, před klíčové počáteční slovo begin V těle architektury je potřeba vložit novou instanci této komponenty pomocí příkazu: dut: RAM_256x8 port map ( addr,clock, sw, pos_btn(0), data_out); A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 48 z 49

Dotazy? A0B38APH Aplikace hradlových polí - přednáška 6 Snímek 49 z 49