Логическое моделирование
Логическое моделирование — это использование программного обеспечения для моделирования для прогнозирования поведения цифровых схем и языков описания оборудования . [1] [2] Моделирование может выполняться на различной степени физической абстракции , например, на уровне транзистора , уровне вентиля , уровне передачи регистров (RTL), уровне электронной системы (ESL) или поведенческом уровне.
Использование при проверке
[ редактировать ]Логическое моделирование может использоваться как часть процесса проверки при проектировании аппаратного обеспечения. [3]
Преимущество моделирования заключается в том, что оно обеспечивает пользователю знакомый внешний вид, поскольку оно построено на том же языке и символах, которые используются в дизайне. Позволяя пользователю напрямую взаимодействовать с проектом, моделирование является для дизайнера естественным способом получить отзывы о своем проекте.
Продолжительность моделирования
[ редактировать ]Уровень усилий, необходимых для отладки и последующей проверки проекта, пропорционален зрелости проекта. То есть на ранних этапах разработки проекта ошибки и неправильное поведение обычно обнаруживаются быстро. По мере развития проекта для запуска моделирования потребуется больше времени и ресурсов, а поиск ошибок будет занимать все больше времени. Это особенно проблематично при моделировании компонентов современных систем; Каждый компонент, который меняет состояние за один такт моделирования, потребует для моделирования нескольких тактов.
Простой подход к этой проблеме может состоять в том, чтобы вместо этого эмулировать схему на программируемой пользователем вентильной матрице . Формальную проверку также можно рассматривать как альтернативу моделированию, хотя формальное доказательство не всегда возможно или удобно.
Перспективным способом ускорения логического моделирования является использование распределенных и параллельных вычислений. [4]
Чтобы помочь оценить тщательность моделирования, существуют инструменты для оценки покрытия кода . [5] функциональное покрытие, покрытие конечного автомата (FSM) и многие другие показатели. [6]
Моделирование событий и моделирование цикла
[ редактировать ]Моделирование событий позволяет проекту содержать простую информацию о времени – о задержке, необходимой для прохождения сигнала из одного места в другое. В ходе моделирования изменения сигнала отслеживаются в виде событий. Изменение в определенное время вызывает событие после определенной задержки. События сортируются по времени, когда они произойдут, и когда все события за определенное время обработаны, смоделированное время переносится на время следующего запланированного события. Скорость моделирования событий зависит от количества событий, подлежащих обработке (объема активности в модели). [7]
Хотя моделирование событий может обеспечить некоторую обратную связь относительно синхронизации сигнала, оно не является заменой статического временного анализа .
При моделировании цикла невозможно указать задержки. Используется модель с точностью до цикла, и каждый элемент оценивается в каждом цикле. Таким образом, моделирование цикла выполняется с постоянной скоростью, независимо от активности в модели. Оптимизированные реализации могут использовать преимущества низкой активности модели для ускорения моделирования за счет пропуска оценки элементов, входные данные которых не изменились. По сравнению с моделированием событий, моделирование цикла имеет тенденцию быть быстрее, лучше масштабироваться и лучше подходить для аппаратного ускорения/эмуляции.
Однако тенденции в проектировании микросхем указывают на то, что при моделировании событий достигается относительная производительность за счет снижения коэффициента активности в схеме (благодаря таким методам, как стробирование тактового сигнала и стробирование мощности , которые все чаще используются в целях уменьшения рассеиваемой мощности). В этих случаях, поскольку моделирование событий моделирует только необходимые события, производительность больше не может быть недостатком по сравнению с моделированием цикла. Преимущество моделирования событий также заключается в большей гибкости и возможности обработки конструктивных особенностей, с которыми трудно справиться при моделировании циклов, таких как асинхронная логика и несоизмеримые часы. По этим соображениям почти все коммерческие логические симуляторы имеют возможности, основанные на событиях, даже если они в основном полагаются на методы, основанные на циклах. [8]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Лаунг-Тенг Ван; Яо-Вэнь Чанг; Кван-Тин (Тим) Ченг (11 марта 2009 г.). Автоматизация электронного проектирования: синтез, проверка и тестирование . Морган Кауфманн. ISBN 978-0-08-092200-3 .
- ^ В. Литовский; Марк Зволински (31 декабря 1996 г.). Моделирование и оптимизация схем СБИС . Springer Science & Business Media. ISBN 978-0-412-63860-2 .
- ^ Бомбьери, Никола; Фумми, Франко; Праваделли, Грациано (май 2006 г.). Проектирование аппаратного обеспечения и моделирование для проверки . Конспекты лекций по информатике. стр. 1–29.
- ^ Программная система для распределенного событийно- логического моделирования. Ладыженский Ю.В., Попов Ю.В. Труды семинара IEEE East-West Design & Test Workshop (EWDTW'05). IEEE EWDTW, 2005, стр. 119–122. ISBN 966-659-113-8
- ^ Ван, Цу-Хуа и Тан, Чонг Гуан (1995). Практическое покрытие кода для Verilog . 1995 Международная конференция IEEE по Verilog HDL. IEEE. стр. 99–104.
{{cite conference}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Джоу, Цзин-Ян и Лю, Чиен-Нан Джимми (1999). Методы анализа покрытия для проверки конструкции HDL . Языки проектирования чипов Азиатско-Тихоокеанского региона. стр. 48–55.
{{cite conference}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ «Среда сетевого моделирования и моделирования» (PDF) . Центр оборонной технической информации . Проверено 1 января 2023 г.
- ^ Справочник по автоматизации электронного проектирования для интегральных схем, Лаваньо, Мартин и Шеффер, ISBN 0-8493-3096-3 , обзор области EDA. Приведенное выше резюме было взято с разрешения Джона Сангинетти из тома I, главы 16 «Цифровое моделирование».