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



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

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

MentorGraphics ModelSim

Bezpieczeństwo informacji oparte o kryptografię kwantową

Programowanie niskopoziomowe

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

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

Systemy Czasu Rzeczywistego FPGA

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH

Symulacja systemu z procesorem MicroBlaze w środowisku ActiveHDL

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

Projektowanie Urządzeń Cyfrowych

Sposoby projektowania systemów w cyfrowych

1. Synteza układów opisanych w języku VHDL Xilinx ISE Design Suite 10.1 VHDL 2. Obsługa przetwornika CA Project Add source...

Informatyka I : Tworzenie projektu

WPROWADZENIE DO INFORMATYKI

Projekt prostego procesora

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Systemy Czasu Rzeczywistego FPGA

Ćwiczenie 1 VHDL - Licznik 4-bitowy.

Quartus. Rafał Walkowiak IIn PP Wer

Materiały dodatkowe. Raspberry Pi

Projektowanie z użyciem procesora programowego Nios II

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

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Quartus. Rafał Walkowiak IIn PP Listopad 2017

Układy reprogramowalne i SoC Język VHDL (część 4)

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

Projektowanie hierarchiczne Mariusz Rawski

LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU

1. Aplikacja LOGO! App do LOGO! 8 i LOGO! 7

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Aplikacje WWW - laboratorium

Projektowanie układów VLSI-ASIC techniką od szczegółu do ogółu (bottom-up) przy użyciu pakietu CADENCE w technologii UMC 0.18µm

Materiały dodatkowe. Simulink Real-Time

1. Przekrój poprzeczny tranzystora nmos. Uzupełnij rysunek odpowiednimi nazwami domieszek (n lub p). S G D

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

Tablet bezprzewodowy QIT30. Oprogramowanie Macro Key Manager

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

Systemy Czasu Rzeczywistego FPGA

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Technika cyfrowa projekt: Sumator 4 bitowy równoległy

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

Użycie pakietów instalacyjnych.msi w oprogramowaniu WYWIAD Plus

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Instrukcja instalacji winbgim

Układy reprogramowalne i SoC Testbenches. Symulacja sterowana zdarzeniami.

Specyfika projektowania Mariusz Rawski

Języki opisu sprzętu VHDL Mariusz Rawski

Symulacje inwertera CMOS

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Ćwiczenia 2 IBM DB2 Data Studio

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Instalacja i opis podstawowych funkcji programu Dev-C++

Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Projektowanie z użyciem bloków funkcjonalnych w układach programowalnych firmy Xilinx

INSTRUKCJA UŻYTKOWNIKA MPCC

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Pobieranie edytora CodeLite

Modelowanie logiki rewersyjnej w języku VHDL

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Przykład połączenie z bazą danych

Programowanie proceduralne w języku C++ Podstawy

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

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

Z pojedynczym obiekcie zasady grupy znajdziemy dwa główne typy ustawień:

APEK MeasureInWeb program komunikacyjny do systemów pomiarowych.

Akceleracja symulacji HES-AHDL. 1. Rozpoczęcie pracy aplikacja VNC viewer

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

Wybór urządzenia/ Scanner Selection Screen: Skrócony Opis Programu MetroSet 2

DEMERO Automation Systems

Instrukcja instalacji i obsługi modemu ED77 pod systemem operacyjnym Windows 98 SE (wydanie drugie)

imei Instytut Metrologii, Elektroniki i Informatyki

1.Wstęp. 2.Generowanie systemu w EDK

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Laboratorium - Konfiguracja ustawień przeglądarki w Windows XP

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Projektowania Układów Elektronicznych CAD Laboratorium

Autorzy. Zespół SABUR Sp. Z o.o. Wydanie Data. Sierpień SABUR Sp. Z o. o. Wszelkie prawa zastrzeżone

Tworzenie okna dialogowego w edytorze raportu SigmaNEST. część 1

Instalacja NOD32 Remote Administrator

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Projektowanie scalonych systemów wbudowanych VERILOG. VERLIOG - historia

CMS Admin instrukcja administratora

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH

INSTRUKCJA UZUPEŁNIAJĄCA DO CENTRAL DUPLEX ZE STEROWANIEM RD4

Instrukcja obsługi serwera FTP v

SZYBKI START DLA IGSS FREE50 - PRZEWODNIK

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

Laboratorium - Konfiguracja ustawień przeglądarki w Windows Vista

Delphi podstawy programowania. Środowisko Delphi

Transkrypt:

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza Projektowanie układów VLSI-ASIC za pomocą techniki komórek standardowych przy użyciu pakietu Cadence Programowanie, kompilacja i symulacje VHDL i Verilog 1

Narzędzie NC-Launch NC-Launch jest zintegrowanym środowiskiem dla symulacji projektów pisanych w językach VHDL, Verilog HDL i mieszanych. Posiada graficzny interfejs użytkownika, który pozwala na: zarządzanie kilkoma folderami projektowymi zarządzanie plikami źródłowymi kompilowanie, rozwijanie i symulowanie projektów w Verilog, VHDL lub mieszanymi NC-Launch może pracować w dwóch trybach: single step - proste środowisko jedynie dla projektów w Verilogu - kompiluj wszystko i symuluj multistep - bardziej ogólne podejście do projektów w VHDL, Verilog, VHDL&Verilog, bazuje na 3 krokowym podejściu: kompilacja modułów, elaboracja- rozwinięcie (dopracowanie szczegółów) i symulacja projektu Konfiguracja środowiska NC-Launch cds.lib zawiera wyciąg który definiuje biblioteki i łączy nazwy bibliotek logicznych z fizycznymi ścieżkami Nie uruchamiaj NC-Launch w tym samym folderze co inne narzędzia pakietu Cadence!!! Różne narzędzia przechowują INNE dane w plikach konfiguracyjnych, np. CDS.LIB hdl.var definiuje bibliotekę roboczą może zawierać definicje innych zmiennych dla konfiguracji NC-Launch Przebieg projektowania NC-Launch 1. Uruchomienie programu nclaunch skryptem nc_start. 2. Ustawienie bieżącego katalogu projektowego poprzez: - stworzenie i konfigurację nowego katalogu, lub - przełączenie do jednego z wcześniej użytych katalogów 3. Stworzenie/Edycja plików źródłowych. 4. Kompilacja plików źródłowych. 5. Wyszczególnienie modułu nadrzędnego. 6. Uruchomienie symulacji. 2

Uruchamianie NC-Launch Kiedy nclaunch jest uruchamiany po raz pierwszy wyświetlany jest formularz pozwalający użytkownikowi na wybór typu projektu wybierz Multiple Step. NC-Launch tworzenie nowego katalogu projektowego Zgodnie z wcześniejszą wskazówką, przy pierwszym uruchomieniu nclaunch należy utworzyć nowy katalog. Proponowana nazwa to projekt_nc. Użyj File->Create New Directory aby utworzyć nowy katalog projektowy Tu wpisz nazwę nowego katalogu 3

NC-Launch wybór utworzonego wcześniej katalogu projektowego (przy kolejnych uruchomieniach programu dla utworzonego wcześniej projektu) Użyj File->Set Design Directory do wyboru nowego katalogu projektowego. Zostanie wyświetlone okno Set Design Directory Użyj Design Directory do wyboru własnego katalogu projektowego 4

Wybierz wcześniej utworzony przez siebie katalog. NC-Launch konfigurowanie nowego katalogu projektowego (przy tworzeniu nowego projektu) Użyj przycisku Create a cds.lib File do utworzenia pliku cds.lib w zaznaczonym katalogu projektowym Jeżeli używasz VHDL z typem std_logic zaznacz Include default libraries Jeżeli używasz czystego VHDL zaznacz Include IEEE pure libraries Jeżeli używasz jedynie Verilog zaznacz Don t include any libraries 5

NC-Launch wybór istniejącej biblioteki cds.lib (przy kolejnych uruchomieniach programu dla utworzonego wcześniej projektu) Użyj okna Set Design Directory do wyboru katalogu projektowego NC-Launch końcowe ustawienia Jeżeli katalog projektowy jest wybrany i skonfigurowany, naciśnij OK aby rozpocząć pracę z projektem 6

Okno NC-Launch Kompilator VHDL Odświeżanie wyświetlanych plików Kompilator Verilog Elaborator Symulator Analiza kodu HDL Przebiegi logiczne Uruchamianie edytora tekstu Przeglądanie plików File Browser wyświetla foldery i pliki w bieżącym katalogu projektowym Filtr nazw plików Design Area wyświetla bieżącą zawartość pliku cds.lib projektu Console Area pozwala na ręczne wpisywanie komend Opcje NC-Launch Wybierz Edit->Preferences aby wywołać menu umożliwiające modyfikację ustawień (edytor tekstu, itp.) Opcję Editor command ustawić jako: dla UNIX /usr/dt/bin/dtpad dla LINUX jeden z edytorów, np. gedit, nedit, kedit, kwrite 7

NC-Launch tworzenie nowych plików źródłowych Wybierz File->Edit New File aby utworzyć nowy plik. W okienku Edit a New File wpisz nazwę pliku (pamiętaj o rozszerzeniu.v dla Verilog a.vhd lub.vhdl dla VHDL). Naciśnij przycisk Save aby otworzyć edytor tekstu. Można także skopiować gotowe pliki źródłowe do bieżącego katalogu projektowego. 8

Przykładowy kod źródłowy w VHDL Dekoder 1 z 4 Plik 1_of_4_decoder.vhd -- 1 OF 4 DECODER, ACTIVE HIGH OUTPUTS library ieee; use ieee.std_logic_1164.all; ENTITY DECODER IS PORT(EN, SL0, SL1 : IN STD_LOGIC; X0, X1, X2, X3 : OUT STD_LOGIC); END DECODER; architecture COMB of DECODER is begin X0 <= EN AND NOT SL0 AND NOT SL1; X1 <= EN AND SL0 AND NOT SL1; X2 <= EN AND NOT SL0 AND SL1; X3 <= EN AND SL0 AND SL1; end COMB; Plik component_decoder.vhd library ieee; use ieee.std_logic_1164.all; package COMPONENTS is --********************************************************* -- all components used in version with multiplexers --********************************************************* COMPONENT DECODER PORT(EN, SL0, SL1 : IN STD_LOGIC; X0, X1, X2, X3 : OUT STD_LOGIC); END COMPONENT; end COMPONENTS; Plik testbench_decoder.vhd library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use WORK.components.all; entity testbenchdecoder is generic(clk_per: time:= 100 ns); end testbenchdecoder; architecture test of testbenchdecoder is signal EN: std_logic; signal SL0: std_logic; signal SL1: std_logic; signal X0: std_logic; signal X1: std_logic; signal X2: std_logic; signal X3: std_logic; signal clk: std_logic; 9

begin under_test: DECODER port map( EN, SL0, SL1, X0,X1,X2,X3); -- input signal generation clk_gen: process begin clk <= '0'; wait for CLK_PER/2; clk <= '1'; wait for CLK_PER/2; end process; EN <= '1', '0' after 42*CLK_PER; SL0 <= '0', '1' after 12*CLK_PER, '0' after 22*CLK_PER, '1' after 32*CLK_PER, '0' after 42*CLK_PER, '1' after 52*CLK_PER, '0' after 62*CLK_PER, '1' after 72*CLK_PER; SL1 <= '0', '1' after 22*CLK_PER, '0' after 42*CLK_PER, '1' after 62*CLK_PER; end test; configuration SIM of testbenchdecoder is for test end for; end SIM; 10

Przykładowy kod źródłowy w Verilog Dekoder 1 z 4 Plik verilog_dec.v //----------------------------------------------------- // Design Name : verilog_decoder_using_case //----------------------------------------------------- module decoder_using_case ( binary_in, // 2 bit binary input decoder_out, // 4-bit out enable // Enable for the decoder ); input [1:0] binary_in ; input enable ; output [3:0] decoder_out ; reg [3:0] decoder_out ; always @ (enable or binary_in) begin decoder_out = 0; if (enable) begin case (binary_in) 2'h0 : decoder_out = 4'h1; 2'h1 : decoder_out = 4'h2; 2'h2 : decoder_out = 4'h4; 2'h3 : decoder_out = 4'h8; endcase end end endmodule //////////////////////////////////////////////////////////////////// module decoder_verilog_tb; reg enable; reg [1:0] binary_in; wire [3:0] decoder_out; decoder_using_case dec_one (.enable (enable),.binary_in (binary_in),.decoder_out (decoder_out) ); initial begin enable = 1; binary_in=0; #1 binary_in=1; #1 binary_in=2; #1 binary_in=3; #1 enable =0; binary_in=0; #1 binary_in=1; #1 binary_in=2; #1 binary_in=3; end 11

initial #10 $finish; //Rest of testbench code after this line endmodule Schemat ideowy - Dekoder 1 z 4 12

NC-Launch kompilowanie plików źródłowych 1. Wybierz plik(i) do kompilacji w File Browser 2. Jeden z przycisków kompilacji VHDL/Verilog będzie aktywny zależnie od typu języka pliku źródłowego. 13

NC-Launch opcje kompilatora VHDL (Menu tools -> VHDL Compiler) Zaznacz opcję Update if needed do automatycznej rekompilacji i reelaboracji pliku źródłowego po wprowadzeniu do niego zmian Zaznacz opcję Enable line debugging aby dodać wsparcie dla korzystania z breakpointów i dla krokowania kodu NC-Launch zaawansowane opcje kompilatora VHDL Zaznacz opcję Print informative messages aby informacje generowane przez kompilator były bardziej szczegółowe 14

NC-Launch opcje kompilatora Verilog (Menu tools -> Verilog Compiler) Zaznacz opcję Update if needed do automatycznej rekompilacji i reelaboracji pliku źródłowego po wprowadzeniu do niego zmian Zaznacz opcję Enable line debugging aby dodać wsparcie dla korzystania z breakpointów i dla krokowania kodu Opcja Define Macro do definiowania makra Verilog Opcja Include Directories dla określenia katalogu dla dyrektywy include NC-Launch zaawansowane opcje kompilatora Verilog Zaznacz opcję Print informative messages aby informacje generowane przez kompilator były bardziej szczegółowe 15

NC-Launch - elaboracja w języku VHDL 1. Po skompilowaniu wszystkich modułów zaznacz architekturę modułu nadrzędnego 2. Przycisk Launch Elaborate stanie się aktywny. Naciśnij go aby dokonać eleaboracji modułu nadrzędnego 3. Po elaboracji powstaje nowy plik snapshot 16

NC-Launch - elaboracja w języku Verilog 1. Po skompilowaniu wszystkich modułów zaznacz architekturę modułu nadrzędnego 2. Przycisk Launch Elaborate stanie się aktywny. Naciśnij go aby dokonać eleaboracji modułu nadrzędnego 3. Po elaboracji powstaje nowy plik snapshot 17

NC-Launch - uruchomienie symulacji 1. Kiedy moduł nadrzędny jest po elaboracji, zaznacz jego plik snapshot 2. Przycisk Launch Simulator stanie się aktywny. Naciśnij go aby uruchomić symulację 18

Sygnały na bieżącym poziomie hierarchii NC-Launch - Nawigator sygnałów Przeglądarka modułów projektowych 19

NC-Launch - wybór obserwowanych sygnałów 1. Wybierz jednostkę projektową 2. Wybierz sygnały do obserwacji 3. Otwórz okno przebiegów i prześlij do niego zaznaczone sygnały 20

NC-Launch - przebiegi sygnałów dla czasu t=0 NC-Launch - rozpoczęcie symulacji Wybierz Simulation->Run lub użyj przycisku na panelu 21

NC-Launch - ustawienia symulacji W celu wyznaczenia granicznego czasu symulacji wybierz: Simulation->Set Breakpoint-> Time Optymalnie jest gdy ustawimy interwał symulacji na 10 s. 22

Wybór jednostki czasu w symulacji, ustawiamy s. Ustawienie granic symulacji. 23

Wybór początkowego i końcowego punktu czasu symulacji. Tworzenie nowych granic symulacji. Wybór wcześniej obranych granic symulacji. 24

NC-Launch - przykładowe przebiegi po symulacji Przebiegi wybranych sygnałów po symulacji w określonych wcześniej granicach czasu. 25

Opracowanie: mgr inż. Adam Gołda oraz: Łukasz Kuchno, Stanisław Czechowski (2007), Marcin Dec (2006) 26