42. Синтезирано подмножество на езика vhdl.

Както знаете, езикът за описание на хардуера VHDL първоначално е създаден като инструмент за моделиране на цифрови системи. Въпреки това, неговата популярност и някои удобства, които се появяват на разработчика, доведоха до факта, че моделите на езика VHDL се превърнаха в средство за описване на алгоритми, синтезирани от специален софтуер във файлове на фърмуера (взаимосвързване) на FPGA. В същото време за всеки софтуерен продукт наборът от поддържани езикови конструкции се различава и понякога доста значително. Вече е направен опит в стандарта IEEE P1076.6 да се дефинира подмножество на езика VHDL, което може да се синтезира. Този стандарт дефинира тези елементи на езика, които могат да бъдат синтезирани от инструменти за синтез (компилатори) на ниво пренос на регистър. В този случай инструментите за синтез, отговарящи на стандарта IEEE P1076.6, биха могли да осигурят истинска преносимост на дизайна и възможност за еднообразно описание. Разгледайте елементите на синтезираното подмножество на езика VHDL.

Синтезаторите, които отговарят на стандарта IEEE P1076.6, трябва да поддържат следните заменени типове:

BIT, BOOLEAN и BIT_VECTOR съгласно IEEE Std 1076-1993

ЦЯЛО ЧИСЛО според IEEE Std 1076-1993

STD_ULOGIC, STD_ULOGIC_VECTOR, STD_LOGIC и STD_LOGIC_ според пакет STD_LOGIC_1164 (IEEE Std 1164-1993)

SIGNED и UNSIGNED според пакета NUMERIC_BIT, който е част от IEEE Std 1076.3-1997

SIGNED и UNSIGNED според пакета NUMERIC_STD, който е част от IEEE Std 1076.3-1997

В допълнение трябва да се осигури поддръжка от инструменти за синтез за дефинирани от потребителя типове (дефинирани от потребителявидове).

entityидентификаторе

край[entity] [entity_simple_name];

Синтетично поддържани конструкции

Игнорира се при синтезиране на конструкции

Конструкции, които не се поддържат от инструменти за синтез

• Запазена думаentityследend

43. Интерфейс и обектна архитектура на езика vhdl.

Пълното VHDL описание на обект се състои от поне две отделни описания: описание на интерфейса на обекта и описание на тялото на обекта (описание на архитектурата).

Например обект Q1 има три входни порта X1, X2, X3 и два изхода Y1, Y2. Описанието на неговия VHDL интерфейс изглежда така:

Порт (X1, X2, X3: реално; Y1, Y2: реално);

Портовете на даден обект се характеризират с посоката на информационния поток. Те могат да бъдат:

двупосочен буфер (буфер)

И те също имат тип, който характеризира стойностите на сигналите, идващи към тях:

Тялото на обекта определя неговата структура или поведение. Неговото описание в VHDL терминологията се съдържа в описанието на неговата архитектураarchitecture.

VHDL позволява множество архитектури да бъдат идентифицирани с един и същи интерфейс. Това се дължи на факта, че в процеса на проектиране се разработва архитектурата на обекта: преходът от блокова схема към електрическа схема, от поведенческо към структурно описание.

VHDL инструментите за показване на структурите на цифровите системи се основават на идеята, че описаният обектentityе структура отcomponentкомпоненти, свързани помежду си чрез комуникационни линии. Всеки компонент от своя страна е обект и може да се състои от компоненти от по-ниско ниво (йерархия на обекти). Обектите взаимодействат чрез сигнализиранесигналпо комуникационни линии. Комуникационните линии са свързани към входните и изходните портове на компонентите. Във VHDL сигналите се идентифицират с комуникационни линии.

Описанието на структурата на обекта е изградено като описание на връзките на конкретни компоненти, всеки от които има име, тип и карти на портове. Картата на портоветекартата на портоветеопределя съответствието на портовете на компонентите със сигналите, идващи към тях, можете да тълкувате картата на портовете като конектор, към който идват сигналите и в който се вмъква компонентният обект.

Формата на описанието на връзките на специфични компоненти, приети в VHDL, е следната:

Име: тип връзка (сигнал, порт).

Например, описанието на връзките на обекта Q1, показано на фиг. 3 изглежда така:

K1: Карта на SM порта (X1, X2, S);

K3: M карта на порта (S, Y1);

K2: Карта на SM порта (S, X3, Y2);

Тук K1, K2, K3 са имената на компонентите; SM,M-видове компоненти; X1, X2, X3, S, Y1, Y2 са имената на сигналите, свързани с портовете.

Пълното VHDL описание на архитектурата STRUCTURA на обекта Q1 изглежда така:

Архитектура STRUCTURA на Q1 е

Компонентен SM порт (A, B: реално; C: реално извън);

Компонент M порт (E: реално; D: реално);

K1: Карта на SM порта (X1, X2, S);

K3: M карта на порта (S, Y1);

K2: Карта на SM порта (S, X3, Y2);

VHDL инструментите за показване на поведението на описаните архитектури се основават на тяхното представяне като набор от паралелно взаимодействащи процеси. Концепцията за процеспроцессе отнася до основните концепции на езика VHDL.

Архитектурата включва описание на един или повече паралелни процеси. Описанието на процеса се състои от поредица от изрази, които показват действията за обработка на информация. Всички изрази в рамките на един процес се изпълняват последователно. Един процес може да бъде в едноот две състояния - или пасивно, когато процесът чака пристигането на тригерни сигнали или подходящото време, или активно, когато процесът се изпълнява.

Процесите комуникират чрез обмен на сигнали.

В общия случай, в поведенческото описание, съставът на процесите не съответства непременно на състава на компонентите, какъвто е случаят в структурното описание.

Поведението на VHDL обектите се възпроизвежда на компютър и трябва да се вземат предвид особеностите на възпроизвеждането на паралелни процеси на еднопроцесорен компютър. Специална роля в синхронизацията на процесите се отрежда на механизма за възпроизвеждане на събития на моделно времесега.

Когато процес генерира нова стойност на сигнала, преди да го изпрати към връзката, се казва, че генерира бъдещо съобщениетранзакция. Всяка връзка (сигнал) може да бъде свързана с много бъдещи съобщения. Наборът от съобщения за сигнал се нарича негов драйвердрайвер.

VHDL реализира механизъм за възпроизвеждане на моделно време, състоящ се от цикли. На първия етап от цикъла се генерират нови стойности на сигнала. На втория етап процесите реагират на промени в сигнала и преминават в активна фаза. Този етап завършва, когато всички процеси се върнат в състояние на изчакване. След това моделното време става равно на времето на най-близкото планирано събитие и всичко се повтаря.

Специален случай е, когато в процесите няма инструкции за забавяне. За да направи това, VHDL осигурява механизъм за така нареченото делта забавяне.

В случай на делта закъснения, нов цикъл на симулация не е свързан с увеличаване на времето за симулация. В горния пример новата стойност на сигнала Y1 се генерира след делта закъснение след промяната в сигнала S.