Подготовка временных диаграмм.
⇐ ПредыдущаяСтр 13 из 13
При подготовке временных диаграмм для моделирования магистральных устройств, следует учитывать, что двунаправленные выводы БИС присутствуют на временной диаграмме дважды: как входы и как выходы. Поэтому на временной диаграмме, представленной на рис 5.1.3. группа отображена и как группа входов DB[2..1] так и как группа выходов DB[2..1]. Данные, поступающие на входную шину, помещаются на входную шину и при моделировании автоматически отображаются на выходной шине DB[2..1]. Данные, снимаемые с двунаправленной шины, отображаются на выходной шине, при этом входная шина должна быть в состоянии отключено «Z». На временной диаграмме состояние «Z» отображается жирной линией, расположенной посредине между уровнем логического «0» и уровнем логической «1». Отметим, что если в процессе вывода данных из БИС на двунаправленную шину не перевести соответствующий ей входной сигнал в состояние «Z» возникнет конфликт сигналов между входным драйвером и выходным усилителем БИС, что приведёт при моделировании работы схемы к появлению сигналов неопределённости «X», которые отображаются на временной диаграмме в виде сетки.
Пример сумматора с магистральным вводом-выводом данных.
Рассмотрим схему сумматора с магистральным вводом-выводом данных представленную на рис 5.2.1.
M
DON
Рис 5.2.1 Структурная схема сумматора с магистральным вводом-выводом данных.
Представленная схема сумматора имеет следующие входные и выходные сигналы: M[8..1] – восьмиразрядная двунаправленная магистраль; CLC – вход тактового сигнала; DON – выход сигнала окончания формирования суммы;
Работа схемы осуществляется в три такта: · на первом такте происходит считывание с магистрали M первого слагаемого и запись в регистр A; · на втором такте происходит считывание с магистрали M второго слагаемого и запись в регистр B; · на третьем такте происходит вычисление суммы и выдача результата на магистраль M.
Работой схемы управляет арбитр, обеспечивающий корректную работу с магистралью.
Рассмотрим поведенческое описание работы восьмиразрядного сумматора с магистральным вводом-выводом данных.
SUBDESIGN MSUM ( CLK: INPUT; M[7..0]: BIDIR; DONE: OUTPUT; ) VARIABLE RA[7..0]: DFF; RB[7..0]: DFF; TT[7..0]: TRI; CN[1..0]: DFF; BEGIN CN[].CLK=!CLK; RA[].D=M[]; RB[].D=M[]; CASE CN[].Q IS WHEN 2 => CN[].D=0; WHEN OTHERS => CN[].D=CN[].Q+1; END CASE; RA[].CLK=CN0.Q & CLK; RB[].CLK=CN1.Q & CLK; TT[].OE=!CN0.Q &!CN1.Q; TT[].IN=RA[].Q+RB[].Q; M[7..0]=TT[].OUT; DONE=!CN0.Q &!CN1.Q; END;
В данном описании сумматора введены следующие переменные
RA[7..0] – регистр хранения слагаемого A; RB[7..0] – регистр хранения слагаемого B; TT[7..0] – восемь двунаправленных элементов ввода-вывода типа TRI; CN[1..0] – регистр управляющего счётчика CN.
Управляющий счётчик считает от «0» до «2». Организуется работа счётчика в соответствующем операторе CASE, обеспечивающем переход счёта из состояния «2» в состояние «0». При состоянии счётчика равном «1», происходит запись данных из магистрали M[] в регистр RA, а при состоянии равном «2», соответственно в регистр RB. Управление этими процессами задаётся операторами: RA[].CLK=CN0.Q & CLK; RB[].CLK=CN1.Q & CLK; RA[].D=M[]; RB[].D=M[]; При состоянии управляющего счётчика CN равном «0», происходит вычисление суммы и выдача результата на магистраль M[], что, в свою очередь, определяется операторами:
TT[].IN=RA[].Q+RB[].Q; TT[].OE=!CN0.Q &!CN1.Q; M[7..0]=TT[].OUT;
При состоянии управляющего счётчика CN равном «0», происходит также формирование сигнала завершения работы DONE с помощью оператора DONE=!CN0.Q &!CN1.Q;
Рассмотрим пример временной диаграммы работы восьмиразрядного сумматора с магистральным вводом-выводом данных. Данная диаграмма представлена на рис 5.2.2.
Рис 5.2.2. Пример временной диаграммы работы восьмиразрядного сумматора с магистральным вводом-выводом данных. Магистраль M на диаграмме представлена и как вход и как выход.
На примере, представленном на рис 5.2.2. производятся три цикла работы сумматора, на которых выполняются следующие примеры:
50+85=135 39+1=40 127+117=244.
Как и положено, операция сложения выполняется три такта. На каждом третьем такте входная шина M переводится в состояние «Z». На этом же такте на выходную шину M выдает результат суммирования
При внимательном изучении временной диаграммы можно заметить переходные процессы при переключении входных сигналов магистрали в состояние Z и обратно. Это происходит из-за ненулевого времени переключения элемента TRI из активного состояния в состояние Z и обратного переключения. В течении короткого времени этих переключений на магистраль находится либо в состоянии «Z» (элемент TRI ещё не включился и на магистрале нет активного сигнала), либо состоянии «Х» (элемент TRI ещё не успел выключился и на магистрале находятся два активных источника сигнала). Более подробно эти переходные процессы показаны на рис 5.2.3.
Рис 5.2.3. Более подробно эти переходные процессы переключения состояний магистрали.
Такие переходные процессы являются кратковременными и не влияют на правильную работу аппаратура.
Литература
1. Комолов Д.А., Мяльк Р.А., Зобенко А.А., Филиппов А.С. Системы автоматизированного проектирования фирмы Altera MAX+PLUS II и QUARTUS II. –Москва: ИП РадиоСофт, 2002-352с.: ил. 2. Антонов А.П., ЯЗЫК ОПИСАНИЯ ЦИФРОВЫХ УСТРОЙСТВ AlteraHDL. Москва, РадиоСофт, 2002. – 224с. 3. Стешенко В.Б. ПЛИС фирмы ALTERA: проектирование устройств обработки сигналов. – Москва: ДОДЭКА, 2002 – 128с.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|