VHDL (много високоскоростни интегрални схеми)
Лични инструменти
едновременен, реактивен |
1980 г |
силен |
IEEE VASG |
Ада, Паскал |
VHDL(VHSIC, английскиVery High Speed Integrated Circuits – Hardware Description Language) е разработен като език за описание на хардуер за високоскоростни интегрални схеми. Първоначалната цел на езика беше да осигури обмен на проекти между различни съизпълнители на работа по създаването на свръхвисокоскоростни интегрални схеми. По-късно обаче, като се вземат предвид предложенията и препоръките на известни експерти в областта на въздухоплавателните средства, езикът беше подобрен и стандартизиран от Института на инженерите по електротехника и електроника (IEEE), в резултат на което стандартът IEEE 1076 VHDL беше одобрен през 1987 г.
Езикът VHDL осигурява абстракция на високо ниво на хардуерно описание поради наличието както на набор от предварително дефинирани типове данни, така и на възможността за създаване на потребителски йерархично организирани типове данни на базата на основните, вградени в езика.
VHDL е формална нотация, предназначена да опише функцията и логическата организация на цифрова система. Функцията на системата се определя като трансформация на входните стойности в изходни стойности. Освен това времето в тази трансформация е зададено изрично. Организацията на системата е дадена чрез списък от свързани компоненти. Езикът е предназначен за моделиране главно на ниво порта, ниво на прехвърляне на регистри и пакети с микросхеми; той също така се използва успешно в синтеза на устройства. VHDL не е единственият език за проектиранеелектронно оборудване (HDL - Hardware Design Language). И така, Verilog се използва широко за проектиране на интегрални схеми, използват се езиците Cupl, Palasm, Ample и т.н., но само VHDL и Verilog са предназначени за проектиране от край до край на всички нива, необходими за VLSI (по-горе дизайн на верига). Предимствата на VHDL пред Verilog са следните:
- IEEE индустриален стандарт
- Не зависи от конкретна технология или производител
- Кодът може да се използва повторно [1]
Съдържание
Лексикални елементи
VHDL поддържа три различни стила за описание на хардуерни архитектури. Първото от тях еструктурно описание", в което архитектурата е представена като йерархия от свързани компоненти. Второто е "описание на потока от данни", в което архитектурата е представена като набор от паралелни регистрови операции, всяка от които се управлява от гейт сигнали. Третото еповеденческо описание" (поведенческо описание), в което трансформацията е описана от последователни програмни изрази, които са подобни на тези, намерени в всеки модерен език за програмиране на високо ниво.

Основните понятия в езика VHDL са.
Помислете за пример на програма, която извършва криптиране на данни с помощта на алгоритъма RC5. Софтуерният пакет, реализиращ криптирането, съответно се състои от 2 части – софтуерна и хардуерна. Софтуерната реализация е направена на C#, хардуерната е на VHDL.
Основната функция на софтуерния пакет RC5 C# е да криптира входни данни с помощта на алгоритъма RC5 32/12/5 с помощта на компютър, изпраща данни за криптиране към програмируема интегрална схема(FPGA) и получаване на резултата от работата му.
Основната функция на софтуерния пакет RC5 VHDL е да криптира входни данни с помощта на алгоритъма RC5 32/12/5 с помощта на FPGA, да получава входни данни от компютъра и да изпраща резултата до компютъра.
Текстът на програмата “RC5 VHDL” е реализиран като символна нотация на изходния език. Изходният език на тази разработка е VHDL. Среда за разработка - компилатор Quartus II (нелокализирана английска версия).
Описание на продукта
Продуктът е чупливо устройство. Състои се от програмируема логическа интегрална схема Cyclone II EP2C20F484C7 (наричана по-долу FPGA), USB-COM кабел и софтуер. Шифрованите данни и ключът за криптиране се прехвърлят от компютъра чрез кабела Gembird, след което се обработват на FPGA и се изпращат обратно към компютъра по същия начин.
Подготовка за операция
Внимателно, като държите платката с ръка, свържете захранващия кабел (USB-blaster, включен в комплекта) към USB 2.0 слота на компютъра и към изхода на USB Blaster Port на платката (вижте фиг. 2). След това трябва да натиснете бутона за захранванеПревключвател за ВКЛ./ИЗКЛ.(вижте фиг. 2). Характерен знак, че платката е включена правилно, е мигането на диоди и седемсегментни индикатори. Ако това не се случи, трябва да опитате да рестартирате платката и в случай на повторна повреда се свържете с техническите специалисти.
За да промените фърмуера на платката до необходимия от страна на компютъра, вие се нуждаете от безплатния софтуер Quartus II и софтуера "RC5 VHDL", разработен в рамките на този софтуерно-хардуерен комплекс. След като отворите "RC5 VHDL" в Quartus II с помощта на стандартни компютърни инструменти, трябва да извършите следните действия:
- Отидете в менюто "Инструменти";
- Изберете елемента от менюто "Програмист";
- В появилия се диалогов прозорец щракнете върху бутона „Настройка на хардуер“;
- В появилия се диалогов прозорец изберете „USB Blaster“;
- Натиснете бутона "Затвори";
- Натиснете бутона "Старт".
За да използвате продукта, е необходимо да свържете USB-COM адаптера съответно към компютъра и платката. На платката използвайте слота за сериен порт RS-232 (вижте Фигура 2). На компютър - всеки от наличните USB портове. Взаимодействието на платката с компютъра се осъществява чрез сериен порт. Програмата отваря и конфигурира COM порта. Той също така осигурява изпращане и получаване на съобщения чрез COM порта.

Изпълнение на програмата
Програмата криптира блокове от данни от 8 байта с пет байтов ключ, използвайки 12-рундова модификация на алгоритъма RC5. Криптирането се извършва от софтуер. За да криптира данни чрез софтуер, операторът трябва да натисне бутона "Шифроване (програма)" (виж фиг. 3). Освен това всички действия ще се извършват автоматично. Първо трябва да попълните полетата за въвеждане на текст "Ключ" и "Изчистен текст" със съответните стойности в шестнадесетичен код (2 знака на байт). Правилата за попълване на тези полета са изброени в подсказки. За пример на подсказка вижте фиг. 4. В случай на грешно въвеждане, на екрана ще се покаже съответното съобщение за грешка.