Protocolo da Interface Serial do Codec AC97 - DECOM

Transcrição

Protocolo da Interface Serial do Codec AC97 - DECOM
ComL@b – Laboratório de Comunicações Digitais
www.decom.fee.unicamp.br/~cardoso
Aula 14:Protocolo da Interface Serial do
Codec de Áudio AC97
Fabbryccio Cardoso
Marcelo Fernandes
Dalton S. Arantes
DECOM-FEEC-UNICAMP
ComL@b – Laboratório de Comunicações Digitais
Objetivos do Experimento
„
Familiarizar-se com o uso do Chipscope Pro Core
Generator para geração de módulos ICON
(Integrated Controller) e ILA (Integrated Logic
Analizer), visando monitoração dos sinais da
interface serial no experimento da Aula 13.
„
O relatório deverá conter:
…
uma descrição geral do protocolo serial usado na
interface com o Codec AC97;
…
verificação com o chipscope do funcionamento do
protocolo para transferência de sinais entre a FPGA e
o chip LM4550.
ComL@b – Laboratório de Comunicações Digitais
ICON
„
Provê uma ponte de comunicação entre a porta
JTAG da FPGA e até 15 ILAs;
„
Após geração do core, também é gerado um
arquivo de exemplo como “icon_xst_example.vhd”.
Este exemplo mostra como declarar e instanciar o
componente icon;
„
No componente ICON, cada porta de controle
(coltrol0, control1, etc) deve ser utilizada para um
componente ILA.
ComL@b – Laboratório de Comunicações Digitais
ILA
„
O componente ILA implementa um analisador
lógico configurável que possibilita monitorar sinais
internos de um projeto;
„
O ILA é síncrono e, por este motivo, é necessário
um ILA para cada domínio de clock em que se
deseja monitorar sinais;
„
Para cada ILA é necessário uma porta de controle
do componente ICOM. Na versão 7.1 é possível ter
até 15 componentes ILAs.
ComL@b – Laboratório de Comunicações Digitais
Exemplo: Passo 1 – Geração do ICON 1/3
ComL@b – Laboratório de Comunicações Digitais
Exemplo: Passo 1 – Geração do ICON 2/3
Pasta do projeto
Número de portas
de controle, ou seja,
de ILAs que poderão
ser utilizados.
ComL@b – Laboratório de Comunicações Digitais
Exemplo: Passo 1 – Geração do ICON 3/3
Geração de
exemplo
ComL@b – Laboratório de Comunicações Digitais
Arquivo de exemplo gerado para o ICON
library IEEE;
use IEEE.std_logic_1164.all;
entity icon_xst_example is
end icon_xst_example;
architecture structure of icon_xst_example is
--------------------------------------------------------------------- ICON core component declaration
-------------------------------------------------------------------component icon
port
(
control0 : out std_logic_vector(35 downto 0);
control1 : out std_logic_vector(35 downto 0)
);
end component;
--------------------------------------------------------------------- ICON core signal declarations
-------------------------------------------------------------------signal control0
: std_logic_vector(35 downto 0);
signal control1
: std_logic_vector(35 downto 0);
begin
--------------------------------------------------------------------- ICON core instance
-------------------------------------------------------------------i_icon : icon
port map
(
control0 => control0,
control1 => control1
);
end structure;
ComL@b – Laboratório de Comunicações Digitais
Exemplo: Passo 2 – Geração do ILA 1/5
ComL@b – Laboratório de Comunicações Digitais
Exemplo: Passo 2 – Geração do ILA 2/5
Pasta do projeto
ComL@b – Laboratório de Comunicações Digitais
Exemplo: Passo 2 – Geração do ILA 3/5
Número de sinais
que serão monitorados
ComL@b – Laboratório de Comunicações Digitais
Exemplo: Passo 2 – Geração do ILA 4/5
Marcar a opção de
visualizar os sinais de
trigger como dados.
ComL@b – Laboratório de Comunicações Digitais
Exemplo: Passo 2 – Geração do ILA 5/5
Gerar exemplo
de utilização
Gerar cdc
ComL@b – Laboratório de Comunicações Digitais
Arquivo de exemplo gerado para o ILA
library IEEE;
use IEEE.std_logic_1164.all;
entity ila_xst_example is
end ila_xst_example;
architecture structure of ila_xst_example is
--------------------------------------------------------------------- ILA core component declaration
-------------------------------------------------------------------component ila
port
(
control : in std_logic_vector(35 downto 0);
clk
: in std_logic;
trig0
: in std_logic_vector(0 downto 0);
trig1
: in std_logic_vector(0 downto 0);
trig2
: in std_logic_vector(0 downto 0)
);
end component;
--------------------------------------------------------------------- ILA core signal declarations
-------------------------------------------------------------------signal control : std_logic_vector(35 downto 0);
signal clk
: std_logic;
signal trig0
: std_logic_vector(0 downto 0);
signal trig1
: std_logic_vector(0 downto 0);
signal trig2
: std_logic_vector(0 downto 0);
begin
--------------------------------------------------------------------- ILA core instance
-------------------------------------------------------------------i_ila : ila
port map
(
control => control,
clk
=> clk,
trig0 => trig0,
trig1 => trig1,
trig2 => trig2
);
end structure;
ComL@b – Laboratório de Comunicações Digitais
Dicas
„
Deseja-se monitorar apenas os sinais da interface
serial do codec AC97: SData_In, Sdata_Out e Sync.
„
Todos os sinais alvo estão no domínio do clock
AC97Clk, então será necessário usar apenas um
ILA e, consequentemente, um ICON com apenas
uma porta de controle.

Documentos relacionados

Apresentação da Aula11. - DECOM

Apresentação da Aula11. - DECOM ComL@b – Laboratório de Comunicações Digitais

Leia mais

Introdução ao System Generator - DECOM

Introdução ao System Generator - DECOM ComL@b – Laboratório de Comunicações Digitais

Leia mais