Работа с САПР DesignLab 8 (рисование и моделирование простых схем), страница 2

Рис.4. Схема четырёхразрядного мультиплексора с использованием генераторов типа FileStim

Описание входных сигналов:

* Заголовок, в котором перечисляются имена программируемых сигналов

E; одиночный сигнал

S; одиночный сигнал

HEX(A3,A2,A1,A0)                ; шинный сигнал

HEX(B3,B2,B1,B0)                ; шинный сигнал

  * Пустая строка, отделяющая заголовок от описания временных диаграмм

0ns       1 0 5 1

47ns     0 0 5 1

125ns   0 1 5 1

200ns   0 1 5 1

250ns   0 0 5 1

318ns   0 0 3 7

375ns   0 1 3 7

500ns   0 0 3 7

567ns   0 0 4 0

625ns   0 1 4 0

750ns   0 0 4 0

Главное требование – временные диаграммы на входах для генераторов FileStim должны получиться такими же, какими они были для стимулов DigStim.

Данные, использованные в описании входных сигналов, были подобраны в соответствии с требованием, изложенным выше (чтобы временные диаграммы на входах генераторов FileStim были такими же, как в предыдущем эксперименте (п.2.1)).

а)

б)

Рис.5. Временные диаграммы работы четырёхразрядного мультиплексора:

а) с использованием генераторов типа DigStim; б) с использованием генераторов типа FileStim.

Проверьте возможность масштабирования оси времени с помощью ключевого слова TIMESCALE=. Сохраните результаты этих экспериментов, чтобы показать их преподавателю.

Пусть TIMESCALE = 0.5

Тогда временные диаграммы «сожмутся» по оси времени в 2 раза.

2.3.  Исследуйте третий способ описания диаграмм на входах с помощью генераторов STIM1…STIM16. Научитесь описывать события в абсолютных и в относительных единицах времени (в тактах - cycle).

Рис.6. Схема четырёхразрядного мультиплексора с использованием генераторов типа STIM1, STIM4

Для начала входные сигналы были заданы так же, как и в предыдущих пунктах (в абсолютных единицах времени):

Первые 2 блока команд задают сигналы E и S соответственно.

Команды, задающие значения шинного сигнала A

Команды, задающие значения шинного сигнала B

Рис.7. Временные диаграммы работы четырёхразрядного мультиплексора с использованием генераторов типа STIM1, STIM4

Теперь зададим сигнал S в относительных единицах:

TIMESTEP – длительность такта, в данном случае она равна 125ns

События (переключения) сигнала происходят на границах тактов 1c, 2c, 3c, ...(буква «c» от слова cycle означает, что время измеряется не в секундах, а в тактах).

Научитесь описывать периодические сигналы с помощью циклических процедур repeat forever и repeat <n> times.

Зададим шинные сигналы с помощью циклов инкрементирования и декрементирования:

Первым блоком задан «бесконечный» цикл декрементирования, с начальным значением F и шагом 3.

Вообще, оператор бесконечного цикла “repeat forever”, но здесь -1 означает то же самое. Хотя цикл, конечно же, не бесконечен, он заканчивается вместе с процессом моделирования.

Второй блок задаёт цикл инкрементирования, который повторится 2 раза, начиная с 1 и увеличивая это значение на 2. Затем шинный сигнал примет значение 0.

Рис.8. Временные диаграммы работы четырёхразрядного мультиплексора с заданием шинных сигналов с помощью циклов инкрементирования и декрементирования

Исследуйте здесь же генераторы периодических сигналов типа DigClock.

Заменим генератор STIM1 для сигнала S генератором DigClock и зададим его параметры:

DELAY =         ; начальная задержка (у нас её нет)

ONTIME = 125ns        ; длительность импульса

OFFTIME = 125ns       ; длительность паузы

STARTVAL = 0          ; стартовое значение

OPPVAL = 1    ; противоположное значение

Выводы: При выполнении лабораторной работы были освоены навыки построения схем и задания внешних воздействий с помощью САПР DesignLab 8. Оказалось, что библиотеки элементов очень удобны в использовании, также в данном пакете реализована удобная система поиска необходимых пользователю элементов. В ходе работы познакомилась с редактором внешних воздействий StimulusEditor, который сочетает в себе все необходимые инструменты для задания всевозможных сигналов. Наибольшие трудности были при использовании генераторов типа FileStim, т.к. нужно было следить за правильным заданием всех сигналов (особенно шинных). Также необходимо было верно задать атрибуты всем генераторам (не забыть везде указать название файла с описанием сигналов). С генераторами типа DigClock, STIM1 и STIM проблем не возникло, т.к. воздействия с их помощью задаются достаточно просто. Также были изучены возможности постпроцессора Probe, позволяющие сформировать в наиболее удобном виде и проанализировать результат моделирования: например формирование шин из уже имеющихся сигналов, измерение длительности сигналов или задержек.