projekt VLSI-Wprowadzenie do VHDL

ogłoszenia

VHDL oznacza bardzo szybki język opisu sprzętu układu scalonego. Jest to język programowania używany do modelowania systemu cyfrowego za pomocą dataflow, behawioralnego i strukturalnego stylu modelowania. Język ten został po raz pierwszy wprowadzony w 1981 roku dla Departamentu Obrony (DoD) w ramach programu VHSIC.

opisanie projektu

w VHDL jednostka jest używana do opisania modułu sprzętowego. Podmiot można opisać za pomocą,

  • Deklaracja jednostki
  • Architektura
  • Konfiguracja
  • deklaracja pakietu
  • treść pakietu

zobaczmy, co to jest?

Entity Declaration

definiuje nazwy, sygnały wejściowe i tryby modułu sprzętowego.

entity entity_name is Port declaration;end entity_name;

deklaracja jednostki powinna zaczynać się od „entity” i kończyć słowami kluczowymi „end”. Kierunek będzie wejściowy, wyjściowy lub wyjściowy.

w Port można odczytać
Out Port można zapisać
Inout Port można odczytywać i zapisywać
Bufor Port może być odczytywany i zapisywany, może mieć tylko jedno źródło.

Architektura –

architektura może być opisana za pomocą structural, dataflow, behavioral lub mixed style.

architecture architecture_name of entity_name architecture_declarative_part;begin Statements;end architecture_name;

w tym miejscu powinniśmy określić nazwę encji, dla której piszemy ciało architektury. Instrukcje architektury powinny znajdować się wewnątrz słów kluczowych „begin” i „énd”. Architektura część deklaratywna może zawierać zmienne, stałe lub deklarację komponentów.

Modelowanie przepływu danych

w tym stylu modelowania przepływ danych przez jednostkę jest wyrażany za pomocą sygnału równoległego (równoległego). Polecenia współbieżne w VHDL to WHEN I GENERATE.

oprócz nich, przypisania przy użyciu tylko operatorów (i, nie, & plus;,*, sll, itp.) może być również używany do konstruowania kodu.

wreszcie, specjalny rodzaj przypisania, zwany blokiem, może być również użyty w tego rodzaju kodzie.

w kodzie współbieżnym można użyć następujących−

  • operatory
  • Instrukcja WHEN (WHEN/ELSE lub z/SELECT/WHEN);
  • Instrukcja GENERATE;
  • Instrukcja BLOCK

Modelowanie behawioralne

w tym stylu modelowania zachowanie encji jako zestawu instrukcji jest wykonywane kolejno w określonej kolejności. Tylko polecenia umieszczone wewnątrz procesu, funkcji lub procedury są sekwencyjne.

procesy, funkcje i procedury są jedynymi sekcjami kodu, które są wykonywane sekwencyjnie.

jednak, jako całość, każdy z tych bloków jest nadal współbieżny z innymi poleceniami umieszczonymi poza nim.

jednym z ważnych aspektów kodu zachowania jest to, że nie jest on ograniczony do logiki sekwencyjnej. Dzięki niemu możemy budować zarówno układy sekwencyjne, jak i kombinacyjne.

polecenia zachowania to IF, WAIT, CASE I LOOP. Zmienne są również ograniczone i powinny być używane tylko w kodzie sekwencyjnym. Zmienna nigdy nie może być globalna, więc jej wartość nie może być przekazywana bezpośrednio.

Modelowanie strukturalne

w tym modelowaniu jednostka jest opisana jako zestaw połączonych elementów. Instrukcja instancji komponentu jest instrukcją współbieżną. Dlatego kolejność tych stwierdzeń nie jest ważna. Strukturalny styl modelowania opisuje tylko połączenie komponentów (postrzegane jako czarne skrzynki), bez sugerowania jakiegokolwiek zachowania samych komponentów ani jednostki, którą wspólnie reprezentują.

w modelowaniu strukturalnym ciało architektury składa się z dwóch części − Części deklaratywnej (przed słowem kluczowym begin) i części instrukcji (po słowie kluczowym begin).

operacja logiczna – i bramka

X Y Z
0 0 0
0 1 0
1 0 0
1 1 1

przebiegów

działanie logiczne – lub bramka

X Y Z
0 0 0
0 1 1
1 0 1
1 1 1

przebiegów

działanie logiczne – nie bramka

X Y
0 1
1 0

przebiegów

działanie logiczne-bramka NAND

X Y z
0 0 1
0 1 1
1 0 1
1 1 0

przebiegów

działanie logiczne-bramka NOR

X Y z
0 0 1
0 1 0
1 0 0
1 1 0

przebiegów

działanie logiczne-bramka XOR

X Y Z
0 0 1
0 1 1
1 0 1
1 1 0

Waveforms

Logic Operation-X-NOR Gate

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Previous post Wszystko o płonących liściach
Next post Joseph Abboud