Hardware Description Language
Aula 9 –Verilog HDL
Prof. Afonso Ferreira Miguel, MSc
Estrutura Geral
Estrutura Geral
Sinais x Operações em Verilog
Sinais em Verilog
Em Verilog, sinais (nós) podem ser de 3 tipos básicos:
• wire ou tri;
• wand ou triand;
• wor ou trior.
Tipos de informações em Verilog
Sinais simples
(wire)
Vetores
unidirecionais
Vetores
bidirecionais
Especificação de vetores
Definição dos sinais
• input
• output
• inout
Definição dos sinais
Saídas registradas
Saídas registradas
Primitivas predefinidas
Primitivas predefinidas
Primitiva
Label
Atribuições contínuas
Funções Lógicas Básicas
Exemplos de atribuições:
Não esquecer
do assign
• Exercício 1
Implementar e simular um Semi-Somador e um
Somador-Completo em Verilog-HDL.
– Compilar e simular os circuitos finais
Lembrando...
•Semi somador:
S = A XOR B
C = A AND B
•Somador Completo
S = (A XOR B) XOR Cin
Cout = ((A XOR B) AND Cin) OR (A AND B)
Instanciando Módulos
Conectando porta pela ordem do pino
Para instanciar um módulo,
basta informar:
nome_modulo nome_instancia (parâm.)
Obs. Importante:
O módulo instanciado e o
principal não precisam
estar no mesmo arquivo.
Instanciando Módulos - Exemplo
Conectando porta pela ordem do pino
Arquivo teste_xor.v
Mesma ordem
dos parâmetros
Arquivo teste2.v
Instanciando Módulos
Conectando porta pelo nome
Neste caso, a ordem não importa
Nome do pino no
módulo principal
Nome do pino no módulo instanciado
Instanciando Módulos
Saídas não utilizadas
Para instâncias
conectadas pela
ordem, apenas
Para
omitirinstâncias
o
conectadas
parâmetro, pelo
nome,
apenas
deixando
a vírgula
omitir o
parâmetro
Constantes inteiras
Inteiros simples
Inteiros com
tamanho
predefinido
Inteiros negativos
Alta impedância
Seleção de bits em um vetor
Concatenação
Atribuição condicional
Abordagem Comportamental
Abordagem Comportamental
Abordagem Comportamental
Flip-flop D
Importante:
Toda variável que
recebe atribuição em
um always deve ser
registrada
Ocorrendo uma
rampa positiva
em clock, a
saída (q) recebe
a entrada (d)
Abordagem Comportamental
Flip-flop D com clear negado
Importante:
Utilizar parênteses
Abordagem Comportamental
Latch com clear negado
Abordagem Comportamental
Contador de 8 bits
Abordagem Comportamental
Contador de 8 bits com clear
Abordagem Comportamental
Contador de 8 bits com clear com load
Abordagem Comportamental
Utilizando o comando FOR
•
Exercício 2
–
Implementar em AHDL um contador MOD5
decrescente que realize a contagem (6, 5, 4, 3, 2, 6, 5,
...) e tenha um botão de reset (que inicializa com 6).
Download

Aula 9: VHDL - Afonso Ferreira Miguel, MSc