Escolar Documentos
Profissional Documentos
Cultura Documentos
DESCRIÇÃO DE
HARDWARE
Especificação
= Função
Projeto
Arquitetural
= Função
Projeto
Lógico
= Função
Projeto
de Circuito
= Função
Temporização
Projeto
Potência
Físico
DESCRIÇÃO
Conexões
DIAGRAMA ESQUEMÁTICO
O método antigo de descrição era o
diagrama esquemático (esquema)
O esquemático possui algumas vantagens:
Descreve de forma visual.
Pode ser formal, ou seja, entrada para o
processamento automático
Descreve itens
Descrições de procedimento
Síntese Lógica
Layout físico
Verificação de layout
Implementação
A LINGUAGEM VERILOG
Originalmente uma linguagem de modelagem para
um simulador de lógica digital baseado em eventos
muito eficiente
Mais tarde foi posto em uso como uma linguagem de
especificação para síntese lógica
Atualmente, uma das duas linguagens mais
utilizadas em projeto de hardware digital (VHDL é a
outra)
Praticamente todo chip (ASIC, genérico) ou circuito
em FPGA é desenvolvido usando uma destas duas
linguagens
Combina estilos de modelagem estrutural e
comportamental
O todo e as partes
MODELAGEM ESTRUTURAL
VANTAGENS E DESVANTAGENS
– Top-down
BS
SB SB SB SB
CB CB CB CB CB CB CB CB
– Botton-up
BS
SB SB SB SB
CB CB CB CB CB CB CB CB
28
BLOCOS FUNCIONAIS: SOMA
Soma binária é usada frequentemente
Desenvolvimento da soma:
Meio-Somador (HA), um bloco funcional de 2 entradas
binárias,
Somador-Completo (FA), um bloco funcional de 3
entradas binárias,
Somador Ripple Carry, um arranjo iterativo que realiza
soma binária, e
Somador Carry-Look-Ahead (CLA), uma estrutura
hierárquica para aumentar o desempenho (menor
atraso).
REPRESENTANDO HIERÁRQUIA
somador completo
FULL_ADD
A SUM
HALF_ADD HALF_ADD
B U1 U2
Cin
OR CARRY
Nomes de instância
30
IMPLEMENTAÇÕES: MEIO-SOMADOR
A implementação mais comum
para um meior somador é a
S = X⊕Y
C = X⋅Y
X
Y S
C
IMPLEMENTAÇÃO: SOMADOR COMPLETO
Esquemático do somador
completo
Ai Bi
Observe que é formado por Gi
2 meio-somadores
Pi
Ci
Ci+1 Si
SOMADORES BINÁRIOS
Para somar vários operandos, juntamos os sinais
lógicos em vetores e usamos blocos funcionais que
operam nos vetores
Descrição Subscrito Nome
Examplo: Somador de 4 bits 3210
com ripple carry: Soma as Carry In 0110 Ci
entradas A(3:0) e B(3:0) Parcela 1011 Ai
obtendo um vetor soma S(3:0) Parcela 0011 Bi
Nota: A saída carry da célula Soma 1110 Si
i torna-se a entrada carry da Saída de Carry 0011 Ci+1
célula i + 1
SOMADOR BINÁRIO DE 4 BIT TIPO RIPPLE-
CARRY
Um somador binário ripple-carry de 4 bits é
feito a partir de quatro somadores completos
de 1-bit:
B3 A3 B2 A2 B1 A1 B0 A0
C3 C2 C1
FA FA FA FA C0
C4 S3 S2 S1 S0
MEIO SOMADOR
SOMADOR COMPLETO A PARTIR DE MEIO
SOMADOR
SOMADOR BINÁRIO 4 BITS
VERILOG COMPORTAMENTAL DO
SOMADOR DE 4 BITS
INSTANCIANDO UM MÓDULO
Instâncias de
module mymod(y, a, b);
Aparecem como
mymod mm1 (y1, a1, b1); // Conecta por posição
mymod (y2, a1, b1),
(y3, a2, b2); // Nomes das instâncias
omitidos
// conecta por nome
mymod mm2 (.a(a2)), .b(b2), .y(c2));
PRIMITIVAS A NÍVEL DE PORTAS
Verilog fornece os seguintes:
and nand AND/NAND lógicos
or nor OR/NOR lógicos
xor xnor XOR/XNOR lógicos
buf not buffer/inversor
Outros...
.<nome_porta>(<nome_variavel_ou_net)
Como C ANSI
endmodule
CONEXÕES .NOME E .* IMPLÍCITAS