stringtranslate.com

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

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

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

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

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

Продолжительность симуляции

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

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

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

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

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

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

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

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

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

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

Ссылки

  1. ^ Laung-Terng Wang; Yao-Wen Chang; Kwang-Ting (Tim) Cheng (11 марта 2009 г.). Автоматизация проектирования электронных устройств: синтез, проверка и тестирование. Morgan Kaufmann. ISBN 978-0-08-092200-3.
  2. ^ В. Литовски; Марк Зволински (31 декабря 1996 г.). Моделирование и оптимизация схем VLSI. 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. Международная конференция IEEE 1995 года по Verilog HDL. IEEE. С. 99–104.{{cite conference}}: CS1 maint: несколько имен: список авторов ( ссылка )
  6. ^ Джоу, Цзин-Ян и Лю, Чиен-Нан Джимми (1999). Методы анализа покрытия для проверки дизайна HDL. Asia Pacific CHip Design Languages. С. 48–55.{{cite conference}}: CS1 maint: несколько имен: список авторов ( ссылка )
  7. ^ "Network Modeling and Simulation Environment" (PDF) . Defense Technical Information Center . Получено 1 января 2023 г. .
  8. ^ Electronic Design Automation For Integrated Circuits Handbook, Лаваньо, Мартин и Шеффер, ISBN 0-8493-3096-3 , обзор области EDA. Вышеприведенное резюме было получено с разрешения из Тома I, Главы 16, Цифровое моделирование, Джона Сангвинетти.