Komputerowe systemy wspomagania projektowania układów cyfrowych

Podobne dokumenty
Komputerowe systemy wspomagania projektowania układów cyfrowych

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

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

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Bramki logiczne Instrukcja do ćwiczeń laboratoryjnych

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

Bezpieczeństwo informacji oparte o kryptografię kwantową

Elementy cyfrowe i układy logiczne

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

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

Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 podłączenie i obsługa wyświetlacza LCD.

Ukªady Kombinacyjne - cz ± I

Projektowanie Urządzeń Cyfrowych

Krótkie wprowadzenie do ModelSim i Quartus2

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

Wygląd okna aplikacji Project Navigator.

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

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

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

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C

Projektowania Układów Elektronicznych CAD Laboratorium

MentorGraphics ModelSim

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Projektowanie z użyciem procesora programowego Nios II

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

Projektowanie układów na schemacie

Język opisu sprzętu VHDL

Przywracanie parametrów domyślnych. Przycisnąć przycisk STOP przez 5 sekund. Wyświetlanie naprzemienne Numer parametru Wartość parametru

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

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TZ1A

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

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

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

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

Quartus. Rafał Walkowiak IIn PP Wer

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TZ1A

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

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

PROGRAMOWALNE STEROWNIKI LOGICZNE

System cyfrowy. Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące.

Gromadzenie danych. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 15 minut.

Technika Mikroprocesorowa

1 Moduł Modbus ASCII/RTU

1 Moduł Modbus ASCII/RTU 3

Bezpieczeństwo informacji oparte o kryptografię kwantową

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

Podstawy programowania w środowisku Totally Integration Automation Portal

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

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Quartus. Rafał Walkowiak IIn PP Listopad 2017

OPROGRAMOWANIE DEFSIM2

Scalone układy programowalne FPGA.

Projektowanie Scalonych Systemów Wbudowanych VERILOG

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

Sposoby projektowania systemów w cyfrowych

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

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

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

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Pierwsze kroki z FPGA (2)

Magistrale na schematach

1 Moduł Neuronu Cyfrowego SM

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

2. Architektura mikrokontrolerów PIC16F8x... 13

Tranzystor JFET i MOSFET zas. działania

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

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Użycie Visual Basic for Applications ("VBA")

Menu Plik w Edytorze symboli i Edytorze widoku aparatów

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

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Spis treści. 1 Moduł Modbus TCP 4

Programowanie sterowników

Czytnik kart SIM instrukcja obsługi

Sterowniki Programowalne (SP)

Układy programowalne. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Projektowanie złożonych układów cyfrowych

Programowalne układy logiczne

Praca z programem PLANS

Elektronika i techniki mikroprocesorowe

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania

Architektura komputerów Wykład 2

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

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

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

Kurs STARTER S5. Spis treści. Dzień 1. III Budowa wewnętrzna, działanie i obsługa sterownika (wersja 0504)

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

By móc zainstalować plugin niezbędna jest uprzednia instalacja Notowań Online 3 oraz programu do analizy technicznej AmiBroker.

Struktura i działanie jednostki centralnej

Podstawowe układy cyfrowe

Kurs SINAMICS G120 Konfiguracja i uruchomienie. Spis treści. Dzień 1

Rekonfigurowalne systemy scalone

CIC-310 REALIZACJA PROJEKTÓW

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA

Projekt Koder HDB-3. Wykonali: Agnieszka Sikorska, Łukasz Kokosza EiTI Politechnika Warszawska Warszawa Projekt UCYF Koder HDB-3

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

Podstawy programowania w środowisku Step 7

Transkrypt:

Komputerowe systemy wspomagania projektowania układów cyfrowych 1

Komputerowe projektowanie SPECYFIKACJA PROJEKTU KOMPIACJA WERYFIKACJA I PROGRAMOWANIE Edytor graficzny Symulator Edytor tekstowy Wykresy czasowe Analizator opóznien ' ' Programator Standard CAE Standard CAE 2

System MAX+Plus II W pełni zintegrowany system do projektowania układów cyfrowych z wykorzystaniem układów programowalnych Udostępnia środowisko projektowe niezaleŝne od architektury układów cyfrowych Wspiera wszystkie układy produkowane przez firmę Altera Nie wspiera układów innych producentów Udostępnia narzędzia umoŝliwiające Opis projektu Syntezę Fitting, Partitioning Symulację Analizę czasową Programowanie układów 3

System projektowania CA firmy ATERA Tworzenie projektu Edytor graficzny Edytor symboli Edytor tekstowy Edytor przebiegów czasowych Edytor planu zasobów A V Inne standardy System MAX+PlusII Weryfikacja projektu Symulator Edytor przebiegów czasowych Analizator czasowy Inne Standardy Programowanie układów Programator 4

Narzędzia środowiska Max+Plus II Tworzenie projektu Przetwarzanie projektu Edytor tekstowy Edytor graficzny Kompilator Edytor przebiegów czasowych Edytor symboli Edytor planu zasobów Weryfikacja projektu Prezentacja struktury projektu Programowanie ukladów / Symulator Edytor przebiegów czasowych Programator Analizator czasowy 5

Okno główne systemu Menu główne Przyciski szybkiego reagowania Nowy projekt, otwarcie pliku, zapis pliku, druk pliku Wytnij, kopiuj, wklej, cofnij Pomoc Moduły systemu Ustalenie projektu Zapisz i wykonaj... Obszar roboczy 6

Moduły systemu MAX+Plus II Edytor hierarchii projektu Edytor graficzny Edytor symboli Edytor tekstowy Edytor przebiegów czasowych Edytor planu zasobów Kompilator Symulator Analizator czasowy Programator Procesor błędów 7

Edytor hierarchii 8

Edytor graficzny ostępne biblioteki symboli i gotowych bloków funkcjonalnych Wirtualne połączenia Łatwość obsługi Współpraca z procesorem błędów 9

Edytor tekstowy Szablony Kolorowanie kodu Współpraca z procesorem błędów 10

Edytor symboli 11

Przetwarzanie projektu Baza danych MAX+PUS II Kompilator Compiler Netlist Extractor (zawiera wypis całej sieci połączeń) atabase Builder ogic Synthesizer esign octor Partitioner Fitter Functional, Timing, or inked SNF Extractor EIF, V & Verilog Netlist Writers Assembler.sym.cnf.hif.rpt.fit.tdo.snf.edo.aco.vho.vo.pof.sof.jed Raport utylizacyjny MAX+PUS II Message Processor.mmf Raport błędów do symulatora i analizatora czasowego MAX+PUS II do innego przemysłowego symulatora do MAX+PUS II lub innego przemysłowego programatora 12

Kompilator 13

Symulator 14

Edytor przebiegów czasowych 15

Analizator czasowy 16

Edytor planu zasobów 17

Programator 18

Programowanie układów Wektory testowe Moduł programujący Kompilator MAX+PUS II.pof.jed.sof.scf.vec Programator.plf.jed.pof BitBlaster Raport.hex.ttf.sbf.rbf 19

Komputerowe projektowanie układów cyfrowych Więcej informacji o systemie MAX+PUS II m. in. w ksiąŝce T. Łuba, B. Zbierzchowski: Komputerowe projektowanie układów cyfrowych 20

MAX+Plus II proces projektowy 21

Projekt do realizacji NaleŜy zrealizować układ sterujący wyświetlaczem 7-segmentowym: a wyświetlanie cyfr 0 9 diody zapalane stanem wysokim - logiczną jedynką f g b e c d 22

Koncepcja i schemat blokowy układu Koncepcja układu sterującego wyświetlaczem: sygnały wejściowe reprezentują cyfry 0 9 zapisane w kodzie BC liczba wejść 4 log 2 liczba symboli wejściowych liczba wyjść 7 liczba diod wyświetlacza wartości 10 15 nie obsługiwane x1 x2 x3 x4 a g f e a g d b c 23

Opis układu Opis układu. x1 x2 x3 x4 a b c d e f g 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 2 0 0 1 0 1 1 0 1 1 0 1 3 0 0 1 1 1 1 1 1 0 0 1 4 0 1 0 0 0 1 1 0 0 1 1 5 0 1 0 1 1 0 1 1 0 1 1 6 0 1 1 0 1 0 1 1 1 1 1 f e a g d b c 7 0 1 1 1 1 1 1 0 0 0 0 8 1 0 0 0 1 1 1 1 1 1 1 9 1 0 0 1 1 1 1 1 0 1 1 10 1 0 1 0 - - - - - - - 11 1 0 1 1 - - - - - - - 24

Równanie sterujące diodą d Tablica Karnaugh a x1 x2 x3 x4 d x1 x2/x3 x4 00 01 11 10 00 1 0 1 1 01 0 1 0 1 11 - - - - 10 1 1 - - d = x1 + x3 x4 + x2 x3 + x2 x4 + x2 x3 x4 0 0 0 0 0 1 1 0 0 0 1 0 2 0 0 1 0 1 3 0 0 1 1 1 4 0 1 0 0 0 5 0 1 0 1 1 6 0 1 1 0 1 7 0 1 1 1 0 8 1 0 0 0 1 9 1 0 0 1 1 10 1 0 1 0-11 1 0 1 1-25

Równanie sterujące diodą d wykorzystanie systemu Espresso Tablica Karnaugh a # dioda.i 4.o 1.type fr 0000 1 0001 0 0010 1 0011 1 0100 0 0101 1 0110 1 0111 0 1000 1 1001 1 1010.e x1 x2 x3 x4 d 0 0 0 0 0 1 1 0 0 0 1 0 2 0 0 1 0 1 3 0 0 1 1 1 4 0 1 0 0 0 5 0 1 0 1 1 6 0 1 1 0 1 7 0 1 1 1 0 8 1 0 0 0 1 9 1 0 0 1 1 10 1 0 1 0-11 1 0 1 1-26

Graficzny opis projektu Otwórz nowy plik projektu FIE ->NEW Wybierz Graphic editor file Zapisz pod wybraną nazwą (np. dioda_d) File -> Save 27

Graficzny opis projektu dostępne elementy Biblioteki: prim podstawowe elementy, takie jak bramki logiczne, symbole reprezentujące końcówki wejściowe i wyjściowe, mf makrofunkcje, takie jak multipleksery, liczniki, odpowiedniki układów serii 74XXX, mega_lpm parametryzowane megabloki realizujące sumatory, układu mnoŝące, itd., symbole z biblioteki uŝytkownika. 28

Graficzny opis projektu schemat graficzny d = x1+ x3 x4+ x2 x3 + x2 x4+ x2 x3 x4 Wstawienie potrzebnych symboli: 3 AN2, AN3, OR5, 3 NOT, 4 INPUT, OUTPUT. 29

Graficzny opis projektu schemat graficzny c.d. d = x1+ x3 x4+ x2 x3 + x2 x4+ x2 x3 x4 Zmiana nazw symboli wejściowych i wyjścia, Połączenie symboli: liniami wirtualnie (nadając nazwy liniom połączeniowym) 30

Kompilacja projektu Ustawienie utworzonego pliku jako projekt do przetwarzania File->Project->Set Project to Current File Wybór docelowej rodziny układów programowalnych Assign->evice. 31

Kompilacja projektu c.d. Ustawienie stylu syntezy logicznej Assign-> Global Project ogic Synthesis Włączenie esign octor a Processing (opcjonalnie) Kompilacja funkcjonalna Processing (opcjonalnie) Uruchomienie modułu kompilatora Cel optymalizacji Styl syntezy 32

Kompilacja projektu c.d. Baza danych MAX+PUS II Kompilator Compiler Netlist Extractor (zawiera wypis całej sieci połączeń) atabase Builder ogic Synthesizer esign octor Partitioner Fitter Functional, Timing, or inked SNF Extractor EIF, V & Verilog Netlist Writers Assembler.sym.cnf.hif.rpt.fit.tdo.snf.edo.aco.vho.vo.pof.sof.jed Raport utylizacyjny MAX+PUS II Message Processor.mmf Raport błędów do symulatora i analizatora czasowego MAX+PUS II do innego przemysłowego symulatora do MAX+PUS II lub innego przemysłowego programatora 33

Kompilacja projektu cd. Analiza komunikatów i ewentualna korekta opisu projektu Analiza wymaganych zasobów przed zakończeniem procesu alokacji zasobów (fitting) i ewentualne przerwanie kompilacji. Statystyka wykorzystania zasobów Otwiera plik raportu 34

Analiza wykorzystania zasobów Analiza pliku raportu w celu: ustalenia ilości wykorzystanych zasobów odczytania wygenerowanych równań opisujących projekt ** EVICE SUMMARY ** Chip/ Input Output Bidir Shareable POF evice Pins Pins Pins Cs Expanders % Utilized diodad EPM7032C44-6 4 1 0 1 0 3 % User Pins: 4 1 0 ** EQUATIONS ** x1 : INPUT; x2 : INPUT; x3 : INPUT; x4 : INPUT; x1 x2/x3 x4 00 01 11 10 00 1 0 1 1 01 0 1 0 1 11 - - - - 10 1 1 - - -- Node name is 'd' -- Equation name is 'd', location is C017, type is output. d = CE( _EQ001 $ VCC); _EQ001 =!x1 & x2 & x3 & x4 #!x1 &!x2 &!x3 & x4 #!x1 & x2 &!x3 &!x4; Programowalna negacja pozwala na pewną elastyczność d = x1+ x3 x4+ x2 x3 + x2 x4+ x2 x3 x4 35

Edytor hierarchii Uruchomienie edytora hierarchii Prezentacja projektu hierarchicznego w postaci drzewa Łatwa nawigacja pomiędzy modułami składowymi projektu i plikami dotyczącymi poszczególnych modułów Moduły składowe Pliki raportu, symulacji, konfiguracji, itp. 36

Przygotowanie pliku testowego Uruchomienie edytora przebiegów czasowych Wprowadzenie sygnałów, na podstawie których będzie ustalana poprawność implementacji 37

Przygotowanie pliku testowego c.d Ustalenie czasu symulacji na np. 10 ns (domyślnie 1 ns) Ustalenie poziomów logicznych sygnałów wejściowych w poszczególnych momentach czasowych Zaznaczenie przedziału czasowego Wybór poziomu logicznego 38

Ustalenie przebiegów testowych Zgrupowanie sygnałów (istotna kolejność grupowanych sygnałów najstarszy bit pierwszy) Konieczne przestawienie sygnałów w edytorze Wybór systemu w jakim prezentowane będą wartości Grupa reprezentuje liczbę, w tym przypadku 4-bitową 39

Automatyczne ustalenie przebiegów testowych Nadanie wartości grupie odbywa się podobnie jak w przypadku pojedynczego sygnału przez zaznaczenie odcinka czasu i ustalenie wartości, tym razem przy uŝyciu przycisku Albo zaznaczeniu całej grupy i uŝyciu automatu 40

Symulacja Zapisanie pliku z testami pod nazwą proponowaną przez system Uruchomienie modułu symulatora (np. przyciskiem ) Uruchomienie symulacji Przełączenie do okna edytora przebiegów czasowych 41

Analiza czasowa Uruchomienia modułu analizatora czasowego (np. przyciskiem ) Uruchomienie analizy Wypisanie informacji o danej ścieŝce opóźnienia 42

Wpływ wyboru struktury układu Wybór rodziny układów FEX10K Analiza pliku raportu po kompilacji ** EVICE SUMMARY ** Chip/ Input Output Bidir Memory Memory Cs POF evice Pins Pins Pins Bits % Utilized Cs % Utilized diodad EPF10K10C84-3 4 1 0 0 0 % 1 0 % User Pins: 4 1 0 ** EQUATIONS ** { } -- Node name is ' OR5:6 :1' = ' OR5:6 OUT' -- Equation name is '_C8_B14', type is buried _C8_B14 = CE( _EQ001); _EQ001 = x1 # x2 &!x3 & x4 #!x2 & x3 #!x2 &!x4 # x3 &!x4; d = x1+ x3 x4+ x2 x3 + x2 x4+ x2 x3 x4 43

Wpływ wyboru struktury układu cd. Symulacja Analiza czasowa 44

Wpływ wyboru struktury układu cd. I/O OUTPUT ENABE PRESET SYSTEM COCK Cascade Out ARRAY COCK CEAR P C Q TO I/O CONTR O BOCK ATA1 ATA2 ATA3 ATA4 Cascade In Carry IN ook-up Table (UT) Carry Chain Cascade Chain PR CR Q Programmable Register E Out Carry Out From inputs From PIA Expander Product Terms I/O and Macrocell Feedback Komórka MAX: potrafi więcej zajmuje więcej miejsca jest szybsza Preset Clear Clock Komórka FEX: potrafi mniej zajmuje mniej miejsca jest wolniejsza 45

Wykorzystanie edytora planu zasobów 46

Edycja zasobów Zapamiętanie alokacji zasobów z ostatniej kompilacji Wyłączenie techniki QUARTUS (Processing->Fitter Settings) Przełączenie widoku na aktualne modyfikacje zasobów Modyfikacja alokacji zasobów metodą chwyć i upuść 47

Wpływ edycji zasobów Analiza czasowa: mniejsze opóźnienia ciągle róŝne opóźnienia Symulacja: bez zmian szpilki pozostały 48

Umieszczenie układu w bibliotece uŝytkownika Wybranie okna z opisem projektu plik graficzny diodad.gdf Wybranie opcji File->Create efault Symbol 49

Programator 50

Programowanie układów Wektory testowe Moduł programujący Kompilator MAX+PUS II.pof.jed.sof.scf.vec Programator.plf.jed.pof BitBlaster Raport.hex.ttf.sbf.rbf 51