Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István

Hasonló dokumentumok
LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Előadó: Dr. Oniga István

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Digitális rendszerek tervezése FPGA áramkörökkel Szimuláció és verifikáció

Szimuláció és verifikáció. Digitális rendszerek tervezése FPGA áramkörökkel Szimuláció és verifikáció. Kétfajta szimulációs módszer

Kombinációs áramkörök modelezése Laborgyakorlat. Dr. Oniga István

Digitális technika Xilinx ISE GUI használata

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Bevezető az ISE 11.2 rendszer használatához

Bev Be e v z e e z t e ő t az ISE re r nds nds e z r e használatához

Újrakonfigurálható eszközök

10. EGYSZERŰ HÁLÓZATOK TERVEZÉSE A FEJLESZTŐLAPON Ennél a tervezésnél egy olyan hardvert hozunk létre, amely a Basys2 fejlesztőlap két bemeneti

PROTOTÍPUSKÉSZÍTÉS. Előadó: Dr. Oniga István

Bevezető az ISE 13.2 rendszer használatához

LOGIKAI TERVEZÉS. Előadó: Dr. Oniga István

FPGA & Verilog ismertetı. BME Méréstechnika és Információs Rendszerek Tanszék

Verilog ismertető (Szántó Péter, BME MIT, )

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

Mérési jegyzőkönyv. az ötödik méréshez

Újrakonfigurálható eszközök

Bevezető az ISE 13.2 rendszer használatához

Nyolcbites számláló mintaprojekt

Digitális technika (VIMIAA02) Laboratórium 4

LOGSYS EGYSZERŰ ALKALMAZÁS KÉSZÍTÉSE A LOGSYS KINTEX-7 FPGA KÁRTYÁRA A XILINX VIVADO FEJLESZTŐI KÖRNYEZET HASZNÁLATÁVAL június 16. Verzió 1.

Szántó Péter BME Méréstechnika és Információs Rendszerek Tanszék, FPGA Labor

Elektronikus dobókocka tervezési példa

A Verilog HDL áttekintése

Dr. Oniga István DIGITÁLIS TECHNIKA 9

Dr. Oniga István DIGITÁLIS TECHNIKA 8

Digitális technika (VIMIAA02) Laboratórium 4

Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás BME MIT FPGA laboratórium

A Picoblaze Core implementálása FPGA-ba

DIGITÁLIS TECHNIKA 13. Dr. Oniga István

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Előadó: Dr. Oniga István

Budapesti Műszaki és Gazdaságtudományi Egyetem. A Verilog HDL II. Nagy Gergely. Elektronikus Eszközök Tanszéke (BME) szeptember 26.

12. NYOMÓGOMBOK ÉS KAPCSOLÓK PERGÉSMENTESÍTÉSE A FEJLESZTŐLAPON

Újrakonfigurálható eszközök

Hardver leíró nyelvek (HDL)

Újrakonfigurálható eszközök

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Digitális technika (VIMIAA02) Laboratórium 5.5

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Tervezési módszerek programozható logikai eszközökkel

Digitális technika (VIMIAA01) Laboratórium 4

Digitális technika (VIMIAA02) Laboratórium 3

Digitális technika (VIMIAA02) Laboratórium 3

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Újrakonfigurálható eszközök

11. KÓDÁTALAKÍTÓ TERVEZÉSE HÉTSZEGMENSES KIJELZŐHÖZ A FEJLESZTŐLAPON

Digitális technika (VIMIAA02) Laboratórium 2

DIGITÁLIS TECHNIKA 7. Előadó: Dr. Oniga István

Verilog HDL ismertető 4. hét : hét dia

Ellenőrző mérés mintafeladatok Mérés laboratórium 1., 2011 őszi félév

LOGIKAI TERVEZÉS PROGRAMOZHATÓ. Elő Előadó: Dr. Oniga István

ISE makró (saját alkatrész) készítése

Verilog HDL ismertető 2. hét : 1. hét dia

Digitális eszközök típusai

A feladatokat önállóan, meg nem engedett segédeszközök használata nélkül oldottam meg: Olvasható aláírás:...

Verilog HDL ismertető

Újrakonfigurálható eszközök

Mikrorendszerek tervezése

1 Laboratóriumi gyakorlat

PROGRAMOZHATÓ LOGIKAI ESZKÖZÖK. Elıadó: Dr. Oniga István Egytemi docens

8.3. AZ ASIC TESZTELÉSE

Bevezető az ISE rendszer használatához

Digitális technika (VIMIAA01) Laboratórium 2

LOGIKAI TERVEZÉS. Előadó: Dr. Oniga István Egytemi docens

Digitális technika (VIMIAA01) Laboratórium 2

Rendszerszintű tervezés: SystemC I.

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk

Digitális technika II. (vimia111) 5. gyakorlat: Mikroprocesszoros tervezés, egyszerű feladatok HW és SW megvalósítása gépi szintű programozással

A Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához

PROTOTÍPUSKÉSZÍTÉS. Előadó: Dr. Oniga István

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Tervezési módszerek programozható logikai eszközökkel

Egyszerű RISC CPU tervezése

Digitális technika (VIMIAA02) Laboratórium 1

Attribútumok, constraint-ek

Digitális technika (VIMIAA02) Laboratórium 1

Elektronika, 5. gyakorlat: algoritmikus C szintézis

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István

A VERILOG HARDVER LEÍRÓ NYELV ALKALMAZÁSA A LOGIKAI SZINTÉZISBEN

Xilinx ChipScope ismertető

Hobbi Elektronika. A digitális elektronika alapjai: Újrakonfigurálható logikai eszközök

1. Kombinációs hálózatok mérési gyakorlatai

1. Kombinációs hálózatok mérési gyakorlatai

Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai

A VERILOG HARDVER LEÍRÓ NYELV ALKALMAZÁSA A LOGIKAI SZINTÉZISBEN

Mikrorendszerek tervezése

Digitális rendszerek tervezése FPGA áramkörökkel LOGSYS példa

LOGSYS LOGSYS ECP2 FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ szeptember 18. Verzió

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Tervezési módszerek programozható logikai eszközökkel

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Összetett feladatok megoldása

DIGITÁLIS TECHNIKA (VIMIAA02)

Átírás:

Laborgyakorlat 3 A modul ellenőrzése szimulációval Dr. Oniga István

Szimuláció és verifikáció Szimulációs lehetőségek Start Ellenőrzés után Viselkedési Funkcionális Fordítás után Leképezés után Időzítési Elhelyezés, huzalozás Szintézis Implementáció Viselkedési szimuláció Funkcionális szimuláció Időzítés analízis Időzítési szimuláció Verifikáció Logikai analizátor ChipScope Pro Hardver co-szimuláció FPGA programozás Verifikáció

Szimulacio a ISE Webpack-ben Az ellenőrzési környezet testbench - tesztelési környezet) létrehozása az egységet működtető jelformák (gerjesztő jelek) megadásával történik Szimulator szoftverek ISE simulator Modelsim NC-Sim VCS MX Szimulacios modszerek Tesztvektor Grafikus HDL Eredmeny Grafikus Text. Régebbi ISE verziókban lehetőség volt a gerjesztőjelek grafikus felületen történő megadására, az újabb verziókból azonban kikerült ez a funkció, így az egyetlen lehetőség a HDL nyelvű leírás.

Verilog Test Fixture Test Fixture A Test Fixture egy Verilog modul A tesztelendő modul almodulként van beillesztve Minden, a szintézisnél használt nyelvi elem felhasználható Nem szintetizálható nyelvi elemek Időalap timescale 1ns/1ps Megadott idők ns-ban értendők Szimulációs lépésköz: 1 ps

Test Fixture - initial initial blokk 0. időpillanatban kezdődik a végrehajtása Egyszer fut le Az initial blokkok egymással, és az always blokkokkal párhuzamosan működnek Az initial blokkon belüli késleltetések összeadódnak, pl. initial begin a <= 0; #10 a <= 1; #25 a <= 2; #5 a <= 0; end 0 1 2 0 10 35 40

Órajel generálás initial clk <= 1; always #5 clk <= ~clk; Test Fixture - always Órajelre működő bemenetek (pl. számláló) initial cntr <= 0; always @ (posedge clk) #2 cntr <= cntr + 1; 0 1 2 3 4 5 6 t OH =2ns

Az ellenőrzési környezet létrehozása Modul deklaráció: Zárt doboz! Nincsenek be- es kimenetek A tesztelendő modul (UUT) példányosítása Összeköttetések reg ill. wire A fájl tartalma: Modul deklaráció UUT példányosítás Órajel generálás Tesztvektor generálás Eredményvektor ellenőrzése 1. timescale 1ns/1ps 2. 3. module test; 4. reg sel= 1 b0; 5. reg in0 = 1 b0; 6. reg in1 = 1 b0; 7. wire r; 24. top UUT ( 25..sel(sel), 26..in0(in0), 27..in1(in1), 28..r(r) );

A tesztelendő modul (UUT) 2:1 multiplexer module multiplexer ( input wire in0, input wire in1, input wire sel, output wire r ); assign r = ~sel & in0 sel & in1; endmodule

Az ellenőrzési környezet létrehozása Az ellenőrzési környezet testbench - tesztelési környezet) létrehozása az egységet működtető jelformák (gerjesztő jelek) megadásával történik Első lépésként adjunk hozzá a project-hez egy új forrást: Project / New Source ablakban - Verilog Test Fixture opció. A fájl neve legyen muxtest! Ki válasszuk azt a modult, amelyhez a testbench-et generáljuk jelen esetben egyetlen modulunk van multiplexer

Gerjesztőjelek létrehozása Az automatikusan generált Verilog Test Fixture fájl az alábbiakat tartalmazza: `timescale 1ns / 1ps module muxtest; // Inputs reg in0; reg in1; reg sel; // Outputs wire r; // Instantiate the Unit Under Test (UUT) multiplexer uut (.in0(in0),.in1(in1),.sel(sel),.r(r) ); initial begin // Initialize Inputs in0= 0; in1 = 0; sel = 0; // Wait 100 ns for global reset to finish #100; // Add stimulus here end endmodule a tesztelendő modul példányosítása a bemeneti jelek esetén reg típusú változók deklarálása a kimeneti jelek esetén wire típusú változók deklarálása az összes bemeneti változó 0-ba állítása // Add stimulus here #100 in0=1; #150 in1=1; #100 in0=0; end always #50 sel <= ~sel; egy initial blokkon belül a késleltetések összeadódnak az initial blokkok futása párhuzamosan történik, mindegyik a 0. időpillanatban indul

Funkcionális szimuláció A Project Navigator program View opciói közül válassza ki a Simulation-t, majd a Hierarchy ablakban jelölje ki a testbench fájlt (muxtest). A Processes ablakban indítsa el az ISim Simulator /Simulate Behavioral Model programot. Szimulációhoz a Hierarchy ablakban a testbench file-t kell kiválasztani!!

A szimuláció eredménye Az eredményt be kell mutatni a gyakorlat vezetőnek!!!

Egyenlőség detektálása XNOR kapu - 1-bites számok egyenlősége 2-bites számok egyenlősége: // Title : eqdet2 module eqdet2 ( input wire [1:0] a, input wire [1:0] b, output wire eq ) ; wire eq1; wire eq2; assign eq1 = ~(b[1] ^ a[1]); assign eq2 = ~(b[0] ^ a[0]); assign eq = eq2 & eq1; endmodule Feladat: Szimuláció - az eredményt be kell mutatni a gyakorlat vezetőnek!!!

Számláló Új projekt (File New Project), Projektünk neve legyen szamlalo (javaslat), Legmagasabb szintű forrásként HDL típust adjunk meg! module szamlalo( input clk, rst, enable, output reg [3:0] count ); always @(posedge clk) if (rst) count <= 0; else if (enable) count <= count + 1; endmodule NET "count<0>" LOC = "P59" ; NET "count<1>" LOC = "P58" ; NET "count<2>" LOC = "P54" ; NET "count<3>" LOC = "P53" ; NET "clk" LOC="P129"; NET "rst" LOC="P41"; NET "enable LOC="P47"; Láb-hozzárendelés: Bemetek: clk, reset, enable Kimenetek: led-ek Feladat: Implementáció és szimuláció - az eredményeket be kell mutatni a gyakorlat vezetőnek!!!

Órajel generálás a Logsys GUI program segítségével NET "clk" LOC="P129"; - ezen a lábon jelenik meg a Logsys GUI által generált órajel

Számláló szimuláció eredménye

Reverzibilis számláló module reverzibilis_samlalo( input clk, rst, ce, dir, output [7:0] q ); reg [7:0] cntr; always @(posedge clk) if (rst) cntr <= 0; else if (ce) if (dir) cntr <= cntr + 1; else cntr <= cntr - 1; assign q=cntr; endmodule NET "q<0>" LOC = "P59" NET "q<1>" LOC = "P58" ; NET "q<2>" LOC = "P54" ; NET "q<3>" LOC = "P53" ; NET "q<4>" LOC = "P52" ; NET "q<5>" LOC = "P51" ; NET "q<6>" LOC = "P50" ; NET "q<7>" LOC = "P43" ; NET "clk" LOC="P129"; NET "rst" LOC="P119"; NET "dir" LOC="P95"; NET "ce" LOC="P101";

Reverzibilis számláló Feladat: Szimuláció - az eredményt be kell mutatni a gyakorlat vezetőnek!!!