Все Лекции
.pdf
Язык VHDL
30
Программируемые логические интегральные схемы
•Основной программный элемент данных VHDL-проектов, предназначенный для переноса информации между компонентами – сигнал.
•Значения сигналов изменяются при выполнении операторов установки значений сигналов.
•В операторе установки значения сигналов можно указать временную задержку, по истечении которой следует присвоить сигналу результат вычисления соответствующего выражения.
SUM <= (A xor B) after 5 ns;
31
Программируемые логические интегральные схемы
•Еще одно отличие от переменной – сигнал может представлять не одно значение, а несколько значений на временной диаграмме, используя семейство событий.
signal wave |
: std_logic; |
|
wave <=’0’, |
’1’after 5 ns, ’0’after 10 ns,’1’; |
32 |
Переменные vs сигналы
Пример 1. Процесс, использующий переменные
architecture VAR of EXAMPLE is signal TRIGGER, RESULT: integer := 0; begin
process
variable variable1: integer :=1; variable variable2: integer :=2; variable variable3: integer :=3; begin
wait on TRIGGER; variable1 :=variable2;
variable2 := variable1 + variable3; variable3 := variable2;
RESULT <= variable1 + variable2 + variable3; end process;
end VAR;
Пример 2. Процесс, использующий сигналы
architecture SIGN of EXAMPLE is signal TRIGGER, RESULT: integer : = 0; signal signal1: integer :=1;
signal signal2: integer :=2; signal signal3: integer :=3; begin
process begin
wait on TRIGGER; signal1 <= signal2;
signal2 <= signal1 + signal3; signal3 <= signal2;
RESULT <= signall + signal2 + signal3; end process;
end SIGN;
Недостатки автоматного программирования
•Недостаток автоматного подхода в программировании – повышение сложности программ.
•Выбор чересчур простых элементарных операций приводит к разрастанию и усложнению автомата, логика становится менее понятной и перегруженной деталями, которые эффективнее было бы реализовать в объекте управления.
•Задача борьбы со сложностью автоматов по-разному решается в процедурной и объектно-ориентированной разновидностях парадигмы.
34
Недостатки автоматного программирования
35
Заключение
•Переход к автоматному программированию состоит в повышении уровня абстракции операций с памятью, причем этот уровень при автоматном подходе не фиксирован, а зависит от решаемой задачи.
•Более того, низкоуровневый автоматизированный объект может быть инкапсулирован в объекте управления, существующем на более высоком уровне абстракции.
•Благодаря такому вложению автоматизированных объектов автоматное программирование поддерживает концепцию выделения уровней абстракции, распространенную в современной методологии разработки ПО.
36
СПАСИБО ЗА ВНИМАНИЕ!
37
