stringtranslate.com

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

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

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

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

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

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

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

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

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

Чтобы оценить тщательность моделирования, существуют инструменты для оценки покрытия кода , [5] функционального покрытия, покрытия конечного автомата (FSM) и многих других показателей. [6]

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

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

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

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

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

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

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

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