hardware description language aula 9 –verilog hdl prof. afonso ferreira miguel, msc

Post on 07-Apr-2016

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related