Что пост-макетное моделирование занимает много времени? - PullRequest
1 голос
/ 04 декабря 2011

Мне интересно, почему имитация пост-макета для цифровых проектов занимает много времени?

Почему программное обеспечение не может просто определить время чипа и смоделировать поведение с помощью программы, которая создает задержки со сном ()или что-то?Я предполагаю, что sleep () недостаточно точен для моделирования оборудования, но я не уверен.

Итак, что же на самом деле делает это так долго?

Спасибо!

1 Ответ

4 голосов
/ 05 декабря 2011
  1. Моделирование пост-макета (фактически - что-нибудь после синтеза) будет симулировать гейты, а не RTL, и есть много вентилей.

  2. Я думаю, что выВы немного запутались в понимании того, как работает симулятор.Я говорю это потому, что вызов типа sleep() связан с ожиданием времени, измеряемого часами на стене, а не счетчиком времени симулятора.Время симулятора увеличивается, однако быстро симулятор работает.

Симулятор - это цикл, который оценивает состояние системы.Каждая итерация цикла представляет собой «временной интервал», например, каково состояние системы в момент времени 100 нс.Он переходит только от одного временного интервала к следующему, когда все сигналы в нем достигли устойчивого состояния.

В RTL или имитации без привязки затвора большая часть оценки сигналов происходит в «нулевое время», то есть эффект оценки назначения происходит в одном и том же временном интервале.Единственным исключением, как правило, являются часы, которые определены для изменения в определенное время, и это вызывает срабатывание регистров, что заставляет их менять свой выход, что приводит к переоценке процессов, модулей, назначений, которые имеют входы из регистров,что приводит к изменению других сигналов, что приводит к переоценке других процессов и т. д. и т. д. и т. п., пока все не уладится, и мы не сможем перейти к следующему фронту синхронизации.

В сообщенииПри моделировании макета с задним временем аннотирования каждый элемент системы имеет время от входа до выхода, связанное с ним.Это означает, что больше ничего не происходит в «нулевое время».Теперь симулятор поместил эффект каждого назначения в список, сказав, что «сигнал b изменится на 1 во время 102,35 нс».Каждые ворота имеют разные сроки.Каждый вход на каждом вентиле будет иметь различную синхронизацию с выходом.Это означает, что моделирование с обратной аннотацией должно оценивать множество временных интервалов, так как сигналы меняют состояние в разное время.Не только когда часы меняются.Вероятно, в каждом срезе мало что происходит, но их много.

... и я только говорил о добавлении синхронизации по времени.Добавьте время проволоки, и все станет еще сложнее.

В принципе, есть гораздо больше поводов для беспокойства, поэтому симы становятся медленнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...