- •1 Технология разработки систем на кристалле. Преимущества языка vhdl.
- •2 Архитектура плис фирмы Xilinx.
- •3 Модели вычислителей vhdl.
- •4 Объекты и типы языка vhdl.
- •5 Интерфейс и архитектура объекта в языке vhdl.
- •6 Использование нескольких архитектурных тел для одного объекта в языке vhdl.
- •7 Выражения языка vhdl.
- •8 Последовательные операторы языка vhdl.
- •9 Операторы цикла в языке vhdl.
- •10 Операторы процесса языка vhdl.
- •11 Процедуры и функции в языке vhdl. Атрибуты.
- •12 Параллельные операторы языка vhdl.
- •14 Повторное использование подсхем в языке vhdl.
- •15 Использование оператора generate в языке vhdl.
- •16 Проектирование комбинационных схем на языке vhdl.
- •17 Проектирование схем с памятью на языке vhdl.
- •18 Требования к проектированию плис и сбис.
- •19 Принципы однотактной и двухтактной синхронизации.
- •20 Состав и назначение библиотеки ieee.
- •2.Пакеты numeric_bit и numeric_std.
- •3. Пакеты math_real, math_complex.
- •1 Исп. Компон. Элемента «и» и оператор конструкции компонента
- •2 Исп комп эл «и» и «и-не»
- •3 Используйте генератор generate
- •4 Каждый логический элемент д б описан как отдельный объект, т. Е. Описание в целом д. Б. Выполнено в структурном стиле
- •5 В поведенческом стиле
- •6 Исп комп эл «или»
- •7 Исп комп эл «или» и «или-не»
- •8 Оператор generate
- •9 Каждый логический элемент д б описан как отдельный объект, т. Е. Описание в целом д б выполнено в структурном стиле
- •10 В поведенческом стиле
14 Повторное использование подсхем в языке vhdl.
Общий вид оператора конкретизации компонента (оператора создания экземпляра компонента):
метка: имя компонента
[generic (список параметров);]
[роrt mар (список портов)];
Этот оператор употребляется для структурной организация проекта. Часть схемы (подсхемы) описывается как компонент (component), имеющий имя (name). Одна и та же подсхема может входить в схему несколько раз, однако, при этом она имеет различные связи. Чтобы описать эти связи, употребляется оператор создания экземпляра компонента (оператор конкретизации компонента), т.е. имеется в виду конкретизация связей данной подсхемы.
Соответствие портов при создании экземпляров компонентов может быть осуществлено:
• позиционным сопоставлением;
• ключевым соответствием, с использованием оператора “=>”
Общий вид оператора generate (генерации):
метка: for параметр генерации generate
if условие generate
параллельные операторы
end generate [метка];
Параметр генерации — константа дискретного типа в определенном диапазоне. Параметром генерации не может быть декларированная переменная или сигнал. Оператор генерации позволяет сокращенно (по существу используя цикл) описывать совокупности повторяющихся операторов, в том числе и операторов конкретизации компонентов, т.е. оператор генерации представляет собой механизм для проектирования (описания) регулярных (систолических) структур.
15 Использование оператора generate в языке vhdl.
Общий вид оператора generate (генерации):
метка: for параметр генерации generate
if условие generate
параллельные операторы
end generate [метка];
Параметр генерации — константа дискретного типа в определенном диапазоне. Параметром генерации не может быть декларированная переменная или сигнал. Оператор генерации позволяет сокращенно (по существу используя цикл) описывать совокупности повторяющихся операторов, в том числе и операторов конкретизации компонентов, т.е. оператор генерации представляет собой механизм для проектирования (описания) регулярных (систолических) структур.
Имеются два способа употребления оператора генерации.
Способ 1 - (способ for), синтаксис такой же, как у последовательного оператора for loop.
Способ 2 - (способ if) употребление подобно по синтаксису последовательному оператору if.
В архитектуре RTL2 способ if употреблен внутри способа for.
Различия параллельного оператора генерации от последовательных операторов for, if.
1).Оператор генерации есть параллельный оператор, а if, for loop есть последовательные операторы.
2). Оператор генерации не имеет фраз else, elsif.
3). Необходима метка для оператора генерации.
4). Только параллельные операторы могут появляться внутри оператора генерации. Только последовательные операторы могут появляться внутри последовательного for loop оператора и последовательного if оператора.
16 Проектирование комбинационных схем на языке vhdl.
Основной программной единицей в VHDL является процесс, при исполнении которого в источниках сигнала генерируется новое значение, являющееся некоторыми функциями от входных сигналов значений. Если при каждом запуске процесса выполняется присваивание всем переменным и сигналам процесса, то такой процесс отображается в комбинационную схему без памяти. Если при каком-либо запуске процесса по запускающему сигналу е, каким-то переменным/сигналам значение е присваивается, что означает, что переменная/сигнал сохраняет предыдущее значение, то переменная/сигнал отображается в тригер, а сигнал е служит сигналом разрешения записи.
Если такое программирование выполняется умышленно, то в результате получают схемы с памятью, синхронные и асинхронные тригеры. В противном случае получаются непреднамеренные защелки.
Опасность непреднамеренность защелок в том, что задержка распространения сигнала в обратной связи м.б. большой и непредсказуемой. Обычно компилятор-синтезатор предупреждает о наличии схем с защелками. Схемы синтезируются в непреднамеренные защелки чаще всего тогда, когда логическая функция, используемая в процессе, охватывает не все возможные комбинации входных сигналов.
Пример:
Process (A,D,E) begin
case A is
when “01” => C <= D+E;
when “10” => C <= D-E;
end case;
end process;
В данном случае, если А имеет тип bit, то не учитываются 2 комбинации битов сигнала. Если сигнал А имеет тип std_logic_vector то не учитываются более 70 возможных комбинаций сигнала. Для того чтобы избегать таких ситуаций рекомендуется :
1) использовать служебное слово others:
Process (A,D,E) begin
case A is
when “01” => C <= D+E;
when “10” => C <= D-E;
when others => C < = D+E;
end case;
end process;
2) использовать предварительное назначение сигнала:
Process (A,D,E) begin
C <= D+E;
if А=“10” then
C <= D-E;
end if;
end process;
Более сложным случаем приводящим к возникновению непредномеренных защелок является неккорректная вставка нескольких компонентов комбинационных схем при которых входы и выходы компонентов соединяются так, что получается замкнутое кольцо.