Логическое моделирование - Logic simulation
Логическое моделирование - это использование программного обеспечения для моделирования для прогнозирования поведения цифровых схем и языков описания оборудования . Моделирование можно проводить при различной степени физической абстракции , например, на уровне транзистора , уровень ворота , регистр-передача уровне (RTL), электронная система уровень (ESL), или поведенческого уровень.
Использование при проверке
Логическое моделирование может использоваться как часть процесса проверки при разработке оборудования.
Преимущество моделирования заключается в том, что он обеспечивает пользователю знакомый внешний вид, поскольку он построен на том же языке и символах, которые используются в дизайне. Позволяя пользователю напрямую взаимодействовать с проектом, моделирование является естественным способом для дизайнера получить обратную связь по своему проекту.
Продолжительность моделирования
Уровень усилий, необходимых для отладки и последующей проверки проекта, пропорционален его зрелости. То есть на ранних этапах жизни дизайна ошибки и неправильное поведение обычно обнаруживаются быстро. По мере совершенствования конструкции для моделирования потребуется больше времени и ресурсов, а поиск ошибок будет занимать все больше времени. Это особенно проблематично при моделировании компонентов для современных систем; каждому компоненту, который меняет состояние за один такт при моделировании, потребуется несколько тактов для моделирования.
Простой подход к этой проблеме может заключаться в эмуляции схемы на программируемой пользователем вентильной матрице . Формальную верификацию также можно использовать как альтернативу моделированию, хотя формальное доказательство не всегда возможно или удобно.
Перспективным способом ускорения логического моделирования является использование распределенных и параллельных вычислений.
Чтобы помочь оценить тщательность моделирования, существуют инструменты для оценки покрытия кода , функционального покрытия и инструменты покрытия логики.
Симуляция событий и симуляция цикла
Моделирование событий позволяет конструкции содержать простую информацию о времени - задержку, необходимую для передачи сигнала из одного места в другое. Во время моделирования изменения сигнала отслеживаются в виде событий. Изменение в определенное время вызывает событие после определенной задержки. События сортируются по времени, когда они произойдут, и когда все события за определенное время были обработаны, смоделированное время продвигается до времени следующего запланированного события. Скорость моделирования событий зависит от количества событий, которые должны быть обработаны (количества активности в модели).
Хотя имитация событий может предоставить некоторую обратную связь относительно синхронизации сигналов, она не заменяет статический анализ времени .
В моделировании цикла невозможно указать задержки. Используется модель с точностью до цикла, и каждый вентиль оценивается в каждом цикле. Таким образом, имитация цикла выполняется с постоянной скоростью независимо от активности в модели. Оптимизированные реализации могут использовать преимущества низкой активности модели для ускорения моделирования за счет пропуска оценки вентилей, входные данные которых не изменились. По сравнению с симуляцией событий, имитация цикла обычно быстрее, лучше масштабируется и лучше подходит для аппаратного ускорения / эмуляции.
Тем не менее, чип тенденции дизайна указывают на моделировании событий получения относительной производительности за счет снижения коэффициента активности в цепи (из - за таких методов, как часы стробирования и мощности стробирования , которые становятся все более широко используются в попытке уменьшить рассеяние мощности). В этих случаях, поскольку моделирование событий моделирует только необходимые события, производительность больше не может быть недостатком по сравнению с моделированием цикла. Имитация событий также имеет преимущество большей гибкости, позволяя обрабатывать конструктивные особенности, с которыми трудно справиться с симуляцией цикла, такие как асинхронная логика и несоизмеримые часы. Из-за этих соображений почти все коммерческие логические симуляторы имеют возможности, основанные на событиях, даже если они в основном полагаются на методы на основе циклов.