34
Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Embed Size (px)

Citation preview

Page 1: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Hardware Description Language

Aula 9 –Verilog HDL

Prof. Afonso Ferreira Miguel, MSc

Page 2: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Estrutura Geral

Page 3: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Estrutura Geral

Page 4: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Sinais x Operações em Verilog

Page 5: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Sinais em VerilogEm Verilog, sinais (nós) podem ser de 3 tipos básicos:

• wire ou tri;• wand ou triand;• wor ou trior.

Page 6: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Tipos de informações em Verilog

Vetoresunidirecionais

Vetoresbidirecionais

Sinais simples(wire)

Page 7: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Especificação de vetores

Page 8: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Definição dos sinais

• input• output• inout

Page 9: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Definição dos sinais

Page 10: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Saídas registradas

Page 11: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Saídas registradas

Page 12: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Primitivas predefinidas

Page 13: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Primitivas predefinidas

Label

Primitiva

Page 14: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Atribuições contínuas

Page 15: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Funções Lógicas Básicas

Exemplos de atribuições: Não esquecer do assign

Page 16: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

• 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)

Page 17: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

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.

Page 18: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Instanciando Módulos - Exemplo Conectando porta pela ordem do pinoArquivo teste_xor.v

Arquivo teste2.v

Mesma ordem dos parâmetros

Page 19: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

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

Page 20: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

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

Page 21: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Constantes inteiras

Inteiros simples

Inteiros com tamanho predefinido

Inteiros negativos

Alta impedância

Page 22: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Seleção de bits em um vetor

Page 23: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Concatenação

Page 24: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Atribuição condicional

Page 25: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Abordagem Comportamental

Page 26: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Abordagem Comportamental

Page 27: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

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

Page 28: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Abordagem ComportamentalFlip-flop D com clear negado

Importante:Utilizar parênteses

Page 29: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Abordagem ComportamentalLatch com clear negado

Page 30: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Abordagem ComportamentalContador de 8 bits

Page 31: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Abordagem ComportamentalContador de 8 bits com clear

Page 32: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Abordagem ComportamentalContador de 8 bits com clear com load

Page 33: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

Abordagem ComportamentalUtilizando o comando FOR

Page 34: Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc

• 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).