Multiplicador 8×8:
Introdução ao Verilog

Esta resolução é baseada no curso Introdução ao Verilog que fiz pela Intel e tem por objetivos: Não me deixar esquecer o que aprendi e construir um multiplicador 8×8 sequencial, conforme descrito a seguir:

  1. A entrada consiste em dois multiplicandos de 8 bits (dataa e datab).
  2. O multiplicador 8×8 demanda quatro ciclos de clock para executar uma multiplicação completa.
  3. A multiplicação será feita em partes, por um multiplicador de 4×4 bits, da seguinte forma:
  4. O multiplicando dataa será dividido em duas fatias de quatro bits “a[7..4]” e “a[3..0]”.
  5. O multiplicando datab será dividido em duas fatias de quatro bits “b[7..4]” e “b[3..0]”.
  6. A cada ciclo de clock, o multiplicador de 4×4 bits irá multiplicar um par de fatias e irá somando o resultado da operação.
  7. Ao final da operação, no quinto ciclo de clock, o resultado da operação será apresentado em 16 bits na saída “product8x8_out”.
  8. O circuito deve ter um bit indicador de conclusão de operação “done_flag” e sete sinais para acionar um display de 7 segmentos “seg_a”, “seg_b”, “seg_c”, “seg_d”, “seg_e”, “seg_f”, e “seg_g”.

Caso minhas notas sejam de grande valia para ti, vou ficar muito agradecido se você clicar nos anúncios desta página e conferir o que meus patrocinadores tem para lhe oferecer.

A equação abaixo ilustra o princípio desta operação:

product8x8_out[15..0] = ( dataa[7..0] * datab[7..0] )
product8x8_out[15..0] = ( (a[7..4]*24) + (a[3..0]*20) ) * ( (b[7..4]*24) + (b[3..0]*20) ) =
( (a[7..4] * b[7..4]) * 28 ) + ( (a[7..4] * b[3..0]) * 24 ) + 
( (a[3..0] * b[7..4]) * 24 ) + ( (a[3..0] * b[3..0]) * 20 )

A figura abaixo ilustra o diagrama em blocos do multiplicador 8×8:

Diagrama em blocos do multiplicador 8×8. Clique para ampliar.

Nesta resolução, serão construídos cada um dos componentes individuais do multiplicador e por último todos componentes serão reunidos, compilados e testados, formando o multiplicador 8×8.

A configuração do ambiente de desenvolvimento Quartus, de seu simulador Questa e a escolha opcional da placa de desenvolvimento podem ser conferidas na série <Instalando Quartus com Questa, clicando aqui>.

Exercícios:

Publicado por Renato de Pierri em 22/nov/2023

Fonte: Manual de exercícios de Introdução ao Verilog, da Intel.

Last updated by at .