Есть ли «Шаблоны проектирования» для синтезируемых RTL?

11

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

Существует ли такая книга или ресурс для синтезируемых RTL или RTL вообще? Такие вещи, как типичные подводные камни, компромиссы в дизайне, соображения тупика и дизайн интерфейса.

Росс Роджерс
источник

Ответы:

3

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

В основном вам нужно знать: - как делать провалы - как делать провода (а не защелки) - как обрабатывать сброс (синхронизация и / или асинхронность)

Taniwha
источник
Я говорю о таких вещах, как «проектирование очереди с виртуальными ресурсами», «схемы кредитования и распространенные ловушки» или «когда нужно разбивать многоуровневые абстракции». Лучшие практики и методы проектирования компонентов. Вещи, которые ветераны чип-дизайна уже знают. Я не вижу большого практического руководства по проектированию в IEEE. Есть ли RTLer's "Code Complete" там?
Росс Роджерс
RTL-синтезаторы "менее строгие", чем C-компиляторы. Осталась некоторая свобода для реализации синтеза. Вот почему это хорошая идея, чтобы прочитать документ для синтезатора, который вы планируете использовать. Например, синтезатор Xilinx - это XST, и у них есть руководство пользователя XST, в котором описывается, какие шаблоны проектирования создают правильные автоматы, как избежать непреднамеренного создания защелок, и тому подобное.
ajs410