ТИПИЧНЫЕ НЕДОСТАТКИ РАБОТ студентов

МОДЕЛИ МИКРОСХЕМ ПАМЯТИ – большинство взятых из библиотек моделей микросхем - подарок потомкам от предыдущих студентов и хотя в большинстве они работоспособны, но требуется их тщательная верификация.

Это чисто функциональные модели и они несинтезабельны.

- как разрабатывать модели микросхем памяти?

Лучше строить модель так .чтобы при нарушениях временных соотношений шла печать сообщений и на выходе был Х- двойная индикация ошибок !!!.

А) алфавит std_logic-1064, имена сигналов- заглавные буквы, инверсных сигналов- суффикс n- например cs_n.

замена в именах кириллицы латиницей ( RU6A и тд.

Операторы HDL следует набирать на отдельной строчке.

Комментарий нужен не только в заголовке- автор, файл , модель и тип микросхемы и тп.,

но и через каждые 4-5 операторов

Б) Временные параметры микросхем, размеры массива памяти и слова следует вынести в параметры настройки

В) Функцию преобразования типа данных- лучше взять из пакета(std_logic_unsigned- CONV_INTEGER) , а не самим делать .

Г) Контроль временных параметров сигналов в модели обязателен- нужны сообщения о нарушениях и на выход микросхем желательно Х при нарушениях.

Способ организации контроля- использовать операторы контроля(assert), атрибуты cигналов и вспомогательные переменные,либо пакет VITAL_TIMING

Д) Вы в проекте ЗУ возможно использовали только один из возможных режимов работы микросхемы памяти- например основной цикл по импульсному CS, но возможны и другие- например адресным входом при установленном ранее CS.Но Ваша модель микросхемы должна отражать ВСЕ ВОЗМОЖНЫЕ РЕЖИМЫ!!! и ТЕСТ микросхемы тоже должен их проверять!

Надо хорошо представлять внутреннюю организацию микросхемы . Если элемент памяти асинхронный- реализован на D-триггерах-защелках и чтение по фронту, запись по срезу CS-одно, но если синхронный- защелкивает входные сигналы(адрес например) во внутренних регистрах микросхемы-то – другое.

.Е)Чтобы не очень путаться в больших временных диаграммах полезно

вставить в модель микросхемы отладочную печать- включив в модель параметр debug

ТИПИЧНЫЕ ОШИБКИ в моделях

а) НЕУЧЕТ ВСЕХ ВОЗМОЖНЫХ СИТУАЦИЙ со значениями сигналов !!!!

Алфавит std_logic_1164- 9 значный а не 4-значный !!!!!

ПРИМЕРЫ-

запись mem(i)<=Di при Di=’Z’;приведет к сохранению в ячейке памяти высокоимпедансного значения. В жизни это невозможно!

Выражение CS’event and CS=’0’ лучше заменить на rising_edge(CS) т.к. первое даст true и при переходе CS из ‘X’ в ‘0’.

ВЫХОД- либо как пытаться делать свои собственные функции проверок, либо

использовать to_x01 и др. функции преобразования типа std_logic в 3-значный тип Х01 и тогда число проверок у ВАС в модели резко уменьшится

Б) НЕПОНИМАНИЕ ОТЛИЧИЙ СИНХРОННЫХ МИКРОСХЕМ памяти типа РУ6 а, которые защелкивают адрес по срезу CS от АСИНХРОННЫХ типа РУ 17, которые пишут пo фронту CS .

Асинхронные микросхемы описывать гораздо сложнее т.к у них обычно есть два режима записи( по CS и по WR),а еще если есть вход CEO .

В) Не все ВХОДЫ МИКРОСХЕМЫ памяти в в ее модели ЗАДЕЙСТВОВАНЫ, а надо делать такие модели, которые учитывают все, что есть в справочниках!!

Г) НЕ ВСЕ РЕЖИМЫ МИКРОСХЕМЫ памяти ОТРАЖЕНЫ в ее модели.

Д) ТЕСТЫ микросхемы- лучше всего сделать самопроверяющимися – записал- считал проверил на совпадение и далее.

Е) Все комбинации входных сигналов должны быть описаны в одном файле теста, а не как у многих- - проверил одно, переправил файл- проверил другое и т.д..

ЛАБОРАТОРНАЯ РАБОТА №3

Верификация VHDL модели устройства управления ЗУ

Цель работы состоит в изучении HDL- моделей УУ ЗУ, методов их тестирования на примере УУ из проекта ЗУ выполненного на 3 курсе.

Приобретаемые навыки ─ умение реализовать простейшие модели УУ на HDL.

Домашняя подготовка

Ознакомиться с описанием данной лабораторной работы.

Изучить соответствующие разделы конспекта лекций, вспомнить свой КП ЗУ . Подготовить модель УУ. Подготовить программу тестирования .

Дома можно выполнить моделирование и отладить модель. Это непростая задача. Дело в том, что модели УУ ЗУ, выполненные в 6 семестре с помощью системы МИКРОКАП неточны. Например, МИКРОКАП предполагает начальное состояние всех сигналов равное 0, а модели на HDL более точные- начальное состояние неопределенное. Кроме того модель УУ на 3-м курсе отлаживалась автономно, а в данном случае возможно подключение к ней всех блоков ЗУ- регистров, памяти и т.п., тестирование которых было выполнено в предыдущих лабораторных работах. Как минимум в данной работе предполагается автономное тестирование модели УУ и сравнение результатов с моделированием ,выполненным на 3 курсе.

В лаборатории при коллоквиуме показать результаты домашней

подготовки. Ответить на контрольные вопросы

При защите работы - показать краткий отчет и продемонстрировать результаты работы УУ на примере нескольких записей и чтения из различных ячеек памяти.!

.

Лабораторное задание

Перед началом работы проводится коллоквиум.

По итогам работы составляется отчет, который включают домашнюю подготовку, VHDL-описание проекта и тестирующей программы, протокол работы с САПР, временные диаграммы ,выводы, включающие найденные ошибки, результаты сравнения ожидаемых результатов с полученными фактическими.

Пример модели УУ ЗУ

ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ ПРОЕКТИРОВАНИЕ МОДУЛЯ ЗУ

Наши рекомендации