Synteza logiczna APSC

Podobne dokumenty
Projektowanie Scalonych Systemów Wbudowanych VERILOG

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

Sposoby projektowania systemów w cyfrowych

Projektowanie scalonych systemów wbudowanych VERILOG. VERLIOG - historia

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

Laboratorium przedmiotu Technika Cyfrowa

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

Krótkie wprowadzenie do ModelSim i Quartus2

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

Układy cyfrowe w Verilog HDL. Elementy języka z przykładami. wersja: cz.3

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Robert Barański, AGH, KMIW State Machine v1.0. Maszyna stanów (State Machine)

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

(przykład uogólniony)

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

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

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

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

Laboratorium Podstaw Techniki Cyfrowej

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

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

W przypadku spostrzeżenia błędu proszę o przesłanie informacji na adres

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

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

Automat skończony FSM Finite State Machine

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

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

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

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

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

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.

Układy VLSI Bramki 1.0

ćw. Symulacja układów cyfrowych Data wykonania: Data oddania: Program SPICE - Symulacja działania układów liczników 7490 i 7493

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

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

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

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

Kurs Verilog cz.1 wstęp

Projektowanie Urządzeń Cyfrowych

Cyfrowe układy scalone c.d. funkcje

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

Simulink MATLAB Przegląd obiektów i przykłady zastosowań

Programowalne układy logiczne

Język opisu sprzętu VHDL

ID1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki stacjonarne

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości

Projektowanie układów na schemacie

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

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

LICZNIKI PODZIAŁ I PARAMETRY

Język VERILOG w praktyce

IZ1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki niestacjonarne

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

Systemy na Chipie. Robert Czerwiński

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

O autorze... 9 Wprowadzenie... 11

MentorGraphics ModelSim

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

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

Elektronika i techniki mikroprocesorowe

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

Specyfika projektowania Mariusz Rawski

Języki opisu sprzętu VHDL Mariusz Rawski

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

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.

Wstęp do Techniki Cyfrowej... Układy kombinacyjne

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

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Technika cyfrowa Synteza układów kombinacyjnych

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

Podstawy Informatyki Elementarne podzespoły komputera

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

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

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

Projektowanie hierarchiczne Mariusz Rawski

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

Elementy cyfrowe i układy logiczne

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

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

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

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja

LICZNIKI LABORATORIUM. Elektronika AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. Wydział Informatyki, Elektroniki i Telekomunikacji

1 Wstęp. 2 Operatory. 3 Blok always dla układów kombinacyjnych. 4 Instrukcja IF. 5 Instrukcja CASE. 6 Struktury konstrukcji warunkowych

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

media Blitz wydajne sytemy szablonów

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

Wykład 10. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń. 20 grudzień 2017

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

Przerzutniki RS i JK-MS lab. 04 Układy sekwencyjne cz. 1

Architektura komputerów Wykład 2

ECDL Podstawy programowania Sylabus - wersja 1.0

LICZNIKI Liczniki scalone serii 749x

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

Transkrypt:

Jest to proces tłumaczenia opisu projektu przygotowanego na wysokim poziomie abstrakcji na zoptymalizowaną reprezentację na poziomie bramek logicznych w oparciu o zadaną technologiczną bibliotekę komórek standardowych. Zanim zbudowano narzędzia typu CAD taki proces odbywał się w umyśle projektanta. Współczesne narzędzia sprawiają, że: Synteza logiczna to automatyczny proces konstruowania opisu układu na poziomie bramek w oparciu o model układu przygotowany przez projektanta na poziomie przesłań rejestrowych RTL. Istnieją także narzędzia syntezy behawioralnej ale obecnie są jeszcze mało znane.

Lista konstrukcji Veriloga, które rozumiane są przez narzędzia syntezy logicznej: Konstrukcja Słowo kluczowe Uwagi Porty Parametry Definicje modułów Sygnały i zmienne Konkretyzacje Funkcje i zadania Procedury Bloki Przepływ danych Pętle Input, inout, output parameter module Wire, reg, tri Urealnienia modułów i komórek pierwotnych function, task always, if then else, case, casex, casez begin end assign for, while, forever Wektory są dozowlone Konstrukcje czasowe (np. # ) sa ignorowane initial jest niedozolony While i forever musza zawierać: @(posedge x) lub @(negedge x)

Uwagi Synteza ignoruje specyfikacje opóźnień #<opóźnienie>, co może prowadzić do sytuacji gdy wynik syntezy NIE będzie się zgadzał z wejściowym opisem RTL. Rolą projektanta jest używać takiego stylu kodowania aby nie powstały takie rozbieżności. Procedura initial nie jest przyjmowana przez syntezę dlatego konieczne jest zaprojektowanie mechanizmu zerowania służącego inicjacji sygnałów w układzie. Należy wyraźnie określać rozmiary zmiennych. Zmienne bez wymiaru mogą prowadzić do generacji za dużej netlisty zawierającej niepotrzebną logikę. Operatory działające na x i z (takie jak === i!===) są w syntezie niedozwolone ponieważ x i z są zbyt wieloznaczne dla syntezy. Przy pisaniu wyrażeń należy stosować nawiasy. Poleganie na priorytetach operatorów może skończyć się nadmiarową logiką.

Opis RTL Tłumaczenie Pośrednia reprezentacja nie optymalizowana Optymalizacja logiki Ograniczenia projektowe Mapowanie do technologii i optymalizacja Biblioteka technologiczna Optymalizowany opis na poziomie bramek

Opis RTL Tłumaczenie Pośrednia reprezentacja nie optymalizowana Optymalizacja logiki Mapowanie do technologii i optymalizacja Opis przygotowany w Verilogu przez projektanta i zweryfikowany za pomocą odpowiedniego wymuszenia. Kiedy projektant uzna, że opis zawiera funkcje zgodne z założeniami to można go zastosować jako plik wejściowy do narzędzia syntezy. Proste tłumaczenie do pośredniej nie zoptymalizowanej postaci bez uwzględniania ograniczeń i technologii. Wewnętrzna struktura danych nie widoczna dla użytkownika. Optymalizacja niezależna od technologii. Usuwa nadmiarową logikę. Wynikiem jest wewnętrzna zoptymalizowana struktura danych. Implementacja wewnętrznej struktury danych za pomocą komórek zdefiniowanych w bibliotece technologicznej. Dopiero w tym momencie projekt staje się zależny od technologii. Jeśli tworzymy układ scalony w technologii firmy AMS, CMOS 0,35µm to potrzebujemy plik technologiczny dla tej technologii. Dla narzędzi firmy Cadence jest tych plików kilka.

Biblioteka technologiczna Biblioteka zależności czasowych Timing Library Zawiera wszystkie informacje czasowe związane z konkretnym procesem technologicznym. Np. proces csx z AMS. Możliwe jest użycie następujących formatów (jednego lub połączenia obu): ALF - Ambit Library Format binarne pliki *.alf które zawierają opis funkcjonalny komórek w postaci równań, a także informacje takie jak: elektryczną charakterystyk końcówej, wejściowe pojemności, wyjściowe rezystancje i opóźnienia czasowe. TLF - ASCII Timing Library Format lub w wersji skompilowanej CTLF Biblioteka fizyczna Physical Library PKS i SE wymaga bibliotek fizycznych LEF - Library Exchange Format LEF pliki ASCII *.lef zawierają opis w specjalnym języku charakterystyk technologii i komórek bibliotecznych: informacje o pojemnościach i rezystancjach rozproszonych połączeń, dokładne rozmiary komórek i usytuowanie końcówek oraz informacje potrzebne do prowadzenia połączeń na różnych poziomach.

Biblioteka w Verilog-u Będzie też potrzebny opis komórek standardowych w Verilogu. Nasze biblioteki dla CMOS 0,35µm z AMS: TLF: csx_hrdlib.tlf LEF: csd.lef HRDLIB_3B.lef Verilog: csx_hrdlib.v - komórki stanadrdowe technologii csx udp.v komórki podstawowe dla wszystkich technologii AMS Ograniczenia Ograniczenia te dotyczą trzech aspektów: projektowe Timing układ musi działać z wymaganą prędkością, Area układ musi zmieścić się na zadanej powierzchni krzemu, Power układ nie może rozpraszać mocy powyżej pewnego limitu. Czasowe i fizyczne ograniczenia podajemy do SPR za pomocą skryptu TCL. Optymalizowany opis na poziomie bramek Zoptymalizowana netlista na bramkach jest weryfikowana za pomocą tych samych wymuszeń co wejściowa netlista RTL. Jeśli jakieś wymagania nie są spełnione należy poprawić RTL i ponowić syntezę. Jeśli wszystko się zgadza należ wygenerować layout a następnie plik GDSII i przesłać do fabryki.

Narzdzie syntezy logicznej firmy Cadence to: SPR - Synthesis Place-and-Route SPR czy funkcjonalno dwóch innych narzdzi Cadence: PKS - Physically Knowledgeable Synthesis SE - Silicon Ensemble place-and-route W ten sposób pakiet ten dostarcza kompleksowego narzędzia do projektowania cyfrowych układów scalonych w technologiach o rozmiarach dużo mniejszych niż mikrometr (deep sub-micron digital IC) począwszy od opisu RTL a skończywszy na bibliotece GDSII. RTL SP&R GDSII

Uwagi Dla uzyskania wielkich szybkości działania układów biblioteki dostarczane przez producenta mogą być nieodpowiednie. Dlatego dla projektów, dla których szybkość jest najważniejsza grupy projektowe same muszą tworzyć biblioteki i określać charakterystyki komórek. Dla uzyskania optymalnego układu cyfrowego należy stworzyć efektywny opis RTL i dokładnie określić ograniczenia projektowe. Reszta zależy od pliku technologicznego i oprogramowania. Dla projektów poniżej mikrona opóźnienia na połączeniach pomiędzy bramkami decydują o przydatności układu. Dlatego narzędzia do syntezy muszą współdziałać z narzędziami do generacji layoutu już na poziomie RTL.

Komparator 4-bitowy module mag_comp(a_gt_b, A_lt_B, A_eq_B, A, B); output A_gt_B, A_lt_B, A_eq_B; input [3:0] A, B; assign A_gt_B = (A > B); //A większe niż B assign A_lt_B = (A < B); //A mniejsze niż B assign A_eq_B = (A == B); //A równe B endmodule

Komparator 4-bitowy xatl APSC Synteza w technologii domyślnej xatl

Komparator 4-bitowy AMS APSC Synteza w technologii AMS 0,35µm csx

Maszyna sprzedająca gazety Specyfikacja: Gazeta kosztuje 15 centów Maszyna akceptuje tylko monety 10 centowe i 5 centowe Dokładna kwota musi być wrzucona. Maszyna nie wydaje reszty Poprawne kombinacje to: 10 i 5, trzy 5 centówki, 5 i 10 centów. Można wrzucić dwie 10 centówki ale nie będzie reszty. Wymagania dla układu: Wrzucenie monety formuje 2-bitowy sygnał coin[1:0]. Sygnał powstaje na opadającym zboczu zegara i trwa jeden okres zegara. Wyjściowy sygnał newspaper jest wysyłany gdy maszyna otrzyma 15 lub więcej centów. Sygnał ten traw przez jeden okres zegara i służy do otwarcia drzwiczek maszyny. Sygnał kasujący reset jest synchroniczny.

Maszyna sprzedająca gazety Wejście: brak monet, x0 coin[1:0] = 2 b00 5 centów, x5- coin[1:0] = 2 b01 10 centów, x10 - coin[1:0] = 2 b10 Wyjście: newspaper = 1 b1 otwarcie drzwiczek Stany: s0-0 centów s5 5 centów s10 10 centów s15 15 centów S0 -/1 S15 x5/0 x10/0 x0/0 x10/0 S10 x5/0 x10/0 x0/0 x5/0 APSC S5 x0/0