hardware description language aula 9 –verilog hdl prof. afonso ferreira miguel, msc
TRANSCRIPT
Hardware Description Language
Aula 9 –Verilog HDL
Prof. Afonso Ferreira Miguel, MSc
Estrutura Geral
Estrutura Geral
Sinais x Operações em Verilog
Sinais em VerilogEm 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
Vetoresunidirecionais
Vetoresbidirecionais
Sinais simples(wire)
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
Label
Primitiva
Atribuições contínuas
Funções Lógicas Básicas
Exemplos de atribuições: Não esquecer do assign
• Exercício 1Implementar e simular um Semi-Somador e um
Somador-Completo em Verilog-HDL.– Compilar e simular os circuitos finais
Lembrando...•Semi somador:
S = A XOR BC = A AND B
•Somador CompletoS = (A XOR B) XOR CinCout = ((A XOR B) AND Cin) OR (A AND B)
Instanciando MódulosConectando 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 pinoArquivo teste_xor.v
Arquivo teste2.v
Mesma ordem dos parâmetros
Instanciando MódulosConectando porta pelo nome
Nome do pino no módulo instanciado
Nome do pino no módulo principal
Neste caso, a ordem não importa
Instanciando MódulosSaídas não utilizadas
Para instâncias conectadas pela ordem, apenas omitir o parâmetro, deixando a vírgula
Para instâncias conectadas pelo nome, apenas 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 ComportamentalFlip-flop D
Ocorrendo uma rampa positiva em clock, a saída (q) recebe a entrada (d)
Importante:Toda variável que recebe atribuição em um always deve ser registrada
Abordagem ComportamentalFlip-flop D com clear negado
Importante:Utilizar parênteses
Abordagem ComportamentalLatch com clear negado
Abordagem ComportamentalContador de 8 bits
Abordagem ComportamentalContador de 8 bits com clear
Abordagem ComportamentalContador de 8 bits com clear com load
Abordagem ComportamentalUtilizando 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).