2005 06 09 MUC WPR #2

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Modelowanie Układów Cyfrowych

Wykład w

prowadzający

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Program dzisiejszego wykładu

Modelowanie układów cyfrowych – podstawowe
pojęcia

Reprezentacja danych o układach i systemach
cyfrowych

»

Dziedziny reprezentacji

»

Poziomy abstrakcji i diagram Y Gajskiego

Wprowadzenie do języków opisu sprzętu

»

Kilka słów o historii

»

Powstanie języka VHDL

Przedstawienie programu przedmiotu
i warunków zaliczenia, literatura

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Sygnały cyfrowe i ich przetwarzanie

Sygnały analogowe (elektryczne i nieelektrycze)

Kwantyzacja:

»

przetwarzanie analogowo-cyfrowe (skończona dokładność, liniowość)

Kodowanie:

»

Reprezentacja danych za pomocą ciągów zer i jedynek, przy użyciu konwencji wysokie napięcie

(PRAWDA)  1, niskie napięcie (FAŁSZ)  0

»

Sygnały logiczne (dwustanowe)

»

Informacja symboliczna (np. kod ASCII, kodowanie stanów automatów)

»

Liczby binarne (stałoprzecinkowe), kody BCD

»

reprezentacja liczb ze znakiem i liczb zmiennoprzecinkowych (m*2

C

)

»

Kody korekcyjne (ECC)

Wykonywanie operacji arytmetycznych w systemie dwójkowym

100010
100111
011001
001101

....

A

/

C

101110
0

SUMATOR BINARNY

1000001

0011011

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Ogólna architektura układu

cyfrowego

Pamięć

Układ sterujący

Ścieżka danych

C/A

A/C

Sygnały wejściowe

Sygnały wyjściowe

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Zalety techniki cyfrowej

Możliwość wykonywania operacji bez utraty
dokładności

Możliwość realizacji urządzeń o bardzo wysokiej
rozdzielczości (np. pomiar kąta)

Możliwość transmisji informacji przy wysokim poziomie
zakłóceń bez utraty danych (łatwość regeneracji,
możliwość stosowania kodów korekcyjnych)

Łatwość przechowywania (wielkich ilości)
informacji bez ograniczeń w czasie

Niewielka zależność własności układu
od rozrzutu parametrów elementów składowych

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

System czy układ cyfrowy

Układ cyfrowy,
to sprzęt realizujący funkcje
za pomocą odpowiedniej struktury
elementów elektronicznych

System cyfrowy ...

»

zawiera co najmniej jeden programowalny procesor i ...

»

realizuje znaczną część swoich funkcji
za pomocą oprogramowania
wykonywanego przez ten procesor

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Systemy wbudowane

System wbudowany (ang.

embedded system

)

to system mikroprocesorowy (komputerowy)

wbudowany

w dowolne urządzenie techniczne

(samochód, samolot, router sieciowy, telefon,

kuchenkę mikrofalową, pióro, ... )

pełniący specyficzne funkcje sterujące, pomiarowe,

przetwarzające sygnały itp.,

ew. umożliwiające operacje na danych i ich transmisję

Istotne elementy systemu wbudowanego:

»

Mikrokontroler / mikroprocesor

»

Sprzęt specyficzny dla danej aplikacji ( ... ASIC / FPGA)

»

oprogramowanie aplikacyjne

»

ew. system operacyjny czasu rzeczywistego (RTOS)

Istotne (nowe) zagadnienia projektowe:

»

projektowanie na poziomie systemowym,

»

współprojektowanie sprzętu i oprogramowania

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Ewolucja specjalizowanych układów scalonych

(ASIC)

w kierunku systemów scalonych (SoC / SoPC)

Możliwości technologiczne pozwalają

zmieścić w jednym układzie scalonym:

»

procesor (a nawet kilka procesorów

- np. procesor sygnałowy i mikrokontroler),

»

Pamięć (ROM & SRAM,

w specyficznych procesach pamięć Flash, nawet „e”-DRAM)

»

standardowe bloki komunikacyjne (np. kontroler I2C lub USB)

»

podukłady logiczne specyficzne dla danej aplikacji (dawny ASIC)

»

układy analogowe (np. przetworniki ADC i DAC)

»

mikrosystemy mechaniczne (np. sensory)

Przy odpowiedniej skali produkcji

- optymalne wykorzystanie wszystkich zalet integracji

Także układy programowalne zawierają obecnie zasoby

logiczne umożliwiające realizację systemów w pojedynczym

układzie (w tym procesory wbudowane): SoPC

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Modelowanie w procesie

projektowania systemów cyfrowych

Modelowanie na poziomie systemowym

»

analiza wydajności

Specyfikacja zachowania na poziomie algorytmicznym

»

wstępna weryfikacja funkcjonalna algorytmów

»

podział na sprzęt i oprogramowanie

»

synteza wysokiego poziomu

Symulacyjne modele behawioralne elementów standardowych -

symulacja funkcjonalne na poziomie systemu / pakietu

»

pełne

»

magistralowe

Syntezowalne modele na poziomie RTL (register transfer level)

- pełna specyfikacja funkcjonalna projektu (ograniczenia)

Model otoczenia układu (testbench)

Modele symulacyjne komórek bibliotecznych producentów układów

scalonych (standard VITAL) - finalna weryfikacja czasowa układów ASIC

(sign off)

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Zadanie projektowe

- dwuwejściowa bramka NAND

Funkcja:

Ograniczenia projektowe:

»

technologia realizacji - CMOS

»

komórka standardowa
(wymiary)

»

czas propagacji

»

pobór mocy

»

fanout (dopuszczalna
pojemność obciążenia)

a

b

c

0

0

1

0

1

1

1

0

1

1

1

0

ab

c

c

a

b

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Schemat i topografia bramki NAND

V

DD

c

a

b

I

V

V V

V

V

V

V

V

Dn

n

GS

Tn

DS

DS

n

GS

Tn

DS

DS sat









0

2

2

2

1

2

2

(

)

(

)

,

n

n

ox

C

W

L



Źródło

Bramka

Dren

W

L

Dren

Bramka / kanał

Źródło

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Specyfikacja w języku naturalnym:

Zaprojektować układ synchroniczny o jednym
wejściu A i dwóch wyjściach X i Y działający w
następujęcy sposób:

Jeśłi wejście A jest w stanie niskim to wejście Y
jest także w stanie niskim, a wejście X zmienia
swój stan w każdym takcie zegarowym; dla A w
stanie wysokim na wyjściach XY występuje
sekwencja:
00 – 01 – 11 – 00

Zadanie projektowe

– automat sekwencyjny

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Zadanie projektowe

– automat sekwencyjny c.d.

Odwzorowanie specyfikacji
w języku naturalnym
w postaci grafu przejść –
wyjść

Usunięcie braków,
nieścisłości,
sprzeczności w specyfikacji

»

S2, S4 A=0 ??

S4, 11

S3, 10

S2, 01

S1, 00

A=1

A=0

A=0

A=1

A=1

A=0

A=0

Specyfikacje

wykonywalne
(executable) –
walidacja przez symulację

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

PRE

10

CLK

11

D

12

CLR

13

Q

9

Q

8

U2B

SN7474

PRE

4

CLK

3

D

2

CLR

1

Q

5

Q

6

U2A

SN74LS74A

8

9

10

U1C

SN7402

5

6

4

U1B

SN7402

11

12

13

U1D

SN7402

2

3

1

U1A

SN7402

VCC

1

9

2

10

3

11

4

12

5

13

6

14

7

15

8

J?

DB15

Automat sekwencyjny c.d. (schemat)

Synteza sekwencyjna

»

Minimalizacja liczby

stanów

»

Kodowanie stanów

Synteza

kombinacyjna

(funkcje wzbudzeń)

Opracowanie

struktury logicznej:

»

wybór technologii (SSI)

»

faktoryzacja funkcji

w celu minimalizacji

ilości układów

scalonych

Inne ograniczenia

projektowe:

»

Prędkość działania

»

Pobór mocy

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Automat sekwencyjny c.d. (pcb)

Opracowanie obwodu
drukowanego

»

wybór technologii
realizacji

– układy TTL lub CMOS
– druk jedno- lub

wielowarstwowy,

»

wybór obudów itp.

– Obudowa DIP

»

połączenia
mechaniczne

»

zasilanie ?

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Reprezentacja systemu cyfrowego:

diagram Y - Gajskiego

architektura systemu

procesory - pamięci -
kanały komunikacyjne (PMS)

moduły sprzętowe

ścieżka danych, kontroler

bloki funkcjonalne:

ALU,

sumator, rejestr, licznik

elementy logiczne

bramki, przerzutniki

elementy układowe

tranzystory, elementy RC

podział fizyczny na urządzenia,

moduły, płyty PCB, układy scalone

plan powierzchni układu scalonego
(floorplan) lub podział fizyczny

topografia komórek standardowych
(prostokąty)

topografia symboliczna komórek (obrys)

plan powierzchni modułów

(floorplan)

(np. bloków komórek

standardowych)

Geometria

Struktura

Poziom systemowy

Poziom algorytmiczny

Poziom RTL

Poziom logiczny

P. układowy

nieformalny (?)
opis funkcji systemu
i ograniczeń projektowych

definicja algorytmów

opis na poziomie
przesłań
międzyrejestrowych
(RTL)

równania boolowske

układ nieliniowych
równań całkowo-różniczkowych

Funkcja

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Etapy projektowania

Specyfikacja

Synteza

»

realizacja funkcji w oparciu o elementy składowe (biblioteczne)

»

optymalizacja (np. minimalizacja logiczna)

»

generacja (realizacja fizyczna struktury)

Analiza

»

symulacja – walidacja, testy regresyjne

»

weryfikacja formalna (równoważności dwóch reprezentacji)

»

weryfikacja reguł projektowania i własności

Implementacja

»

z elementów katalogowych SSI / MSI / LSI / VLSI (pamięci / ASSP)

»

Układy programowalne (FPGA / CPLD)

»

Układy specjalizowane (ASIC)

»

Systemy wbudowane (tradycyjne i scalone - SoC)

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Specyfikacja

– krótka historia języków opisu sprzętu

CDL (Computer Design Language) –

modelowanie maszyn cyfrowych na poziomie RTL

(Yaohan Chu: Organizacja i Mikroprogramowania Maszyn Cyfrowych)

»

Bloki składowe

– Rejestry
– Pamięci, Dekodery, Multipleksery, Zegary ...
– Sieci logiczne
– Przełaczniki, Lampki sygnałowe ...

»

Mikrooperacja:

– [etykieta-warunek] <rej> <- F(<rej 1>,<rej 2>, ...);

ISP, ISP’, ISPS (instruction set processor specification)

– Carnegie Mellon University

Sieci Petri (DACAPO)

Języki algorytmiczne – na bazie języków programowania

(APL > AHPL: IBM 370, C > M: GDT)

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Rozwój języków opisu sprzętu c.d.

IBM ...

Texas Instruments - TI HDL

Języki do układów PLD – ABEL, CUPL, PALASM

CONLAN (consensus language) –

»

międzynarodowy wysiłek standaryzacyjny (od połowy lat 70-tych:

R.Piloty, M.Barbacci, D.Dietmayer, D.Borrione, F.Hill, P.Shelly)

»

solidne podstawy matematyczne

»

Raport w 1983

»

Base CONLAN - mechanizm tworzenia języków pochodnych o

wspólnej składni podstawowej i sematyce operacyjnej

»

Reglan (weryfikacja formalna !)

MODLAN (Politechnika Śląska, dr Adam Pawlak - 1982)

Verilog – rozwój języka na bazie b.dobrego symulatora

logicznego (83/84 Gateway > Cadence > IEEE STD 1364 - 1995)

... VHDL IEEE STD 1076 – 1987, 1993

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

VHDL

:

V

HSIC

H

ardware

D

escription

L

anguage

Program

V

ery

H

igh

S

peed

I

ntegrated

C

ircuits

(finansowany przez US Depatment of Defense - 1980)

Standaryzacja języka według reguł IEEE

(

Institute of Electrical and Eletronic Engineers, I –

triple E

)

w latach 1985 .. 1987
(wsparcie przez Air Force Wright Aeronautical Laboratories)

V 1987 - opublikowanie standardu IEEE Std 1076 –1987

standardowy pakiet do modelowania logicznego IEEE Std 1164-

Rewizja standardu w latach 1991-93: IEEE Std 1076-1993

Powstanie standard WAVES (IEEE Std 1129)

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

VHDL – rozwój języka i środowiska

c.d.

Kontynuacja prac rozwojowych
nad środowiskiem języka VHDL:

»

1076.1 rozszerzenie języka o możliwości modelowania
układów analogowych (VHDL-AMS - Analog Mixed Signal)

»

1076.2 standardowy pakiet matematyczny

»

1076.3 standardowy pakiet do syntezy

– mało popularny z uwagi

na upublicznienie pakietów firmy Synopsys

»

Opracowanie standardu VITAL (1076.4)

»

1076.6 standardowy podzbiór do syntezy RTL ...

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Metodologia projektowania układów

FPGA i ASIC z wykorzystaniem

syntezy

Symulacja

»

Modelsim, ActiveHDL

Synteza

»

FPGA

– Synplify, Leonardo,

FPGA Express

»

ASIC

– Behavioral Compiler
– Design Compiler (Synopsys)

Projektowanie fizyczne

(topografii)

»

FPGA

– Max Plus II /Quartus (Altera)
– Foundation/ISE (Xilinx)

»

ASIC

– Cadence, Mentor
– Avanti / Synopsys,
– Magma, Monterey

Opis RTL

Opis RTL

Synteza

Optymalizacja

Synteza

Optymalizacja

Place &

Route

Place &

Route

Weryfikacja

Symulacja funkcjonalna

Weryfikacja

Symulacja funkcjonalna

OK

OK

OK

Weryfikacja
Symulacja czasowa

Weryfikacja
Symulacja czasowa

Opis

behawioralny

Opis

behawioralny

Walidacja

Symulacja funkcjonalna

Walidacja

Symulacja funkcjonalna

Weryfikacja

Symulacja funkcjonalna
na poziomie bramkowym

Weryfikacja

Symulacja funkcjonalna
na poziomie bramkowym

OK

Synteza

behawioralna

Netlista

Netlista

Weryfikacja

Statyczna

analiza

czasowa

Weryfikacja

Statyczna

analiza

czasowa

Topografia,

plik konfiguracyjny

Topografia,

plik konfiguracyjny

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Program kursu

Język VHDL

»

Podstawowe elementy języka, typy, obiekty

»

Instrukcja proces, instrukcje wait i przypisanie sygnału, cykl symulacji

»

inne instrukcje sekwencyjne, instrukcje współbieżne

»

pakiety i podprogramy, typy plikowe i wskaźnikowe,

»

atrybuty, konfiguracja

Zastosowanie języka VHDL w procesie projektowym

»

Modelowanie na potrzeby syntezy RTL i sterowanie syntezą

»

Budowa środowisk testujących i metody weryfikacji

»

Symulacja czasowa (standard VITAL)

»

Zarządzanie procesem projektowym i dobre praktyki

»

Wprowadzenie do syntezy behawioralnej

Wprowadzenie do języka Verilog

Modelowanie na poziomie systemowym

»

SystemC

»

Informacja o języku UML i UML Statecharts

»

Informacja o języku SDL

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Literatura

Włodzimierz Wrona, VHDL język opisu i
projektowania układów cyfrowych
,
Pracownia Komputerowa Jacka
Skalmierskiego, 1998,
ISBN: 83-8664417-6

Kevin Skahill, Język VHDL. Projektowanie
programowalnych układów logicznych
,
Wydawnictwa Naukowo-Techniczne, 2001,
ISBN: 83-204-2616-2

Peter J. Ashenden,
The Designer’s Guide to VHDL,
Morgan Kaufmann Publishers, 1995,
ISBN 1558602704

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Literatura c.d.

Mark Zwoliński, Projektowanie układów
cyfrowych z wykorzystaniem języka VHDL

ISBN 83-206-1452-X

Praca zbiorowa pod redakcją Józefa Kalisza
Język VHDL w praktyce, Wydawnictwa
Komunikacji Łączności, ISBN 83-206-1440-6

Douglas J. Smith, HDL Chip Design, Doone
Publications, March 1998,
ISBN: 0965193438

Writing Testbenches: Functional Verification of
HDL Models, Janick Bergeron, Kluwer Academic
Publishers, 2000, ISBN: 0792377664

Himanshu Bhatnagar, Advanced ASIC Chip
Synthesis
: Using Synopsys Design Compiler,
Physical Compiler, and Prime Time, 2 wyd., Kluwer
Academic Publishers, 2002, ISBN: 0792376447

background image

Zakład Techniki Cyfrowej i Mikroprocesorowej Instytutu Elektroniki

Literatura c.d.

Tadeusz Łuba, Krzysztof Jasiński, Bogdan Zbierzchowski
Specjalizowane układy cyfrowe w strukturach PLD i
FPGA
Wydawnictwa Komunikacji i Łączności,
ISBN: 83-206-1235-7

Jerzy Pasierbiński, Piotr Zbysiński, Układy
programowalne w praktyce
, Wydawnictwa Komunikacji i
Łączności,
ISBN 83-206-1393-0

Giovanni De Micheli, Synteza i optymalizacja układów
cyfrowych
Wydawnictwa Naukowo-Techniczne, 1998,
ISBN: 83-204-2219-1

Michael J.S. Smith, Application Specific Integrated
Circuits
, Addison-Wesley, 1997


Document Outline


Wyszukiwarka

Podobne podstrony:
2005 06 09 869
ei 2005 06 s092
egzamin 2005 06 14
2005 04 09
12.06.09 socjologia, notatki
MM 06 09 [1]
2005 08 09 1299
terma techniczna egzamin 06 09
Inżynier Budownictwa 2005 06
Egzamin 2005 06
06 09 87
ei 2005 06 s018
EDW 2005 06
2009 06 09 Kolokwium 2
ei 2005 06 s026
IV WL Radiologia- zaliczenie 2005-06, Medycyna, Radiologia

więcej podobnych podstron