1 Основы логического моделирования цифровых устройств
1.2 Модели цифровых устройств
 

1.2 Модели цифровых устройств

Способ и форма представления моделей

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

     Все модели цифровых объектов могут классифицироваться по способу представления и по форме представления. Способ представления, как правило, определяет или моделируемый параметр или тип процедуры моделирования.

               

          

Рисунок 1.6

                                   

     Форма представления модели определяет как форму визуального представления модели, так и формат представления модели в структурах данных системы моделирования.

               

          

Рисунок 1.7

                              

     На практике обычно используется синхронизированный вариант RS-трриггера - триггер СRS. Синхронизация в нем, как и во всех однотактовых триггерах, происходит по уровню, а не по фронту. В данном триггере к двум основным входам (R и S) добавлен синхровход С (Clk или Clock pulse). Если он равен "0", выходы не изменяют свое состояние, т.е. триггер не активен; при подаче на синхровход "1" устройство начинает работать как RS триггер.

Пример: CRS - триггер с прямыми входами

Таблица 1.1

Графичeское представление

Схема

Внутренняя структура

Структурный граф

Граф переходов

Табличное изображение

Полная таблица переходов

Сокращенная таблица переходов

Матрица переходов

Карта Карно

Аналитические

Уравнение функционирования триггера, полученное путем минимизации карты Карно

Алгоритмические

ЯОА(VHDL)

architecture JK_tr_arc of JK_tr is

begin

process(clk, reset, set) is

variable q1 :std_logic;

variable p :std_logic_vector(0 to 1);

begin

     p :=set & reset;

case p is

     when "00"=>q1 :='X';

     when "10"=>q1 :='0';

     when "01"=>q1 :='1';

     when "11"=>q1 := Q;

     when others => q1 :='X';

end case;

     Q<=q1; Not_Q<=not q1;

end process;

end JK_tr_arch;

Модели сигналов

     В реальных цифровых схемах циркулируют электрические сигналы, но для анализа цифровых схем используются их логические эквиваленты. Международный стандарт IEEE_1164 определил 9 логических значений сигналов, которые используются при описании цифровых устройств с использованием языков описания аппаратуры (в частности VHDL) и при выполнении логического моделирования в промышленных САПР.

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

     'U' - (Uninitialized) неопределенное значение. Значение, которым инициализируются сигналы и переменные типа std_logic по умолчанию. При нормальной работе проекта, оно обычно не появляется в моменты времени после первого назначения сигнала;

     'X' - (Forcing Unknown) состояние соответствующее неопределенному значению ( 0,4 - 2,4 В );

     '0' - (Forcing 0) состояние соответствующее значению логического нуля ( <0,4 В );

     '1' - (Forcing 1) состояние соответствующее значению логической единицы ( >2,4 В );

     'Z' - (High Impedance) состояние высокого импеданса.

     '-' - (Don't care) безразличное состояние (значение). Используется для задания маски, т.к. при сравнении с любым значением всегда возвращает true.

     В системах компилятивного логического моделировния ( например, Active-HDL фирмы ALDEC ) одним из видов представления результатов моделирования являются т.н. "вектроные диаграммы" (waveform) отображающие изменения интересующих нас сигналов во времени. Обозначения на векторных диаграммах рассмотренных раннее состояний приведены ниже

                         

               

Рисунок 1.8

                              

     Необходимо отметитить, что в простых (учебных) системах моделирования безразличное состояние может объединяться с неопределенным, а "высокий импеданс" в условиях отсутствия "проводной логики" может ассоцииироваться с "логической 1". В результате минимальный алфавит моделирования сигналов в системах логического моделирования имеет вид { 0, 1, X, U }.

     Ниже представлены основные свойства данных состояний:

                         

               

Рисунок 1.9

                    

     Как видно из рисунка, если хотя бы на одном из входов элемента И либо ИЛИ появится состояние 'U', то оно будет перенесено и на выход. Такое поведение элементов И, ИЛИ используется для выявления ошибок в проекте, поскольку, как уже было сказано выше, состояние 'U', в обшем случае, во время моделирования появлятся не должно.

               

     

               

Рисунок 1.10

                    

     Элемент И устроен таким образом, что появление состояния логического нуля на одном из его входов и отсутствие состояния 'U' на остальных приводит к появлению на его выходе состояния логического нуля. В случае подачи на все входы данного элемента состояния логической единицы на выходе появится также состояние логической единицы. Подача на входы элемента любых других состояний, за исключением 'U', приведет к появлению на выходе состояния 'X', что показано ниже.

               

          

Рисунок 1.11

                    

     Элемент ИЛИ работает следующим образом образом: появление состояния логической единицы на одном из его входов и отсутствие состояния 'U' на остальных приводит к появлению на его выходе также состояния логической единицы. В случае подачи на все входы данного элемента состояния логического нуля на выходе появится также состояние логического нуля. Подача на входы элемента любых других состояний, за исключением 'U', приведет к появлению на выходе состояния 'X' (аналогично работе элемента И), что показано ниже.

               

          

Рисунок 1.12

                    

 
© 2009 ХНУРЭ, АПВТ, Шкиль Александр Сергеевич, shkil@opentest.com.ua;ХНУРЭ, Сыревич Евгения Ефимовна, syr_Jane@rambler.ru;ХНУРЭ, Бабич Анна Витальевна, babich@kture.kharkov.ua
Разработано с помощью LERSUS