Existe um "Design Patterns" para RTL sintetizável?

11

Para o software, o livro Design Patterns é um conjunto de padrões para fazer coisas comuns em software e fornece aos profissionais de software uma terminologia comum para descrever alguns dos componentes que eles precisam criar.

Existe um livro ou recurso desse tipo para RTL sintetizável ou RTL em geral? Coisas como armadilhas comuns, trade-offs de design, considerações de impasse e design de interface.

Ross Rogers
fonte

Respostas:

3

Minha experiência foi que você precisa ler os documentos de uma ou mais das ferramentas de síntese populares para ver quais padrões de design eles aceitam e para o que eles traduzem.

Principalmente, você precisa saber: - como fazer flops - como fazer fios (e não trincos) - como lidar com reset (sincronização e / ou assíncrona)

Taniwha
fonte
Estou falando de coisas como "projetar uma fila com recursos virtuais", "esquemas de crédito e armadilhas comuns" ou "quando quebrar abstrações em camadas". As melhores práticas e métodos de design de componentes. Coisas que os veteranos do design de chips já sabem. Não vejo muitas orientações práticas de design no IEEE. Existe um "Código Completo" de um RTL por aí?
Ross Rogers
Os sintetizadores RTL são "menos rigorosos" que os compiladores C. Há alguma margem para a implementação da síntese. É por isso que é uma boa ideia ler o documento para a sinterização que você planeja usar. Por exemplo, o synther do Xilinx é o XST, e eles têm um Guia do Usuário do XST que descreve quais padrões de design criam FSMs adequados, como evitar a criação acidental de travas, coisas assim.
11289 ajs410