Разработка цифрового узла, создание его структурных и поведенческих моделей (на языках SPICE, DSL, VHDL, в пакетах DesignLab 8, OrCAD 9.1, Active-HDL 6.2), страница 13

Рис. 31. Задержка распространения сигнала при переключении входа I8 c низкого уровня на высокий и активных  менее приоритетных входах.

Временные диаграммы показывают идентичность временных задержек для элемента со схемой замещения и для элемента с VHDL-моделью.


10.  Выводы и личные впечатления.

Вот и закончено выполнение курсовой работы, подводящей итог изучению дисциплины «Моделирование» в шестом и седьмом семестрах. Целью данной работы являлась разработка цифрового узла – шифратора ИВ3, создание его структурной и поведенческой моделей (на языках SPICE, DSL, VHDL, в пакетах DesignLab 8, OrCAD 9.1, Active-HDL 6.2). Также нужно было провести имитационные эксперименты с разработанным узлом для подтверждения работоспособности узла и проверки на соответствие его временных задержек требуемым. Поставленная задача была успешно выполнена. И на это потребовалось около двух недель, хотя на самом деле работу можно было выполнить гораздо быстрее. Но обо всём по порядку.

Итак, первая САПР, в которой нужно было разработать шифратор – это хорошо знакомый по прошлому семестру пакет DesignLab 8 фирмы MicroSim. Как нужно работать в этом пакете «вспомнилось» после прошедшего лета достаточно легко, однако даже на то, чтобы разобраться, как работает уже готовый зарубежный аналог, ушло немало времени (дело в том, что данный кодер работает по активным низким уровням, что сначала слегка меня запутало: какие сигналы подавать на вход, что должно быть на выходе?). Тем не менее, выполнение работы шло нормальными темпами. Не буду подробно описывать многие «прелести» DesignLab’а – практически все отмечают его простоту, понятность, возможность создавать собственные иерархические символы и реальные компоненты, удобное задание входных воздействий (редактором Stimulus Editor).

Конечно, возникали и небольшие трудности. Например, при создании собственных логических вентилей в библиотеке 74LS не нашлось элементов, выполняющих функции 5И и 4ИЛИ-НЕ. А для вентиля 5ИЛИ-НЕ (74LS260 – К555ЛЕ7) нашлось только графическое описание и упаковочная информация (причем не в библиотеке 74LS, а в TTL), в атрибуте MODEL данного символа красовалось «*NOmodel*». Пришлось модель делать самому. Для тех элементов, для которых так и осталось неизвестным, существуют ли они вообще (как реальные микросхемы), были разработаны иерархические символы, поддерживаемые схемами замещения. Также хочется отметить и то, что после сборки схемы замещения (по литературе [2]), элемент работал неправильно. «Погоняв» 0 и 1 по схеме «вручную» и заподозрив что-то неладное (получался тот же неправильный результат), я решил скачать документацию к элементу 74LS147 с сайта Texas Instruments. Ошибка в схеме замещения в книге [2] была обнаружена сразу.

Гораздо большие трудности возникли, когда пришло время делать задержки. Всё дело в том, что сначала я пытался проставить задержки у вентилей таким образом, чтобы элемент со схемой замещения  работал так же, как и зарубежный аналог. Это оказалось невыполнимым из-за того, что сам зарубежный аналог работает не совсем корректно (об этом уже писалось). Я потратил на этом около трёх дней! Взглянув повнимательнее на документацию, я нашёл ошибку и «подстроил» работу компонента под табличные значения.

К недостаткам данного пакета я бы отнёс невозможность скопировать схему и вставить её, например, в MS Word напрямую (а не через графические редакторы). Также функция печати страницы непосредственно из редактора Schematics очень неудобна: нет предварительного просмотра, при печати возникают проблемы с масштабированием.