¿Hay "patrones de diseño" para RTL sintetizable?

Para el software, el libro Design Patterns es un conjunto de patrones para hacer cosas comunes en el software y brinda a los profesionales del software una terminología común para describir algunos de los componentes que necesitan crear.

¿Existe tal libro o recurso para RTL sintetizable o RTL en general? Cosas como trampas comunes, compensaciones de diseño, consideraciones de punto muerto y diseño de interfaz.

Respuestas (3)

Mi experiencia ha sido que necesita leer los documentos en una o más de las herramientas de síntesis populares para ver qué patrones de diseño aceptan y en qué se traducen.

Principalmente, necesita saber: - cómo hacer flops - cómo hacer cables (y no pestillos) - cómo manejar el reinicio (sincrónico y/o asíncrono)

Me refiero a cosas como "diseñar una cola con recursos virtuales", o "esquemas de acreditación y errores comunes", o "cuándo romper las capas de abstracciones". Las mejores prácticas y métodos de diseño de componentes. Cosas que los veteranos del diseño de chips ya conocen. No veo mucha orientación práctica de diseño en IEEE. ¿Hay un "Código completo" de RTLer por ahí?
Los sintetizadores RTL son "menos rigurosos" que los compiladores C. Queda cierta libertad para la implementación de la síntesis. Es por eso que es una buena idea leer el documento del sintetizador que planea usar. Por ejemplo, el sintetizador de Xilinx es XST, y tienen una Guía del usuario de XST que describe qué patrones de diseño crean FSM adecuados, cómo evitar la creación involuntaria de pestillos, cosas así.

Su mejor apuesta es probablemente el Manual de metodología de reutilización para diseños de sistemas en un chip de Michael Keating y Pierre Bricaud.

excelente recomendacion No conocía este libro.

Encontré un método de diseño de VHDL estructurado (pdf) interesante y útil, pero solo cubre un patrón de diseño único.