Enunciado:
Fazer no simulador um circuito que, dado um número de 12 bits X, calcule na saída o número X². Além disso, o circuito deverá calcular Y², onde Y é o número x3×2x1×0, e compare Y² com os 8 bits menos significativos de X².
Explicando melhor:
O circuito conterá duas partes:
Multiplicador sequencial de numeros de 12 bits, com resultado de 24 bits. Solução: Não pode ser a solução ridícula do tipo for (i=1..A) s += B Tem que fazer os deslocamentos das parcelas, para efetuar apenas 11 somas.
O livro de Patterson & Hennessy (*) apresenta no capítulo sobre aritmética três “algoritmos” para o multiplicador. Entenda-os e implemente o melhor deles.
Multiplicador combinacional, para numeros de 4 bits, com resultado de 8 bits. Solução: Cada bit de saída é uma função logica das 4 entradas. (os bits de posição 0 e 1 são funções triviais) Defini-las como soma de produtos.
Juntando as duas partes, crie um comparador, para apontar caso os resultados dos dois circuitos forem iguais (portas XOR + porta AND).
Como poderia um circuito que só eleva ao quadrado (X²) ser mais simples que um mais geral que multiplica (X*Y). Existiria?
Solução:
De fato um circuito que calcula o quadrado de um número é mais simples que um que multiplica um número vezes o outro. Isto se deve principalmente pelo emprego de Flip-Flops.
O seguinte circuito realiza duas operações de elevação de um número ao quadrado, uma sequencial e outra combinacional. A combinacional poderia ser utilizada para fazer um número vezes algum outro, mas usa-so o quadrado aqui para elucidar a questão.
A sequência de flip-flops contará até o número de ciclos designados, tendo sua saída submetida à deslocadores que aproveitarão os bits de interesse para multiplicar o número ao quadrado através de somas sucessivas.
No final, os bits significativos das duas operações são comparados, acendendo o led de indicação que a operação dos dois circuitos apresentam o mesmo resultado.
Circuito:
Circuito fonte construído no TkGate: Download.
Referências:
[1] Patterson & Hennessy - Computer Organization & Design - Harware Software
[2] Tocci & Widmer - Sistemas Digitais - Princípios e Aplicações
