
- •Вопрос 1. Предмет та.
- •Вопрос 2. Классификация автоматов
- •Вопрос 3. Приложения та
- •Вопрос 4. Двоичное умножение
- •Вопрос 5. Умножение в инверсных кодах
- •Вопрос 6. Деление
- •Вопрос 7. Деление в инверсных кодах. Особенности.
- •Вопрос 8. Особенности выполнения операций в формате с плавающей запятой.
- •Вопрос 9
- •Вопрос 10. Модель дискретного преобразователя Глушкова
- •Вопрос 11. Микропрограммирование
- •Вопрос 12. Структуры операционных автоматов
- •Вопрос 13. Синтез оа процедурного типа
- •Вопрос 14. Синтез оа структурного типа
- •Вопрос 15. Автоматные языки. Формальное задание Автомата.
- •Вопрос 16. Модели автоматов Мили и Мура
- •Вопрос 17. Эквивалентность ка. Теорема Мура.
- •Вопрос 18. Минимизация конечных автоматов.
- •Вопрос 19. Эквивалентность автомата Мили и Мура.
- •Вопрос 20. Виды уа
- •Вопрос 21. Структурные схемы уа. Мили и Мура.
- •Вопрос 22. Этапы синтеза уажл.
- •Вопрос 23. Примеры синтеза уажл.
- •Вопрос 24. Гонки и способы борьбы с ними
- •Вопрос 25. Уа с программируемой логикой (уапл)
- •Вопрос 26. Алгебраическая и структурная теория ка.
- •Вопрос 26 [part2]
- •Вопрос 27. Объединение нескольких уа в один
- •Вопрос 28. Программная реализация ка. Варианты реализации. Шаблон Состояние.
- •Вопрос 29. Назначение и краткая характеристика vhdl.
- •Вопрос 30. Реализация уа на vhdl.
- •Вопрос 31. Понятие о языке моделирования uml.
- •Вопрос 32. Понятие о языках и формальных грамматиках
- •Вопрос 33. Классификация языков
- •Регулярные языки и Конечные Автоматы
- •Вопрос 34. Лемма о накачке
- •Вопрос 35. Понятие о нка. Получение дка по нка.
- •Вопрос 36. Регулярные выражения. Синтаксические диаграммы. Теорема Клини.
- •Вопрос 37. Применение рв. Различные нотации рв.
- •Вопрос 38. Кс-грамматики и магазинные автоматы.
- •Вопрос 39. Машины Тьюринга
- •Вопрос 40. Использование мт для анализа алгоритмов.
Вопрос 29. Назначение и краткая характеристика vhdl.
Язык описания оборудования. Паралл. язык высокого уровня.
Описание всех устройств состоят из 2-х основных частей:
описание интерфейса (entity) – описываются входы и выходы объекта как черного ящика
описания архитектуры (architecture) – описывается реализация объекта на высоком/низком у
ровне. Сигнал можно сравнить физически с проводом или набором проводников.
Сигналы используются для задания входных/выходных элементов и передачи данных между процессами.
Комментарий к программе выделяется с помощью -- .
Используется обычное соглашение по названию переменных и констант.
Многоразрядные двоичные коды указываются с помощью строк b”0101”.
Описание интерфейса объекта начинается с ключевого слова
entity Id is
port (A: in bit_vector (0 to 3), Y: out bit_vector (0 to 9)); end Id
Пример дешифратора 4x10
С помощью архитектур описывается содержимое объекта. Описание может быть поведенческим (что делает) или структурным, где указывается из чего объект состоит – компоненты и как они соединены. Как правило они дополняют друг друга.
architecture DC of Id is
begin
process (A)
begin
Y=<1111111111>
Case A(0 to 3) is
when “0000”=> Y<=”0111111111”;
when “1000”=> Y<=”1011111111”;
……………………………..
End case; End process;End DC;
Комментарий: A<=B – присвоение сигналов
Переменные присваиваются a:=b
В заголовка процесса в скобках указывается список чувствительности процесса, т.е. те сигналы, изменение которых приводит к запуску процесса.
Рассмотрим описание архитектуры дешифратора, в котором явно задаются логические функции для формирования выводов (ближе к структурному описанию).
architecture DC1 of Id is
begin
Y(0)<= not A(0) and not A(1) and not (A2) and ….
Y(1)<= A(0) and not A(1) and not A(2) and…
…………………………….
End DC1;
Вопрос 30. Реализация уа на vhdl.
Рассмотрим пример описания КА-преобразователя Мили на VHDL
|
A1 |
A2 |
A3 |
A4 |
X1 |
A2/y1 |
A3/y2 |
-/- |
A1/- |
X2 |
A3/- |
A4/y3 |
A4/y1 |
A2/y2 |
ENTITY FSM IS
PORT(clk : IN BIT; x1 : IN BIT; x2 : IN BIT; reset: IN BIT; y1 : OUT BIT; y2 : OUT BIT; y3 : OUT BIT);END FSM;
ARCHITECTURE a OF FSM IS TYPE STATE_TYPE IS (a1, a2, a3, a4); SIGNAL state : STATE_TYPE;
BEGIN PROCESS (clk) BEGIN IF reset = '1' THEN state <= a1; ELSIF (clk'EVENT AND clk = '1') THEN y1 <= '0'; y2 <= '0'; y3 <= '0';
CASE state IS
WHEN a1=> IF x1 = '1' THEN state <= a2; y1 <= '1';
ELSIF x2 = '1' THEN state <= a3;
END IF; WHEN a2=>
IF x1 = '1' THEN state <= a3; y2 <= '1';
... END CASE;
END IF; END PROCESS;END a;
Можно перейти к более структурному описанию, если выделить отдельный процесс для памяти состояний.
architecture arc of FSM_D is
type T_STATE is (a1, a2, a3, a4);
signal NEXT_state, state : T_STATE;
begin
NS : process (state, z) Begin N-state<=a z; end process NS; REG: process (clk, rst) begin
if
(rst=’1’) then statea1;
elsif clk'event and clk=’1’ then state <=
NEXT_state;
end if; end process REG; end a;
А для автомата мура можно выделить отдельный процесс выдачи выходных сигналов при изменении состояния.
Для автоматов Мили и Мура можно постепенно перейти к структурному описанию с помощью функций.
Мура:
entity
FSM is port (clock: Boolean; a: in user_in_type; d: out
user_out_type); end FSM;
architecture moor of FSM is signal c: some_type;
begin
process (c) begin dF2
(c);
end process;
process
(clock) begin cF1
(a, c); end process; end moor;
Мили:
architecture mealy of FSM is
signal c: some_type;
begin
process (a, c)
begin
dF2
(a, c);
end
process; process(clock) begin c
F1
(a, c); end process;
end mealy;