Перейти к содержанию
    

О синхронных схемах

У меня вопросы

1) Чем же плоха система "четные по фронту, нечетные по спаду", кроме того, что мне надо держать в голове какой по какому фронту работает? Я вижу очевидный плюс, в том что я знаю точно, что когда переключается, исключается "гонка сигналов", так всегда есть время на распространение равное в пол-такта. Так же получается, что система работает на удвоенной частоте, тогда как физическая частота прежняя -> меньше потребляемая мощность, нет?

 

Для 3 флопов ничем особо не плоха. Для больших дизайнов это будут отдельные Clock Segments + дополнительные constraints for Synthesis Tool and Static Timing Analysis.

Это твое изобретение со всеми ЗА и ПРОТИВ можно найти в спеках на DDR. :rolleyes:

 

Общий совет такой - будь проще!

Дополнительно за и против double edge clocking можешь почитать в "OpenCores Coding GuideLines" and Hubert Kaeslin : Digital Integrated Circuit Design From VLSI Architectures to CMOS Fabrication-Cambridge Press

 

2) Если работать по одному фронту, то получается, что я вынужден полностью отказаться от предсинтезной симуляции, так как ее результаты не соответствуют реальности. Но это сразу значительно усложняет процедуру симуляции, после каждого изменения кода запускать синтез. Да или нет?

Ничего не получается. "Предсинтезная" стало быть RTL Simulation. На этой стадии у тебя все IP уже должны работать в соответсвии со спеком + быть cycle accurate с точностью до задержек на paths. Тоесть, например, если у тебя сопроцессор, выполняющий умножение за 3 такта, ты эти такты должнен видеть на своей RTL Simulation и т.д :1111493779:

 

Точый временной анализ нужно делать ТОЛЬКО в STA and Clock Domain Cross Check Tools (если есть несколько клововых доменов)

 

3) Я что то делаю не так? Можно ли при функциональном моделировании задать некую каждому триггеры условную "задержку", чтобы результаты досинтезного моделирования соответствовали постсинтезному?

В общем случае задержки не синтезируются - их Synthesis Tool просто игнорит. Зарежки беруться из реальных измерений, которые в ASIC/FPGA либах прописываются на FABе :laughing:

 

masics, ого, помогло! Спасибо! Пойду читать про операторы присваивания :-)

 

Рекомендую для начала разузнать как работает Event Driven Simulator :laughing:

Погугли Delta Cycle, Event Scheduling, Preponed-Oberved-Reactive Regions, Time Slice. Картинка inside поможет с этим

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

..... Кроме того, некоторым разработчикам нравиться зырить вейвформы близкие к железу.

 

Для того чтобы "зырить вейвформы близкие к железу" когда Вы есчё на уровне RTL в Сadence NC-Sim есть режим, при котором симулятор показывает дельтазадержки как небольшой сдвиг на времянке.

Про другие симуляторы не скажу.....

Поэтому и подавна никакие задержки # в RTL включать не надо - надо правильный симулятор иметь :).

 

P.S

Этот режим так-же помогает выловить комбинаторные the loop'и напр....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

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

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...