+ All Categories
Home > Documents > Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc.

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

Date post: 07-Apr-2016
Category:
Upload: pietra-mancia
View: 220 times
Download: 0 times
Share this document with a friend
34
Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc
Transcript
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).


Recommended