Top Banner
ComL@b – Laboratório de Comunicações Digitais www.decom.fee.unicamp.br/~cardoso Aula 3 – Exp 2: Noções de VHDL Fabbryccio Cardoso D lt S A t Dalton S. Arantes DECOM-FEEC-UNICAM
54

cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

Feb 17, 2019

Download

Documents

buithu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

www.decom.fee.unicamp.br/~cardoso

Aula 3 – Exp 2: Noções de VHDL

Fabbryccio Cardoso

D lt S A tDalton S. Arantes

DECOM-FEEC-UNICAM

Page 2: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

VHDLVHDL

Very Hard Difficult Language

Page 3: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

VHDLVHDL

VHSIC Hardware

Description Language

----------------------------------------------------------------------------

VHSIC

Very High Speed Integrated CircuitsVery High Speed Integrated Circuits

Page 4: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Domínios de descriçãoDomínios de descrição

Domínio Domínio ComportamentalComportamental

Domínio Domínio EstruturalEstruturalComportamentalComportamental EstruturalEstrutural

Modelos VHDLModelos VHDL

Nível de abstraçãoNível de abstração

Domínio FísicoDomínio Físico

Y-Chart de Gajski

Page 5: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Descrição EstruturalDescrição Estrutural

Descreve o circuito como um NET LIST

Net List = (Instâncias de componentes) + (Nets)

Descrição estrutural em VHDL =

(Sinais) + (Instância de componentes + mapeamento

de portas)

Versatilidade do VHDL:

Variedade de tipos de sinais

Componentes Genéricos

Possibilidade de criar arrays de instâncias de

componentes

Flexibilidade na ligação de componentes para projetar

entities e architectures

Page 6: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Exemplo de Descrição EstruturalExemplo de Descrição Estrutural

Page 7: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

HierarquiaHierarquia

Top LevelTop Level

C1 C2 C3

C4 C5B1 B4

B6B2

B8

B5

B7B3 B9

B10

Page 8: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Descrição ComportamentalDescrição Comportamental

Chamada de descrição

B h i l VHDL

Chamada de descrição

D t Fl VHDLBehavioral em VHDL Data Flow em VHDL

Procedural Não procedural

Expressões sequenciais Expressões concorrentes

Expressões de controle

alteram o fluxo

Dependência no fluxo de

dados restringe a alteram o fluxo

sequencial normal

dados restringe a

concorrência

Page 9: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Par Entity-ArchitecturePar Entity Architecture

Descreve a interface do componente

Descreve a implementação do componente

Page 10: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Exemplo: Somador 1 bitExemplo: Somador 1 bit

lib i i td l i 1164 llNome da entidadeNome da entidade

library ieee; use ieee.std_logic_1164.all;entity FullAdder is Sentido da portaSentido da portay

port (X, Y, Cin: in std_logic; -- InputsC S d l i ) O

Sentido da portaSentido da porta

Cout, Sum: out std_logic); -- Outputsend FullAdder;

Nomes das portasNomes das portas;

tipotipoPalavras reservadasPalavras reservadas

X

YSum

FullAdder

Cin Cout

Page 11: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Exemplo: Somador 1 bite p o So adoDescrição Data Flow (Behavioral)

Architecture DataFlow of FullAdder isbegin -- Expressoes concorrentes

Sum <= X xor Y xor Cin after 10 ns;Sum <= X xor Y xor Cin after 10 ns;Cout <= (X and Y) or (X and Cin) or (Y and Cin) after 15 ns;

end DataFlow;end DataFlow;

Page 12: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Componente Somador 4-bits (Estrutural)Componente Somador 4 bits (Estrutural)

A

S

B

CiCo

Page 13: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Exemplo: somador de 4-bitsExemplo: somador de 4 bits

entity Adder4 isport (A, B: in std_logic_vector(3 downto 0);Ci: in std logic; InputsCi: in std_logic; -- InputsS: out std_logic_vector(3 downto 0);Co: out std_logic); -- Outputs

d Add 4end Adder4;

Page 14: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Exemplo: somador 4-bits (estrutural)Exemplo: somador 4 bits (estrutural)

Architecture Structure of Adder4 isArchitecture Structure of Adder4 isComponent FullAdder

t (X Y Ci i td l i C t S t td l i )port (X, Y, Cin: in std_logic; Cout, Sum: out std_logic);signal C: std_logic_vector (3 downto 1);b i I t ti tibegin -- Instantiations

FA0: FullAdder port map (A(0), B(0), Ci, C(1), S(0));FA1 F llAdd t (A(1) B(1) C(1) C(2) S(1))FA1: FullAdder port map (A(1), B(1), C(1), C(2), S(1));FA2: FullAdder port map (A(2), B(2), C(2), C(3), S(2));

ll dd ( ( ) ( ) ( ) ( ))FA3: FullAdder port map (A(3), B(3), C(3), Co, S(3));end Structure;

Page 15: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Experimento

Page 16: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Objetivo do ExperimentoObjetivo do Experimento

Familiarização com o ISE – ambiente de

desenvolvimento integrado da Xilinx.

Obter noções básicas de VHDL.

Page 17: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Configuração Física do ExperimentoConfiguração Física do Experimento

Page 18: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Arquitetura do ProjetoArquitetura do Projeto

Page 19: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Passo 1: Criar novo projeto no ISEPasso 1: Criar novo projeto no ISE

Page 20: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

New Project: Project NameNew Project: Project Name

Page 21: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

New Project: Select DeviceNew Project: Select Device

Page 22: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

New Project: New SourceNew Project: New Source

Nã i f t iNão criar novas fontes aqui.(Do not create new sources here)

Page 23: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

New Project: Add Existing SourcesNew Project: Add Existing Sources

Não adicione fontes (Do not add sources).

Page 24: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

New Project: ConcluirNew Project: Concluir

Page 25: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Novo Projeto CriadoNovo Projeto Criado

Page 26: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Passo 2: Criar componente principal (top-level)Passo 2: Criar componente principal (top level)

Clicar com botão da direita (right click): - Selecionar (Select) “New Source”

Page 27: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Portas do proj principalPortas do proj_principal

Deixar os campos vazios(Let the fields empty).

Page 28: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

New Source: concluirNew Source: concluir

Page 29: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Abrir Fonte “proj principal”Abrir Fonte proj_principal

Duplo click para abrir fonte(Double click to open)(Double click to open).

Descomente (Uncomment)

Page 30: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Definição e Implementação de ComponenteDefinição e Implementação de Componente

Definição do Componente.(C t D fi iti )(Component Definition)

Implementação do Componente.(Component Implementation)

Page 31: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Interface do Componente PrincipalInterface do Componente Principal

Declaração de portas.

Page 32: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Declaração de componentes e de sinaisDeclaração de componentes e de sinais

Declaração de sinais e de componentes internos.ç p

Page 33: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Declaração de componentes e de sinaisDeclaração de componentes e de sinais

Page 34: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Instanciar e interconectar componentesInstanciar e interconectar componentes

CLKIN_INRST_IN

CLKFX OUT

clk_innot reset_inClkDiCLKFX_OUT

CLKIN_IBUFG_OUT CLK0_OUT

LOCKED_OUT

ClkDivopenopendcm_lock

instância tipoInst_ClockGen

portas sinais

Page 35: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Instanciar e interconectar componentesInstanciar e interconectar componentes

CLKIN_INRST_IN

CLKFX OUT

clk_innot reset_inClkDiCLKFX_OUT

CLKIN_IBUFG_OUT CLK0_OUT

LOCKED_OUT

ClkDivopenopendcm_lock

Inst_ClockGen

clk in ClkDivclk_inPCM_Playback_Left

PCM_Playback_RightPCM_Record_Left

ClkDivaudio_left_outaudio_right_outaudio_left_in

PCM_Record_Right audio_right_in

ac97_if_I

Page 36: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Implementar Componente PrincipalImplementar Componente Principal

Use o arquivo “modelos.vhd” para montar o

componente principal “proj_principal.vhd”.

O arquivo “modelos.vhd” contém declarações e

instância de componentes assim como de sinais.

Page 37: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Componente ac97 ifComponente ac97_if

Copiar os seguintes arquivos para a pasta do

j tprojeto:

ac97_if

ac97_command_rom.vhd

ac97_core.vhd

ac97_timing.vhd

ac97_if_pkg.vhd

Page 38: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Adicionar fontes do ac97 ifAdicionar fontes do ac97_if

(1) Select( )

(3) Selecionar e clicar

(2) Duplo Click

(4) clicar

Page 39: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Após inserção dos fontes do ac97 ifApós inserção dos fontes do ac97_if

Page 40: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Componente audio clk wrapperComponente audio_clk_wrapper

A implementação do componente

audio_clk_wrapper é disponibilizado como netlist

(NGC).

Copiar para a pasta do projeto o netlist

“audio_clk_wrapper.ngc”.

attribute box type of audio clk wrapper : attribute box_type of audio_clk_wrapper :

component is "black_box";

Page 41: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Componente ClockGenComponente ClockGen

A implementação do componente ClockGen precisa

ser gerado através da ferramenta Core Generator.

Page 42: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Geração de ClockGenGeração de ClockGen

(right click)( g )New source

Page 43: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Selecione o Tipo do CoreSelecione o Tipo do Core

Page 44: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Page 45: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

(1)

(2)

Page 46: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Após a geração de clockgenApós a geração de clockgen

Page 47: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

User Constraints: mapeamento de pinosUser Constraints: mapeamento de pinos

(1) Selecione

(3)

(2) Duplo Click

Page 48: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Mapeamento de PinosMapeamento de Pinos

(1)

(2)

Page 49: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Geração do BinárioGeração do Binário

Page 50: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Abrir Impact (Xilinx\Accessories)Abrir Impact (Xilinx\Accessories)

Page 51: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Page 52: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Atribuir binárioAtribuir binário

(1) Right Click - Assign

(2)(2)

Page 53: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

Gravar dispositivoGravar dispositivo

(1) Right Click - Program

(2) Click

Page 54: cardosocardoso/ie3444b2010/exp2-vhdl.pdf · ComL@b – Laboratório de Comunicações Digitais Domínios de descrição Domínio Comportamental Domínio Estrutural Modelos VHDL Nível

ComL@b – Laboratório de Comunicações Digitais

AvaliaçãoAvaliação

Visto do experimento = 10 pontos;