1 / 24 · Conceito
Transforme uma equação em um contrato de caminho de dados
Especifique larguras, eventos de aceitação e resultados válidos junto com a aritmética.
As aulas podem ser lidas gratuitamente. Inscreva-se para salvar o progresso.
Especifique o que o circuito promete
Um caminho de dados armazena, seleciona e calcula valores. Seu controlador decide quais valores se movem e quando. Essas são responsabilidades distintas de projeto, mas não são tarefas de software que executam de forma independente. Em uma borda de clock, os sinais de controle decidem as atualizações dos registradores; os valores desses registradores tornam-se entradas da lógica combinacional durante o ciclo seguinte. Uma equação sem esse contrato de temporização pode produzir o número certo para a transação errada.
Nossa pequena calculadora aceita operandos a e b de oito bits sem sinal e uma operação de dois bits. A operação 0 soma, a 1 subtrai, a 2 calcula AND e a 3 calcula XOR. A aritmética retorna os oito bits menos significativos, com um carry da soma ou um borrow da subtração separado. Projetos posteriores também transportam uma etiqueta. Uma etiqueta não altera o cálculo, mas identifica a entrada que produziu um resultado; por isso, deve acompanhar esse resultado.
| Item do contrato | Escolha neste curso |
|---|---|
| Significado dos operandos | Inteiros sem sinal de 0 a 255 |
| Redução da largura | Oito bits menos significativos, módulo 256 |
| Informação de limite | Carry de ADD e borrow de SUB |
| Aceitação | Borda de subida com valid e ready ambos ativos |
| Ordenação | Os resultados seguem a ordem das entradas aceitas |
| Reset | Descartar o trabalho pendente e limpar o estado de validade |
Para a=250, b=10 e ADD, a soma matemática é 260. A saída é 4 com carry=1. Uma interpretação com sinal ou a saturação produziria outro contrato. Não deixe uma conversão acidental da linguagem escolher a política. A aritmética modular pode servir para contadores de endereços, enquanto um cálculo de brilho pode exigir saturação.
- Aceitar: Capturar operandos, operação e etiqueta
- Calcular: Aplicar o contrato numérico especificado
- Entregar: Transferir o resultado e a etiqueta correspondente
Uma saída inválida da ALU ainda pode mudar eletricamente; ela não representa uma transação. Um resultado válido com uma etiqueta antiga também está incorreto. Inspecione os dados, a etiqueta e valid juntos. Para cada saída, responda tanto o que os bits significam quanto quando um consumidor pode confiar neles. Os modelos de ciclos apresentados aqui verificam a funcionalidade e a ordenação, não os atrasos físicos das portas lógicas. Traduza o contrato para um modelo de referência antes de escolher as fronteiras dos registradores para atingir uma meta de latência ou taxa de processamento.
Experimente
Registre o resultado de ADD de oito bits e o carry para a=250 e b=10. Explique o valor 4 e por que a etiqueta deve ser armazenada junto com o resultado.
Ler a explicação
260=1×256+4, portanto data=4 e carry=1. O contrato dos oito bits menos significativos reduz a soma módulo 256. Armazene a etiqueta sob as mesmas condições de aceitação, pausa e entrega dos dados para que o resultado permaneça associado à sua entrada.