Логическое моделирование - Logic simulation

Логическое моделирование это использование программное обеспечение для моделирования предсказывать поведение цифровые схемы и языки описания оборудования.[1][2] Моделирование может выполняться с разной степенью физическая абстракция, например, на уровень транзистора, уровень ворот, уровень регистрации-передачи (RTL), электронная система на уровне (ESL), или поведенческий уровень.

Использование при проверке

Логическое моделирование может использоваться как часть проверка процесс проектирования оборудования.

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

Продолжительность моделирования

Уровень усилий, необходимых для отладки и последующей проверки проекта, пропорционален его зрелости. То есть на ранних этапах жизни проекта ошибки и неправильное поведение обычно обнаруживаются быстро. По мере совершенствования конструкции для моделирования потребуется больше времени и ресурсов, а поиск ошибок будет занимать все больше времени. Это особенно проблематично при моделировании компонентов для современных систем; каждому компоненту, который меняет состояние за один такт при моделировании, потребуется несколько тактов для моделирования.

Прямой подход к этой проблеме может заключаться в эмуляции схемы на программируемая вентильная матрица вместо. Формальная проверка также можно использовать как альтернативу моделированию, хотя формальное доказательство не всегда возможно или удобно.

Перспективным способом ускорения логического моделирования является использование распределен и параллельно вычисления.[3]

Чтобы помочь оценить тщательность моделирования, существуют инструменты для оценки покрытие кода, функциональное покрытие и инструменты логического покрытия.

Моделирование событий и моделирование цикла

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

Хотя имитация событий может предоставить некоторую обратную связь относительно синхронизации сигналов, она не заменяет статический временной анализ.

В моделировании цикла невозможно указать задержки. Используется модель с точностью до цикла, и каждый вентиль оценивается в каждом цикле. Таким образом, имитация цикла выполняется с постоянной скоростью независимо от активности в модели. Оптимизированные реализации могут использовать преимущества низкой активности модели для ускорения моделирования за счет пропуска оценки вентилей, входные данные которых не изменились. По сравнению с симуляцией событий, имитация цикла обычно быстрее, лучше масштабируется и лучше подходит для аппаратного ускорения / эмуляции.

Однако тенденции проектирования микросхем указывают на то, что моделирование событий приобретает относительную производительность из-за снижения коэффициента активности в схеме (благодаря таким методам, как стробирование часов и силовой строб, которые все чаще используются для уменьшения рассеиваемой мощности). В этих случаях, поскольку моделирование событий моделирует только необходимые события, производительность больше не может быть недостатком по сравнению с моделированием цикла. Симуляция событий также имеет преимущество большей гибкости, позволяя обрабатывать конструктивные особенности, с которыми трудно справиться с симуляцией цикла, такие как асинхронная логика и несоизмеримые часы. Из-за этих соображений почти все коммерческие логические симуляторы имеют возможность на основе событий, даже если они в основном полагаются на методы, основанные на циклах.[4]

Смотрите также

Рекомендации

  1. ^ Лаунг-Тернг Ван; Яо-Вэнь Чанг; Кван-Тинг (Тим) Ченг (11 марта 2009 г.). Автоматизация электронного проектирования: синтез, проверка и тестирование. Морган Кауфманн. ISBN  978-0-08-092200-3.
  2. ^ В. Литовски; Марк Зволинский (31 декабря 1996 г.). Моделирование и оптимизация схем СБИС. Springer Science & Business Media. ISBN  978-0-412-63860-2.
  3. ^ Программный комплекс для распределенных событийный логическое моделирование. Ладыженский Ю.В., Попов Ю.В. Труды IEEE East-West Design & Test Workshop (EWDTW'05). IEEE EWDTW, 2005, стр.119-122 ISBN  966-659-113-8
  4. ^ Справочник по автоматизации проектирования электроники для интегральных схем, Лаваньо, Мартин и Шеффер, ISBN  0-8493-3096-3, обзор области EDA. Приведенное выше резюме было взято с разрешения Джона Сангинетти из главы 16 тома I «Цифровое моделирование».