Altifigence Academy

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.

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çãoPossível causaPróxima inspeção
FIFO frequentemente cheiaDestino ou estágio posterior lentoOutput-ready e valids dos estágios
Saída frequentemente vaziaEntrada esparsa ou bolhasEntradas aceitas e movimento dos estágios
Caminho de ready longoMuitas ligações combinacionais de buffersTemporização da implementação
Ordem de etiquetas erradaDesalinhamento de campos acompanhantesEtiquetas 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.

Sua escolha vale neste navegador. Altere-a a qualquer momento no rodapé.