Projeto RTL: Caminhos de dados e pipelines
Especifique os contratos numéricos e de ciclos e, em seguida, projete uma ALU, um controlador, um pipeline e buffers com ready-valid. Quatro laboratórios executáveis de modelos de referência verificam os limites aritméticos, as pausas, as FIFOs e a ordenação antes de um projeto final de computação em fluxo.
O que você vai aprender
- Distinguir os contratos de largura, sinal, carry e overflow
- Planejar transferências entre registradores, controle por FSM e memória síncrona
- Calcular latência, taxa de processamento e intervalo de iniciação
- Tratar pausas em ready-valid e os limites de FIFOs sem perda de dados
- Criar verificações com scoreboard que cubram riscos e reset
- Verificar um projeto final de computação em fluxo com modelos independentes
Antes de começar
Os exercícios no navegador usam modelos educacionais; não compilam nem executam HDL. Para executar o código separadamente, siga o guia do Digital Design Studio para seu sistema operacional e entre na conta quando a operação exigir.
Instalação e primeiro uso ↗ · Downloads ↗Programa
- Contratos numéricos e aritméticos
- Transforme uma equação em um contrato de caminho de dadosConceito
Especifique larguras, eventos de aceitação e resultados válidos junto com a aritmética.
- Larguras, extensão de sinal e overflowConceito
Use exemplos numéricos para distinguir interpretação, extensão e redução da largura.
- Laboratório: modelo de referência de uma ALU de oito bitsPrática
Verifique ADD, SUB, AND, XOR, carry e borrow em um executável independente.
- Verificação: carry versus overflow com sinalVerificação
Distinga os limites numéricos nas interpretações sem sinal e com sinal.
- Transferências entre registradores e controle
- Leia as transferências entre registradores nas bordas de clockConceito
Separe o estado anterior do próximo estado e acompanhe como as habilitações preservam os valores armazenados.
- Planeje o uso de recursos compartilhados com uma FSMConceito
Acumule quatro valores com um único somador, definindo as transições de estado e a captura.
- Contratos de temporização para solicitações e respostas de memóriaConceito
Distinga leituras síncronas, etiquetas atrasadas e colisões no mesmo endereço.
- Verificação: preservar um resultado concluídoVerificação
Separe a entrega no estado DONE da aceitação da próxima solicitação.
- Temporização e taxa de processamento de pipelines
- Armazene a transação completa nas fronteiras do pipelineConceito
Divida a aritmética de soma e escala mantendo valid, etiqueta e larguras alinhados.
- Latência, taxa de processamento e intervalo de iniciaçãoConceito
Calcule o atraso de uma transação separadamente da taxa sustentada de conclusão.
- Laboratório: acompanhe dois estágios e bolhasPrática
Calcule o próximo estado a partir do estado anterior e compare etiquetas, valores e bordas das saídas.
- Verificação: o que II=1 significaVerificação
Evite confundir a quantidade de estágios com a taxa de processamento sustentada.
- Controle de fluxo com ready-valid
- Eventos de aceitação e estabilidade durante pausasConceito
Atribua responsabilidades à fonte e ao destino e preserve os dados durante pausas.
- Projete um registrador elástico de uma posiçãoConceito
Aceite dados em uma posição vazia ou substitua um item consumido simultaneamente.
- Laboratório: verifique 1024 padrões de pausaPrática
Exercite manutenção, substituição e esvaziamento com todos os padrões de ready de dez ciclos.
- Verificação: contar uma transação em pausaVerificação
Distinga a duração de valid da quantidade real de handshakes.
- FIFO e limites de riscos
- FIFO vazia, cheia e transferências simultâneasConceito
Separe a ocupação dos ponteiros e especifique o comportamento de push/pop nos limites.
- Dependências, riscos de recursos e encaminhamentoConceito
Compare pausas e encaminhamento quando uma operação precisa de um resultado anterior.
- Mantenha a contabilização de transações durante descarte e resetConceito
Separe cancelamento de entrega e alinhe o estado de validade às filas esperadas.
- Verificação: substituição em uma FIFO cheiaVerificação
Calcule a ocupação e a ordenação para push e pop simultâneos.
- Verificação e calculadora em fluxo
- Combine um scoreboard com invariantes locaisConceito
Verifique valores, ordenação, ocupação e estabilidade durante pausas a partir das transações aceitas.
- Laboratório final: FIFO e calculadora em fluxo de dois estágiosPrática
Conecte uma FIFO de entrada de profundidade dois, dois estágios elásticos e um scoreboard.
- Meça o desempenho e revise o projetoConceito
Especifique janelas de observação, diagnostique pausas e delimite as evidências do modelo.
- Verificação final: pausas sem perdas e esvaziamentoVerificação
Combine aritmética, contabilização de pendências e condições de conclusão.