Você está na página 1de 34

Eletrônica Digital

2
Sistemas Digitais

Gabriel Fanelli
Projeto de Sistema Digital

FPGA

Dispositivo Lógico Reprogramável

Flexibilidade!

Metodologia de Projeto

2
Fluxo de Projeto
Especificação de Projeto

Entrada de Projeto: Verilog

Simulação/Verificação Funcional

Síntese Lógica

Síntese para o dispositivo

Análise de Temporização

Geração do Arquivo de Programação


Arquitetura de Sistemas Digitais
Particionar o Circuito

Dividir o circuito em blocos por funcionalidade

Caminho de Dados (Datapath)

Registrador, multiplicador, decodificador, ALU...

Funções de Controle
Máquinas de Estado, Handshaking...
Arquitetura de Sistemas Digitais
Sinais de Entrada Dados de Entrada

Sistema Digital

Unidade
de Datapath
Controle

Sinais Internos

Sinais de Saída Dados de Saída


Sistema Digital
 Exemplo de um Datapath simples

Dados
clk
saída
en1 clk

en3
clk
sel
en2

Um ÚNICO barramento de Sinais de Controle


dados alimenta DOIS (ENABLE) definem o fluxo
registradores de dados pelo datapath
Sistema Digital

 1) Compreender o fluxo de dados

Dados
[3:0] clk
Saída
en1 clk [3:0]

en3
clk
Sel
en2 [1:0]
Sistema Digital
 Descrição do datapath em Verilog
Sistema Digital

 2) Desenvolver o sistema de controle

Dados
[3:0] clk
Saída
en1 clk [3:0]

en3
clk
Sel
en2 [1:0]
Poderia vir do Sistema de
Controle, Memória, ou
entrada manual
Sistema Digital

rst

S0 S1 S2 S3

en1 = 0 en1 = 1 en1 = 0 en1 = 0


en2 = 0 en2 = 0 en2 = 1 en2 = 0
en3 = 0 en3 = 0 en3 = 0 en3 = 1
Sistema Digital

 Descrição da Unidade de
Controle em Verilog
Sistema Digital
 Descrição do SISTEMA DIGITAL em Verilog
Sistema Digital
 RTL
Sistema Digital

 Testbench do sistema digital


Sistema Digital

 Resultado da Simulação
Multiplicador

 Multiplicação em binário
 Algoritmo simples: deslocamento + soma
 Implementações
 Combinacional Combinacional Sequencial
 Sequencial
Multiplicador
 Algoritmo de multiplicação
Multiplicador
 Projeto de um multiplicador sequencial
 Projeto
 Datapath
 Unidade de Controle
 Especificações
 Duas entradas de dados de 4 bits
 Uma saída de 8 bits
 Um sinal de entrada “inicio”
 Um sinal de saída “fim_mult”
Multiplicador

Funcionamento: quando o bit menos


 RegA e RegB → Shift Registers significativo do operando B (regB(0))
 RegA desloca para a esquerda for igual a 1, soma-se à multiplicação
anterior o valor em RegA A, deslocado
 RegB desloca para a direita quantas vezes forem necessárias.
A cada ciclo de relógio ambos
shift operandos são deslocados, porém em
direções contrárias (“A” para a
esquerda e “B” para a direita).

En_S

shift
shift

En_S

shift
Multiplicador
inicio clk, rst A, B

Unidade
de Load_A,Load_B,shift,En_S Datapath
Controle
RegB(0)

fim_mult saida
Multiplicador
 Descrição do Datapath em Verilog
Multiplicador
 Descrição do Datapath em Verilog
Multiplicador
 Sistema de Controle

rst

inicio
espera carga verifica

cont<N regB0 = 1
inicio
regB0 = 0

cont >= N
fim desloca soma

cont: variável auxiliar atualizada no estado verifica → cont = cont+1


N: número de bits das palavras sendo multiplicadas
Multiplicador

 Saídas do sistema de controle

loadA loadB shift en_S fim_mult


espera 0 0 0 0 0
carga 1 1 0 0 0
verifica 0 0 0 0 0
desloca 0 0 1 0 0
soma 0 0 0 1 0
fim 0 0 0 0 1
Multiplicador
 Descrição da Unidade de Controle em Verilog
Multiplicador
 Descrição da Unidade de Controle em Verilog
Multiplicador

 Descrição da Unidade de Controle em Verilog


Multiplicador
 Descrição do Sistema completo do multiplicador
Multiplicador
 RTL
Multiplicador
 RTL
Multiplicador
 RTL
Multiplicador
 Testbench
Multiplicador
 Caracterização Experimental (Simulação)

Você também pode gostar