ЯЗЫКИ ОПИСАНИЯ ДИСКРЕТНЫХ УСТРОЙСТВ 1. HDL-программа как модель проектируемого устройства 2 Языковое описание устройства - это текст, сохраняемый в одном.

Презентация:



Advertisements
Похожие презентации
ОСНОВЫ ЯЗЫКА VHDL 1. Структурное представление проекта 2 Язык VHDL предоставляет возможность структуризации описания так называемые структурные архитектурные.
Advertisements

ОСНОВЫ ЯЗЫКА VHDL 1. Описание цифровых автоматов 2 Общие сведения об автоматах Устройства, содержащие элементы памяти (ЭП), имеют некоторое внутреннее.
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
Глава 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ Оператор присваивания Простой и составной операторы Условный оператор Оператор множественного выбора Оператор цикла с предусловием.
ЛЕКЦИЯ Экскурс в язык описания аппаратуры VHDL.
ВЫПОЛНЕНИЕ АЛГОРИТМОВ КОМПЬЮТЕРОМ. Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой. Программа данные, предназначенные.
1 Диаграммы реализации (implementation diagrams).
Язык Verilog, основные особенности. Сравнение с языком VHDL. Модель логического элемента на Verilog. ЛЕКЦИЯ N
ЛЕКЦИЯ Язык описания аппаратуры VHDL.
Визначення і властивості автомата. Автомати Мілі та Мура.
ОСНОВЫ ЯЗЫКА VHDL 1. Описание типовых дискретных устройств 2 Комбинационные логические схемы Представление функции в форме бинарного дерева решений основано.
1 Тема 1.7. Алгоритмизация и программирование Информатика.
АЛГОРИТМ (формальное определение) Всякий алгоритм может быть реализован соответствующей машиной Тьюринга Это основная гипотеза теории алгоритмов.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Лекция 4 Программирование на Паскале. Элементы языка Турбо Паскаль 7.0. Типы данных. Управляющие конструкции.
Алгоритм. Алгоритм это точно определённая инструкция, последовательно применяя которую к исходным данным, можно получить решение задачи. Для каждого алгоритма.
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ СТАВРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ.
Что такое программирование? Совокупность процессов, связанных с разработкой программ и их реализацией. В широком смысле к указанным процессам относят все.
Алгоритмизация и требования к алгоритму Алгоритм и алгоритмизация Алгоритм и алгоритмизация.
Основы алгоритмизации Алгоритмы. Типы алгоритмов. Алгоритмы. Типы алгоритмов. Блок-схемы. Вопросы и задания. Вопросы и задания.
Транксрипт:

ЯЗЫКИ ОПИСАНИЯ ДИСКРЕТНЫХ УСТРОЙСТВ 1

HDL-программа как модель проектируемого устройства 2 Языковое описание устройства - это текст, сохраняемый в одном или нескольких файлах, которые в совокупности составляют представление разработчика о проекте и используются на всех последующих этапах проектирования, в том числе при синтезе устройства и его моделировании. HDL (Hardware Description Language ) – язык описания аппаратуры. VHDL (Very high speed integrated circuits) Hardware Description Language). HDL-программа может рассматриваться как знаковая модель дискретного устройства – это способ представления реального или проектируемого объекта, который отражает лишь их существенные свойства с использованием принятых формальных обозначений. Типы данных В языках основными являются данные сигнального типа, которые по свойствам близки к обычным логическим данным. Сигналы обладают временными характеристиками. Сигналы HDL-проекта отображают проводники и линии соединений реальных схем цифровых устройств. Сигналы в логических схемах передаются и обрабатываются параллельно, а потоки сигналов проходят через логические блоки одновременно. Сигналы в схеме идут от своих источников, каждый источник имеет свой драйвер. Драйвер – это понятие языка HDL, которое связано с моделированием. Драйвер можно представить как некоторую область памяти для хранения значения сигнала. Значение сигнала в такой области памяти изменяет только система моделирования в процессе моделирования HDL-описания.

HDL-программа как модель проектируемого устройства 3 Структура и поведение Модель, отражающая объект проектирования в форме правил преобразования входных данных в выходные, называется поведенческой. Рис. 1 Поведенческое (а) и структурное (б) представление проекта Y = F(A, В) Назовем модуль F - PROJECT ENTITY (дословный перевод сущность проекта), входы и выходы назовем портами (PORT). Программные модули на языке VHDL, описывающие проекты в поведенческой форме, именуют поведенческими архитектурными телами. Структурная модель описывает проект в виде совокупности модулей, каждый из которых реализует определенную часть задачи, и набора связей между ними. F(A, В) = I(G(A, В), Н(А, В)) Функциональное преобразование данных внутри модуля реализуется в специальном подразделе проекта, который называется архитектурным телом.

HDL-программа как модель проектируемого устройства 4 Рис. 2 Иерархическое поведение проекта ENTITY PROJECT – первичный модуль, описывающий интерфейс проекта; ВB (Behavioral Body) - вторичный модуль, описывающий поведение проекта; SB (Structural Body) – структурное архитектурное тело. На любом этапе декомпозиции (в том числе на заключительном и на всех промежуточных этапах) конечными вершинами являются только поведенческие тела, а промежуточные вершины представлены структурными телами.

HDL-программа как модель проектируемого устройства 5 Структурную модель (SB) тестирующей установки (Test-Bench), компонентами которой, в общем случае, являются: проектируемый модуль, генератор тестирующего воздействия (Stimulator) и анализатор результатов. Рис. 3 Структура модулей для тестирования проекта

HDL-программа как модель проектируемого устройства 6 Стили описания проекта Последовательный стиль описания соответствует традиционным подходам к составлению компьютерных программ. Расположение и порядок исполнения операторов в тексте описания соответствует порядку прохождений данных через информационный граф. Параллельный стиль предполагает асинхронное и, по возможности, одновременное исполнение операторов в реализуемом устройстве. Обычно блок, реализующий некоторый оператор, непосредственно реагирует на признак исполнения действия любым из его предшественников. Потоковый стиль отличается от предыдущего тем, что оператор исполняется после готовности всех предшественников данного оператора. Автоматный стиль, в отличие от предыдущих, опирается не на модель передачи данных, а на модель переключения состояний. Стиль основан на определении некоторого множества состояний проектируемого устройства и правил перехода из одного состояния в другое в зависимости от входных сигналов. Каждому состоянию или переходу соответствует определенный набор действий. Рис. 4 Информационный граф алгоритма: каскадная форма (а) и конвейерная форма (б)

Принципы интерпретации поведения дискретных устройств средствами моделирования 7 Моделирование и реальное время При сквозном моделировании время делится на кванты, длительность которых выбирается как наибольший общий делитель времен задержек компонентов. Недостатки: 1) нерациональные затраты машинного времени, вызванные потребностью достаточно мелкой дискретизации времени и необходимостью воспроизведения на каждом шаге поведения всех компонентов; 2) нерациональный расход памяти, а это, в сущности, тоже потеря производительности. Практически все развитые системы моделирования реализуют событийный подход, или, как говорят, дискретную событийную модель. На каждом шаге моделирования переопределяются состояния только тех компонентов, на входе которых в данный момент происходят изменения. Изменения логических переменных, как входных, так и промежуточных, называют событиями. Любое событие может вызвать цепочку других событий. Моделирование системы производится не для равномерно отстоящих моментов реального времени, а лишь для моментов, для которых ранее были предсказаны события.

Принципы интерпретации поведения дискретных устройств средствами моделирования 8 Алфавит моделирования Важной характеристикой метода моделирования цифровых устройств является количество различимых состояний сигнала. Каждому состоянию сопоставляется индивидуальный символ, совокупность символов составляет алфавит моделирования. Простейший алфавит - двоичный, содержащий набор {0, '1}. Функционирование элементов описывается по правилам алгебры логики. Распространен алфавит из четырех символов {'0, 'X', 1,Z}. Здесь 'X' означает неопределенное состояние. Символ Z представляет высокоимпедансное состояние порта или отключенную линию. Девятиэлементный алфавит, в котором приняты следующие символы для представления состояний связей: U - не инициализировано; Z - отключено; 'X' - активное неопределенное состояние; 0 - активный ноль; 1 - активная единица; L - слабый ноль; 'Н - слабая единица; 'w' - слабое неопределенное состояние; '- - не важно (разработчик может запрограммировать переход в это состояние, если реализация алгоритма не зависит от результата; выбор конкретного значения предоставляется компилятору с целью оптимизации реализации устройства).

Принципы интерпретации поведения дискретных устройств средствами моделирования 9 Алфавит моделирования Рис. 5 Иллюстрация состояния сигналов

Лексические элементы языка 10 Известно, что программы составляются из лексических элементов, к которым относят имена (идентификаторы), ключевые (зарезервированные) слова, специальные символы, числа, текстовые символы и строки символов. При записи программ необходимо строго придерживаться синтаксических стандартов языков. В противном случае компилятор не сможет интерпретировать предложения и будет выдавать сообщение об ошибке. Синтаксические конструкции определяются с помощью формализованных правил их записи - формул Бэкуса Науэра (BNF). Такие формулы представляют некоторые трафареты, в которые разработчик подставляет правильно оформленные конструкции. Сразу за определяемой конструкцией ста­вится знак : :=, который трактуется как "записывается в форме. Метасимвол | определяет альтернативные возможности записи конструкции. Пара метасимволов « » кавычки-"елочки" ограничивают конструкцию, которую можно повторить сколько угодно раз, в том числе ни одного раза. Пара метасимволов [ ] квадратные скобки будет служить для отображения необязательного элемента синтаксической конструкции VHDL. Например: ::= « I » ::= ) ] ::= « »

ОСНОВЫ ЯЗЫКА VHDL 11

Язык VHDL как программная система 12

Структура проекта 13 Проект в системе проектирования на основе VHDL представлен совокупностью иерархически связанных текстовых фрагментов, называемых проектными модулями. Различают первичные и вторичные проектные модули, при этом :: = I I

Структура проекта 14 Типовой текст программы на языке VHDL имеет следующую структуру: :: = « « » » « » ::= LIBRARY ::= USE.. | USE..ALL

Структура проекта 15 :: = ENTITY IS [ ] [BEGIN ] END [ENTITY] ; :: = GENERIC ( : [ : = ] «; : [ := ] » ); : : = PORT ( : [:= ] «; : [:= = ]») ; ::= IN | OUT | INOUT Архитектурные тела представляют содержательное описание проекта. Архитектурное тело в некотором смысле подчинено соответствующему ENTITY. Различают структурные архитектурные тела (описывающие проект в виде совокупности компонентов и их соединений), поведенческие архитектурные тела (описывающие проект как совокупность исполняемых действий) и смешанные тела. : : = ARCHITECTURE OF IS BEGIN END [ARCHITECTURE ] ;

Структура проекта 16 LIBRARY ieee; USE ieee.std_logic_1164.ALL; -- пакет, содержащий определение -- преобразований данных в многозначном алфавите USE ieee.std_logic_arith.ALL; --пакеты, содержащие функции преобразования USE ieee.std_logic_unsigned.ALL; -- форматов из битового вектора -- в эквивалентное число и наоборот ENTITY bit_count IS PORT( input : IN std_logic_vector (15 DOWNTO 0); -- битовый вектор -- в многозначном представлении output: OUT integer RANGE 0 TO 15); целое в объявленном диапазоне END bit_count; ARCHITECTURE pure_behave OF bit_count IS -- декларация встроенной подпрограммы FUNCTION bits_in_word( x:std_logic_vector (15 DOWNTO 0)) RETURN integer IS VARIABLE i,z : integer RANGE 0 TO 15; BEGIN z:=0; FOR i IN 0 TO 15 LOOP -- цикл просмотра всех разрядов IF x(i)=1' THEN если разряд установлен в единицу z:=z+1; -- прибавить к результату END IF; END LOOP; RETURN z; END bits_in_word;, -- конец декларации подпрограммы BEGIN output

Структура проекта 17 ARCHITECTURE four_channel_behave OF bit_count IS SIGNAL vl,v2,v3,v4: std_logic_vector (3 DOWNTO 0); FUNCTION ones_in_word (n: integer; x:std_logic_vector (3 DOWNTO 0)) RETURN integer IS VARIABLE i,z : integer; BEGIN z:=0; FOR i IN 0 TO n LOOP IF x(i)=1' THEN z:=z+1; END IF; END LOOP; RETURN z; END ones_in_word; BEGIN v1

Структура проекта 18 ARCHITECTURE comb_logic OF bit_count IS FUNCTION ones_in_the,trade( x:std logic vector (3 DOWNTO 0)) RETURN integer IS VARIABLE z:integer RANGE 0 TO 4; TYPE LUT IS ARRAY (0 TO 15) OF integer; CONSTANT result: LUT:= (0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4); -- таблица истинности для функции -- "число единиц в четырехразрядном коде" BEGIN z:=conv_integer(х); -- преобразование код номер в таблице RETURN result(z); -- выборка значения из таблицы END ones_in_thetrade; SIGNAL number1, number2, number3, number4: integer RANGE 0 TO 4; BEGIN number1

СПАСИБО ЗА ВНИМАНИЕ