Рефераты. Микропрограммирование операций ЭВМ

Если пользователь использует нестандартные операции или функции, их интерфейсы описываются в объявлении пакета, а тела содержатся в теле пакета.

Таким образом, при описании цифровых схем на языке VHDL возможно использование пяти различных типов описаний:

1) объявление объекта проекта,

2) объявление архитектурного тела,

3) объявление конфигурации,

4) объявление пакета и

5) объявление тела пакета.

Каждое из описаний является самостоятельной конструкцией языка VHDL, любая конструкция может быть независимо проанализирована анализатором и поэтому получило название “модуль проекта”.

Модули проекта, в свою очередь, можно разбить на две категории:

1) первичные модули и

2) вторичные модули.

К первичным модулям относятся различного типа объявления, к вторичным - отдельно анализируемые тела первичных модулей.

Один или несколько модулей проекта могут быть помещены в один файл, называемый файлом проекта.

Каждый проанализированный модуль проекта помещается в библиотеку проекта и становится библиотечным модулем.

Данная реализация позволяет создать любое число библиотек проекта. Каждая библиотека проекта в языке VHDL имеет логическое имя (идентификатор). Фактическое имя файла, содержащего эту библиотеку, может совпадать или не совпадать с логическим именем библиотеки проекта.

Для ассоциирования логического имени библиотеки с соответствующим ей фактическим именем предусмотрен специальный механизм установки внешних ссылок.

Объекты данных являются хранилищами для значений определённого типа. Следует заметить, что все типы в языке VHDL конструируются из элементов, представляющих собой скалярные типы.

Значения всех объектов в создаваемой модели, взятые все вместе, отражают текущее состояние моделирования. Описание на языке VHDL содержит объявления, которые создают объекты данных четырёх классов: константы, переменные, сигналы и файлы.

Константы и переменные содержат одно значение данного типа. Значения переменных могут быть изменены назначением нового значения в предложении назначения переменной.

Значение константы устанавливается до начала моделирования и не может после этого изменяться.

Сигнал имеет текущее значение подобно переменной. Он также имеет прошлую историю значений, на которые разработчик может пожелать сослаться, а также множество будущих значений, которые будут получены от формирователей сигналов.

Новые значения для сигналов создаются предложениями назначения сигналов. Каждый объект в описании должен ассоциироваться с одним и только одним типом. Тип состоит из множества возможных значений и множества операций.

Имеются операции двух видов. Некоторые операции являются предопределёнными, к ним , например, относятся операторы “+”, “-“ для значений типа integer.

Другие операции явно кодируются в языке VHDL; например, может быть написана функция-подпрограмма Max, которая возвращает наибольший из двух целых аргументов.

Тип объекта представляет информацию, которая окончательно определяется в момент записи модели. Эта информация способствует обнаружению несоответствий в тексте без обращения к моделированию. Например, легко обнаружить и отметить попытку назначения булевого значения (true или false) целой переменной.

Новое значение, которое должно быть создано предложением назначения, определяется выражением в правой части. Выражения используются также и в других контекстах: например, как условие в предложении if. В состав выражения могут входить константы, переменные, сигналы, операторы и указатели функций.

Когда имя объекта используется в выражении, при расчёте значения выражения учитывается его текущее значение.

Примером описания цифрового автомата является преобразователь параллельного кода в последовательный.

Преобразователь кода представляет собой устройство, на вход которого подается n-битное число в параллельном коде “d”, сигнал загрузки “load” и синхроимпульсы “clk”. По сигналу загрузки происходит запись входного слова во внутренний регистр и последовательная выдача в течении n тактов этого входного слова в последовательном коде на выходе “о” синхроимпульсами “oclk”.

После окончания преобразования на выходе “e” появляется высокий уровень сигнала в течение одного такта.

Известно большое число отечественных и зарубежных языков описания цифровой аппаратуры: МОДИС. МОДИС-В78, Автокод-М, МРL, ОСС-2, Форос, Алгоритм, СDL, DDL, VЕRILОG, ISPS, CONLAN, HILО, АВЕL, AHDL, РП8 и др.

В настоящее время только два языка удовлетворяют требованиям для цифрового логического проектирования: VHDL и VerilogНDL.

Язык VHDL отлично подходит для различных целей - для документации, синтеза и моделирования устройств и систем. Он отличается более мощной общеалгоритмической базой, более развитыми средствами отображений временных соотношений и используемых алфавитов моделирования, большим диапазоном охватываемых систем и уровней их описаний, а главное – стандартностью (т. е признаваемостью мировым сообществом).

Если посмотреть на язык VHDL глазами программиста, то можно сказать, что он состоит как бы из двух компонент - общеалгоритмической и проблемно-ориентированной (рис.6).

     ЯзыкVHDL
 
 


Общеалгоритмическая

компонента

 
Проблемно-

ориентированная компонента

 
 





 














Рис.6. Две компоненты языка VHDL


Общеалгоритмическая компонента языка VHDL - это язык, близкий по синтаксису и семантике к современным языкам программирования типа Паскаль, Си, МОДУЛА-2, АДА.

Язык VHDL относится к классу строго типизированных, что означает, например, переменной типа целый (integег) нельзя присвоить значение вещественной (геа1) переменной:

variable Х integег; Y variable геа1;

Х : = Y; - ошибочная запись.

Помимо встроенных (пакет STANDARD) простых (скалярных) типов данных: целый (integег), вещественный (геа1), булевский (bоо1еаn), битовый (bit), данных физического типа - время (time), данных типа ссылка (указатель), пользователь может вводить и использовать свои типы данных (перечислимые, физические, целые и плавающие).

Например:

type temp is range 0 to 42;— объявлен диапазонный целый тип temp;

type let is (‘i’, ‘j’, ‘k’); - перечислимый тип lеt; принимающий три значения;

variable Z, Х: temр; variable Y: let:

Х : = 10; — присваивание верно;

Х: = 1000; — неверно, выход из допустимого для Х диапазона;

Y : = 'i'; - - верно;

Y:='0'; — неверно.


Помимо скалярных типов данных можно объявлять и использовать агрегаты - составные типы данных: массивы (аггау), в том числе битовые векторы (bit vector) и символьные строки (string), а также записи (гесогd) и файлы (file).

Например:

tуре МЕМОRY is аггау (0 to 1000) оf bit; - массив из 1001 бита;

variable М: МЕМОRY;

М(i.):=М(j+1); - присваивание в элемент массива.

В языке VHDL имеются три класса объектов: константы, переменные и сигналы.


1.4.2.1. Константы


Константа - это объект, значение которого неизменно.

Примеры описаний констант:

соnstant Рi: геаl: = 3.14; - вещественная константа Pi;

соnstant D1: let: = 'k';

соnstant ALL1: bit vector (0 to 2): = '111'.


1.4.2.2. Переменные


Значения переменных могут изменяться. При описании переменных можно указать их начальное значение:

variable Х: integer:=0;

variable Y: геаl;

variable Z: let;

X:= 10; -oператор присваивания переменной Х значения 10.

1.4.2.3. Сигналы


Сигналы - это объекты, которые имеют временные параметры и могут изменяться:

signа1 ВВ1: integer;

signа1 СС1:1et; - оператор назначения сигналу с задержкой

ВВ1 <= 10 аftег 20 ns; - СС1 <= 'i’ аfteг 5 ns;.


1.4.2.4. Операторы


Последовательно выполняемые (последовательные) операторы языка VHDL могут использоваться в описаниях процессов, процедур и функций.

Их состав включает:

оператор ожидания wait;

оператор присваивания переменной (: =);

последовательный оператор утверждения (аssert);

условный оператор (if);

оператор выбора (саsе);

оператор цикла (1оор):

пустой оператор (null);

оператор возврата из процедуры-функции (геturn);

оператор выхода (ехit);

оператор перехода (nехt).

Язык поддерживает концепции модульного и структурного программирования.

Сложные операторы заключены в операторные скобки: if-end if; ргоcеss - end ргосеss; саsе - еnd саsе, 1оор - еnd 1оор и т. д. Поэтому отпадает необходимость в специальных операторных скобках для отображения составных операторов и, например, запись

if Х>Y thеn А : = В, С : == D; еnd if;

означает совместное выполнение двух присваивании при истинности условия Х>Y.


1.4.2.5. Пакеты


Пакеты, как и в обычных алгоритмических языках - это средство выделения из ряда программ и подпрограмм общих типов данных, переменных, процедур и функций, позволяющее упростить, в частности, процесс их замены. В языке VHDL у пакета разделяются описание интерфейса пакета (рас-kаgе) и описание тела пакета (расkаgе bоdy).

По умолчанию предусмотрено подключение стандартного пакета

SТАNDАRD. Этот пакет, в частности, содержит, как уже отмечалось, описание стандартных типов данных – integer, геа1, bоо1еаn, bit и др.

Пакет ТЕХТIO содержит стандартные операторы ввода-вывода. Нестандартные пакеты реализуются пользователями, желающими более точно отобразить свойства описываемых ими объектов. Например, можно в пользовательском пакете переопределить стандартные логические операции И (аnd), ИЛИ (ог) и НЕ (nоt) и перейти от булевского (0,1) к многозначному (1, О, X, ,Z) алфавиту моделирования.

Пример пользовательского пакета:

расkаgе РА is - интерфейс пакета РА.;

tуре Т1 is ('М','N'); - объявлен тип T1; - функция F;

еnd;

расkаgе bоdу РА is- тело пакета;

function F (Х:= Т1) return Т1 is;

bеgin

if Х= 'М' then геturn 'N’; - функция F;

еlse геturn 'М'; - заменяет 'M' на 'N';

еnd;  

еnd;

ЗАКЛЮЧЕНИЕ


В данном реферате приведены краткие сведения по основам языка микропрограммирования (Ф-языку), средства которого необходимы при микропрограммировании и алгоритмизации операций над дискретными объектами.

Изложены основные сведения об языке описания цифровой аппаратуры VHDL для будущего использования.

Содержатся сведения по средствам описания (задания) цифровых автоматов (ГСА, МСА, СФП), используемых при проектировании.

Необходимо заметить, что к ранее разработанным алгоритмам операций над дискретными объектами прибавляются алгоритмы новых операции, а предыдущие постоянно совершенствуются.










ЛИТЕРАТУРА

1. Триханов А.В. Основы прикладной теории алгоритмов. Учебное пособие. -Томск: Ротапринт ТПИ, 1991.- 96 c.

2. Майоров С.А., Новиков Г.И. Принципы организации цифровых вычислительных машин. –М.: Высшая школа, 1975. – 311 с.

3. Триханов А.В. Теория автоматов. Учебное пособие. - Томск: Изд. ТПУ, 1999. - 104 с.

4. Триханов А.В. Дискретная математика. Учебное пособие.–Томск: Изд. ТПУ, 1999. - 136 с.

5. Александрович М.В., Григоркин П.Г., Ознобихин И.В., Пеженков А.В., Поляков А.К., Сохацкий А.А. Учебно-методический комплекс ’Моделирование цифровых систем на языке VHDL’. Книга 1. Методические рекомендации для преподавателя. - М.: Типография МЭИ, 1995.- 73 с.

6. Александрович М.В., Григоркин П.Г., Дронова А.Ю., Ознобихин И.В., Пеженков А.В., Поляков А.К., Сазонова Н.Б., Сохацкий А.А. Учебно-методический комплекс ’Моделирование цифровых систем на языке VHDL’. Книга 3. Методические рекомендации для обучаемого. - М.: Типография МЭИ, 1995.- 155 с.

7. Поляков А.К. Моделирование ЭВМ на языке VHDL. Учебное пособие. Книга 2. Учебно-методический комплекс ’Моделирование цифровых систем на языке VHDL.’ - М.: Типография МЭИ, 1995.- 128 с.

8. Савельев А.Я. Прикладная теория цифровых автоматов. - М.: Высшая школа, 1987. - 272 с.

9. Чередов А.Д. Проектирование дискретных устройств. Учебное пособие. –Томск: Изд. ТПУ, 1994. - 96 с.




Страницы: 1, 2, 3, 4, 5, 6, 7



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.