Projektowanie Scalonych Systemów Wbudowanych VERILOG

Podobne dokumenty
Projektowanie scalonych systemów wbudowanych VERILOG. VERLIOG - historia

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Programowalne układy logiczne kod kursu: ETD Podstawy języka Verilog W

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

Język Verilog w projektowaniu układów FPGA

1 Wstęp. 2 Proste przykłady. 3 Podstawowe elementy leksykalne i typy danych. 6 Opis strukturalny. 7 Moduł testowy (testbench)

Systemy wbudowane. Projektowanie systemów wbudowanych na bazie układów CPLD/FPGA Język opisu sprzętu Verilog cz.1

Wykład 2. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,

Przykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3.

Konwencje językowe Verilog-a APSC

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN

Laboratorium Podstaw Techniki Cyfrowej

Sposoby projektowania systemów w cyfrowych

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

Synteza logiczna APSC

OPTYMALIZACJA MODELI SYMULACYJNYCH ZAMODELOWANYCH W JĘZYKU VERILOG HDL Z WYKORZYSTANIEM INTERFEJSU PLI

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

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

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

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

Krótkie wprowadzenie do ModelSim i Quartus2

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Verilog HDL. część I i II

Programowalne układy logiczne kod kursu: ETD Układy kombinacyjne, przypisania, blokujące i nieblokujące cz.2 W

Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE

Architektura komputerów Wykład 2

Verilog HDL. Język Opisu Sprzętu Hardware Description Language Część I. Elementy języka. dr inż. Paweł Tomaszewicz H D L

Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI

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

Język opisu sprzętu VHDL

Projektowanie układów na schemacie

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński

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

LABORATORIUM PODSTAW ELEKTRONIKI. Komputerowa symulacja układów różniczkujących

Ćw. 8 Bramki logiczne

Podstawy techniki cyfrowej cz.2 zima Rafał Walkowiak

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Układy kryptograficzne z uŝyciem rejestrów LFSR

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

Zadania do wykładu 1, Zapisz liczby binarne w kodzie dziesiętnym: ( ) 2 =( ) 10, ( ) 2 =( ) 10, (101001, 10110) 2 =( ) 10

PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające

Języki opisu sprzętu VHDL Mariusz Rawski

Funkcje logiczne X = A B AND. K.M.Gawrylczyk /55

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

Podstawy Informatyki Elementarne podzespoły komputera

Sterowniki Programowalne (SP)

Wykład 4. Języki Opisu Sprzętu

Rok akademicki: 2013/2014 Kod: JIS s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Technika cyfrowa Synteza układów kombinacyjnych

Wykład 3. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,

Podstawy techniki cyfrowej cz.2 wykład 3 i 5

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

Opisy efektów kształcenia dla modułu

ĆWICZENIE 4 Zapoznanie ze środowiskiem CUPL Realizacja układów kombinacyjnych na układach PLD

bocznej Tabela stanów sterownika Światła na drodze:

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

Sumatory H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Kurs Verilog cz.1 wstęp

LEKCJA. TEMAT: Funktory logiczne.

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Opisy efektów kształcenia dla modułu

Wykład 4. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,

Różnicowe układy cyfrowe CMOS

Wykład nr 3 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Temat: Pamięci. Programowalne struktury logiczne.

Cyfrowe układy scalone c.d. funkcje

Układy kombinacyjne 1

Układy VLSI Bramki 1.0

Programowalne układy logiczne

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Język AHDL. Synteza strukturalna. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska H D L

Symulacja układów elektronicznych z użyciem oprogramowania SPICE zajęcia warsztatowe SKN CHIP. Przygotował Bogdan Pankiewicz, maj 2017

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

Automatyka Treść wykładów: Literatura. Wstęp. Sygnał analogowy a cyfrowy. Bieżące wiadomości:

Organizacja laboratorium. Zadania do wykonania w czasie laboratorium z części PSPICE

Bramki logiczne. 2. Cele ćwiczenia Badanie charakterystyk przejściowych inwertera. tranzystorowego, bramki 7400 i bramki

Ćwiczenie 25 Temat: Interfejs między bramkami logicznymi i kombinacyjne układy logiczne. Układ z bramkami NOR. Cel ćwiczenia

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

Układy cyfrowe w technologii CMOS

VHDL. Behawioralny Strukturalny Czasowy. Poziom RTL

Logiczne układy bistabilne przerzutniki.

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Podstawy elektroniki cz. 2 Wykład 2

Logika Temporalna i Automaty Czasowe

z ćwiczenia nr Temat ćwiczenia: BADANIE UKŁADÓW FUNKCJI LOGICZNYCH (SYMULACJA)

Technika cyfrowa Synteza układów kombinacyjnych (I)

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Tranzystor JFET i MOSFET zas. działania

Ćwiczenie 23. Temat: Własności podstawowych bramek logicznych. Cel ćwiczenia

Bezpieczeństwo informacji oparte o kryptografię kwantową

Elektronika i techniki mikroprocesorowe

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

WSTĘP. Budowa bramki NAND TTL, ch-ka przełączania, schemat wewnętrzny, działanie 2

Magistrale na schematach

Ćwiczenie 26. Temat: Układ z bramkami NAND i bramki AOI..

Katedra Mikroelektroniki i Technik Informatycznych

PROGRAMOWALNE STEROWNIKI LOGICZNE

Transkrypt:

Projektowanie Scalonych Systemów Wbudowanych VERILOG

VERLIOG - historia Początki lat 80 XX w. Phil Moorby Gateway Design Automation symulator Verilog XL 1987 Synopsys Verilog jako język specyfikacji projektu dla narzędzi syntezy (standaryzacja VHLD a przez IEEE) 1989 Cadence (wykupił Gatewey) odzielenie języka opisu sprzętu od symulatora Verilog XL 1990 Cadence upublicznienie języka OVI (Open Verilog International) wymiana doświadczeń, kontrola specyfikacji i promowanie języka 1993 OVI nowa specyfikacja języka EiT 2017/18 PSSW - Verilog 2

VERLIOG - historia 1995 IEEE standaryzacja języka : IEEE 1364-1995 2000 Accelera konsorcjum firm: projektantów systemów cyfrowych i dostawców oprogramowania EDA 2001 nowy standard IEEE 1364-2001 (System Verilog 3.0 rozszerzenie standardu IEEE 1364-3001) 2004 Accelera dalsze rozszerzenia i połączenie poprzednich opracowań w jeden dokument 2005 IEEE nowe standardy: Verilog-2005 (IEEE 1364-2005) i System Verilog-2005 (IEEE 1800-2005) Od 2007 prace nad połączeniem obu standardów EiT 2017/18 PSSW - Verilog 3

VERLIOG - historia 2009 IEEE najnowszy standard: SystemVerilog IEEE 1800-2009 This standard represents a merger of two previous standards: IEEE Std 1364(TM)-2005 Verilog hardware description language (HDL) and IEEE Std 1800-2005 SystemVerilog unified hardware design, specification, and verification language. EiT 2017/18 PSSW - Verilog 4

Literatura Z. Hajduk Wprowadzenie do języka VERILOG, BTC, 2009 A. Golda, A. Kos Projektowanie układów scalonych CMOS, WKŁ, 2010 Internet i inne EiT 2017/18 PSSW - Verilog 5

TERMINOLOGIA (1) model (inaczej: system, projekt) (ang. model, system, design) opis projektowanego układu cyfrowego za pomocą pliku źródłowego moduł (ang. module) podstawowa jednostka projektowa (element logiczny) wykorzystywana w modelu (projekcie) port (terminal) (ang. port, terminal) interfejs modułu służący do łączenia z innymi modułami moduł nadrzędny najwyższy w hierarchii moduł (często jest nim moduł testowy) EiT 2017/18 PSSW - Verilog 6

TERMINOLOGIA (2) Moduł nie jest konkretnym elementem w układzie, lecz opisuje jego zachowanie. Jest definicją typu elementu. Dopiero instancja (urealnienie) (ang. instance) jest konkretnym użyciem wcześniej zdefiniowanego komponentu przez nadanie nazwy (identyfikatora) określonemu elementowi. Jest powołaniem do istnienia konkretnego elementu Moduł nadrzędny nie ma urealnienia. EiT 2017/18 PSSW - Verilog 7

OGÓLNA STRUKTURA PROGRAMU jednostka testowa UKŁAD TESTUJĄCY Generator sygnałów testujących i monitor Projektowany układ (system) EiT 2017/18 PSSW - Verilog 8

OPIS UKŁADU Behawioralny opis działania układu, czyli jak układ lub jego części oddziaływają z otoczeniem. Jest opis związków między wejściami i wyjściami układu (http://sjp.pwn.pl: behawior [wym. bihewior, behawior] psych. «każda dająca się zaobserwować reakcja zwierzęcia lub człowieka na bodźce płynące z otoczenia») Strukturalny opis struktury (budowy) układu, czyli połączeń między jego elementami netlista Fizyczny opis struktury tranzystorów układu scalonego maski logiczne i technologiczne (zbiór prostokątów lub wielokątów odpowiednich warstw układu scalonego) EiT 2017/18 PSSW - Verilog 9

OPIS STRUKTURALNY prosty układ definicja modułu sumatora EiT 2017/18 PSSW - Verilog 10

OPIS STRUKTURALNY ogólna definicja // przykład definiowania modułu module nazwa(lista_portów); input port_we; output port_wy; // opis układu (modułu) endmodule wszystkie porty modułu muszą mieć określony (zdefiniowany) kierunek definicja kierunku może być w oddzielnych liniach lub w pierwszej razem z nazwą porty mogą być wielobitowe EiT 2017/18 PSSW - Verilog 11

Deklaracja portów ogólnie: OPIS STRUKTURALNY lista portów wejscia-wyjścia typ_portu [rozmiar] nazwa_portu1, nazwa_portu2; rozmiar ilość bitów [MSB:LSB] typ_portu: input - port wejściowy output - port wyjściowy inout - port dwukierunkowy przykład: input A,B; output [3:0] Y; // dwa porty wejściowe 1-bitowe // 4-bitowy port wyjściowy po ukośnikach jest komentarz EiT 2017/18 PSSW - Verilog 12

OPIS STRUKTURALNY typy danych dane połączeniowe (ang. net) służą do połączeń między elementami, przekazują wartości sygnałów: wire zwykłe połączenie inne: wand, wor, tri, triand, tri1, tri0, trireg, supply1, supply0 dane rejestrowe (ang. register) przechowują wartość i reprezentują zmienne inne: reg pozwala wyspecyfikować rejestr integer, time, real, realtime EiT 2017/18 PSSW - Verilog 13

OPIS STRUKTURALNY podstawowe elementy logiczne (ang. primitives) W jezyku Verilog jest 26 elementów: bramki logiczne: and, nand, or, nor, xor, xnor bufory: buf, bufif0, bufif1, not, notif0, notif1, pulldown, pullup tranzystory: nmos, pmos, cmos, rnmos, rpmos, rcmos, tran, tranif0, tranif1, rtran, rtranif0, rtranif1 Deklaracja bramki ogólnie: typ_bramki [opóźnienie] nazwa_bramki (wy,we1,we2, ); opcjonalnie EiT 2017/18 PSSW - Verilog 14

przerzutnik JK z resetem przykład EiT 2017/18 PSSW - Verilog 15

przykład przerzutnik JK: opis strukturalny EiT 2017/18 PSSW - Verilog 16

przykład przerzutnik JK: moduł testowy Moduł JK_FF_tb jest najwyżej w hierarchii i nie musi być urealniany Powołanie instancji JK1 to ona będzie symulowana Blok proceduralny initial w którym instrukcje są wykonywane sekwencyjnie (od słów begin do end) Opóźnienie i przypisanie wartości zmiennym: # n zmienna = liczba n liczba umownych jednostek czasowych tzw.: zadanie systemowe wymuszające koniec symulacji EiT 2017/18 PSSW - Verilog 17

przykład przerzutnik JK: bramki EiT 2017/18 PSSW - Verilog 18

przykład 2 sumator 2-bitowy Jaki jest typ zmiennej CY0? Przypisanie portów przez wylistowanie w odpowiedniej kolejności (notacja pozycyjna): Bramaki są zdef.: (wyj., wej.1, wej.2, ) Przypisanie portów przez nazwy EiT 2017/18 PSSW - Verilog 19

przykład 2 sumator 2-bitowy Notacja pozycyjna w powoływaniu instancji EiT 2017/18 PSSW - Verilog 20

Przykład 3 8-bitowy bufor trójstanowy Opis z tablicą instancji EiT 2017/18 PSSW - Verilog 21

assign Przypisania ciągłe (współbieżne) Operatory logiczne: - or, & - and, ^ - exor EiT 2017/18 PSSW - Verilog 22

Przypisanie niejawne EiT 2017/18 PSSW - Verilog 23

EiT 2017/18 PSSW - Verilog 24

ICARUS VERILOG Jest to darmowy program do syntezy i symulacji układów cyfrowych w języku Verilog. http://iverilog.icarus.com/ EiT 2017/18 PSSW - Verilog 25

ICARUS VERILOG Źródła można pobrać ze strony: http://bleyer.org/icarus/ (wersja: iverilog-0.9.7_setup.exe (latest stable release) [10,5MB] działa co sprawdziłem). Po zainstalowaniu trzeba ręcznie dodać ścieżkę w systemie Windows do katalogu instalacyjnego, domyślnie: "C:\iverilog\bin". Dodatkowe informacje są na stronie: http://codeitdown.com/icarus-verilog-on-windows/ EiT 2017/18 PSSW - Verilog 26