23 / 24 · Conceito
Meça o desempenho e revise o projeto
Especifique janelas de observação, diagnostique pausas e delimite as evidências do modelo.
As aulas podem ser lidas gratuitamente. Inscreva-se para salvar o progresso.
Verifique novamente os contratos numérico e de temporização
Um cálculo correto é apenas parte da conclusão. Verifique admissão de entradas, preservação durante pausas, esvaziamento final e limites de reset. Informe a janela de observação, entradas aceitas, saídas entregues, pausas de entrada/saída e latências das transações. Entradas apresentadas, mas rejeitadas por um buffer cheio, não devem contar como trabalho concluído.
Suponha que doze resultados sejam transferidos entre imediatamente após a borda 0 e imediatamente após a borda 20, uma janela de vinte intervalos de clock. A taxa observada é de 0.6 transações por ciclo. Em um período de cinco nanossegundos, a janela é de 100 ns e a taxa é de 120 milhões de transações por segundo. Distinga essa taxa observada do máximo estrutural sem pausas de 200 milhões. Produção esparsa e pausas frequentes do destino precisam de soluções diferentes apesar de taxas idênticas.
Use etiquetas para associar entrega à aceitação. Tag7 aceita na borda 4 e entregue na borda 11 tem latência de sete ciclos, ou 35 ns. Ela excede a latência sem pausas de três ciclos do projeto final sem implicar perda. Registre uma faixa ou uma tabela por item, não apenas uma média. Asserções de latência fixa pertencem apenas a caminhos sem pausas.
| Observação | Possível causa | Próxima inspeção |
|---|---|---|
| FIFO frequentemente cheia | Destino ou estágio posterior lento | Output-ready e valids dos estágios |
| Saída frequentemente vazia | Entrada esparsa ou bolhas | Entradas aceitas e movimento dos estágios |
| Caminho de ready longo | Muitas ligações combinacionais de buffers | Temporização da implementação |
| Ordem de etiquetas errada | Desalinhamento de campos acompanhantes | Etiquetas e valids dos estágios |
Buffers mais profundos absorvem rajadas, mas podem aumentar o tempo de espera. Ocupação em regime permanente, taxa de chegada e tempo de permanência se relacionam; não aplique médias de regime permanente indiscriminadamente a janelas curtas de início, esvaziamento ou cancelamento.
Revise larguras, uso de sinal, redução de largura, movimento de valid, substituição, cancelamento por reset, temporização da memória e política de dependências. O sucesso em Node estabelece a execução do modelo inteiro, não a compilação HDL nem a temporização após posicionamento. Para extensões como saturação, códigos de operação ou respostas de memória, mude o contrato e as verificações de referência juntos. Uma extensão de caminho de dados deve preservar armazenamento, aceitação e interpretação, além de adicionar um operador.
Experimente
Trinta resultados são transferidos durante cinquenta intervalos de clock em um período de quatro nanossegundos. Encontre a taxa observada por ciclo e por segundo. Encontre também a latência de tag3 aceita na borda 8 e entregue na borda 15.
Ler a explicação
A taxa é de 0.6 transações/ciclo. A janela de 200 ns dá 150 milhões de transações/segundo. A latência de tag3 é de sete ciclos, ou 28 ns. Informe essas observações separadamente do desempenho máximo sem pausas.