Apresentação da Aula11. - DECOM

Transcrição

Apresentação da Aula11. - DECOM
ComL@b – Laboratório de Comunicações Digitais
www.decom.fee.unicamp.br/~cardoso
Aula 11: Geração de Componentes
para Projetos HDL
Fabbryccio Cardoso
Marcelo Fernandes
Dalton S. Arantes
DECOM-FEEC-UNICAM
ComL@b – Laboratório de Comunicações Digitais
Objetivos do Experimento
„
Aprender a importar componentes gerados pelo System
Generator em projetos HDL;
„
Familiarizar-se com o ambiente integrado do ISE;
„
Testar os sinais AUDIO_RESET_Z e AC97_BIT_CLOCK da
interface do codec AC97 LM4550;
„
Referência: Importing a System Generator Design into a
Bigger System (Additional Topics and Tutorials)
ComL@b – Laboratório de Comunicações Digitais
Projeto
„
Componente Start_AC97
…
Módulo a ser desenvolvido no System Generator para fixar o
sinal AUDIO_RESET_Z no nível lógico 1. Por default o codec
AC97 é mantido no estado de reset até que o sinal
AUDIO_RESET_Z é conduzido para o nível lógico 1.
…
„
Utiliza o sinal de clock de 100 MHz disponível no pino AJ15.
Componente AC97_Controller
…
Utilizar o sinal AC97_BIT_CLOCK de 12.288 MHz (81.38 ns),
que está disponível apenas quando o codec AC97 sai do
estado de reset, para gerar um sinal LED_0 com a seguinte
característica:
1s
1s
ComL@b – Laboratório de Comunicações Digitais
Componente Start_AC97
Sample Period = 1
k =1
Bool
Vcc
System
Generator
d
q
Bool
en
register
d
q
register
Bool
fpt
dbl
double
AUDIO_RESET_Z
NGC Netlist
Virtex2P xc2vp30-7ff896
10
Não especificar
Desmarcar a opção “Specify IOB Loc (...)”
ComL@b – Laboratório de Comunicações Digitais
Componente AC97_Controller
Desmarcar a opção “Specify IOB Loc (...)”
Bool
xlinv
not
System
Generator
sync
d
xlregister
z -1 q
en
Bool
enable
Bool
led0
fpt dbl
double
LED_0
Temporizador
enable1
xlchipscope
enable2
NGC Netlist
led0
ChipScope
UFix_24_0
rst
out
a
a=b
b
Counter
12288000
Constant
Bool
enable
Relational
UFix_24_0
1
sync
81.38
Não especificar
ComL@b – Laboratório de Comunicações Digitais
Criar Projeto ISE (1/5)
Top-Level Module Type: Schematic
ComL@b – Laboratório de Comunicações Digitais
Criar Projeto ISE (2/5)
Device Family
Device
Package
Speed Grade
Virtex2P
xc2vp30
ff896
-7
ComL@b – Laboratório de Comunicações Digitais
Criar Projeto ISE (3/5)
Não criar novas fontes nesta janela
ComL@b – Laboratório de Comunicações Digitais
Criar Projeto ISE (4/5)
Não adicionar fontes existentes nesta janela
ComL@b – Laboratório de Comunicações Digitais
Criar Projeto ISE (5/5)
Concluir
ComL@b – Laboratório de Comunicações Digitais
Tela inicial do ISE
ComL@b – Laboratório de Comunicações Digitais
Próximos Passos
„
Após a compilação do NGCnetlist abrir os templates .vho
para declaração e instância dos componentes Start_AC97
e AC97_Controller. O nome dos arquivos têm o seguinte
formato: <design>_clk_wrapper.vho.
„
Copiar os arquivos NGC gerados pelo SysGen na pasta do
projeto ISE.
„
Criar dois arquivos vhd para encapsular e instanciar os
componentes em entidades (entities): usar os templates
vho como referência.
„
Gerar símbolos de esquemático a partir das entidades
VHDL.
„
Criar esquemático para ter o maior nível da hierarquia.
Inserir símbolos dos componentes e marcadores de IO.
ComL@b – Laboratório de Comunicações Digitais
Template para o módulo Start_AC97
-- The following code must appear in the VHDL architecture header:
------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG
component mod_startac97_ex2_clk_wrapper port (
ce: in std_logic := '1';
ce_clr: in std_logic := '0';
clk: in std_logic;
audio_reset_z: out std_logic );
end component;
-- COMP_TAG_END ------ End COMPONENT Declaration ------------- The following code must appear in the VHDL architecture
-- body. Substitute your own instance name and net names.
------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG
your_instance_name : mod_startac97_ex2_clk_wrapper port map (
ce => ce,
ce_clr => ce_clr,
mod_startac97_ex2_clk_wrapper.vho
clk => clk,
audio_reset_z => audio_reset_z);
-- INST_TAG_END ------ End INSTANTIATION Template ------------
ComL@b – Laboratório de Comunicações Digitais
Template para o módulo AC97_Controller
-- The following code must appear in the VHDL architecture header:
------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG
component mod_ac97controlador_ex2_clk_wrapper port (
ce: in std_logic := '1';
ce_clr: in std_logic := '0';
clk: in std_logic;
led_0: out std_logic );
end component;
-- COMP_TAG_END ------ End COMPONENT Declaration ------------- The following code must appear in the VHDL architecture
-- body. Substitute your own instance name and net names.
------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG
your_instance_name : mod_ac97controlador_ex2_clk_wrapper port map (
ce => ce,
ce_clr => ce_clr,
mod_ac97controlador_ex2_clk_wrapper.vho
clk => clk,
led_0 => led_0);
-- INST_TAG_END ------ End INSTANTIATION Template ------------
ComL@b – Laboratório de Comunicações Digitais
Criar Nova Fonte: Esquemático e VHDL
Create New Source
ComL@b – Laboratório de Comunicações Digitais
Criar Arquivos VHDL (1/3)
Start_AC97
VHDL Module
ComL@b – Laboratório de Comunicações Digitais
Criar Arquivos VHDL (2/3)
Start_AC97
Não definir portas
ComL@b – Laboratório de Comunicações Digitais
Criar Arquivos VHDL (3/3)
ComL@b – Laboratório de Comunicações Digitais
Template Gerado para Start_AC97
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
Descomente
--use UNISIM.VComponents.all;
entity Start_AC97 is
end Start_AC97;
Copie aqui a mesma declaração de portas do componente
architecture Behavioral of Start_AC97 is
begin
Copie aqui declaração do componente. Adicione:
attribute box_type of foo_clk_wrapper : component is "black_box";
Copie aqui a instância do componente.
end Behavioral;
ComL@b – Laboratório de Comunicações Digitais
Modificar Template Start_AC97
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
library UNISIM;
use UNISIM.VComponents.all;
entity Start_AC97 is
port (
ce: in std_logic := '1';
ce_clr: in std_logic := '0';
clk: in std_logic;
led_0: out std_logic );
end Start_AC97;
architecture Behavioral of Start_AC97 is
component mod_ac97controlador_ex2_clk_wrapper port (
ce: in std_logic := '1';
ce_clr: in std_logic := '0';
clk: in std_logic;
led_0: out std_logic );
end component;
attribute box_type of mod_ac97controlador_ex2_clk_wrapper : component is "black_box";
begin
startac97 : mod_ac97controlador_ex2_clk_wrapper port map (
ce => ce,
ce_clr => ce_clr,
clk => clk,
led_0 => led_0);
end Behavioral;
ComL@b – Laboratório de Comunicações Digitais
Repita os procedimentos usados para criar a
entity Start_AC97 para criar novo arquivo
VHDL para a entity AC97_Controller
ComL@b – Laboratório de Comunicações Digitais
ISE após criação de arquivos VHDL
ComL@b – Laboratório de Comunicações Digitais
Gerar Símbolos de Esquemático
Para cada entity:
- Criar símbolo de esquemático.
ComL@b – Laboratório de Comunicações Digitais
Criar nova fonte: esquemático (1/2)
aula11
ComL@b – Laboratório de Comunicações Digitais
Criar nova fonte: esquemático (2/2)
ComL@b – Laboratório de Comunicações Digitais
Editar Esquemático (1/2)
Símbolos gerados para as entidades
ac97_controller e start_ac97
ComL@b – Laboratório de Comunicações Digitais
Editar Esquemático (1/2)
ComL@b – Laboratório de Comunicações Digitais
Verificar esquemático
ComL@b – Laboratório de Comunicações Digitais
Hierarquia após edição do esquemático
ComL@b – Laboratório de Comunicações Digitais
User Constraints
Dê um duplo click em
Assign Package Pins
ComL@b – Laboratório de Comunicações Digitais
User Constraint: Xilinx PACE
AC97_BIT_CLOCK = F8
audio_reset_z = E6
led_0 = AC4
SYS_CLK = AJ15
ComL@b – Laboratório de Comunicações Digitais
Executar Design Flow
Design Flow pode ser executado
passo-a-passo no Process View.
ComL@b – Laboratório de Comunicações Digitais
Após execução do design flow
ComL@b – Laboratório de Comunicações Digitais
Finalização
„
Carregue o bitstream (arquivo .bit) que foi gerado
na FPGA.
„
Use o Chipscope para debugar o projeto em
hardware.
„
Use o arquivo cdc que foi gerado pelo SysGen na
pasta temp do projeto AC97_Controller para
configurar o Chipscope (menu file/import).
ComL@b – Laboratório de Comunicações Digitais
Experimento: Geração de componentes para
executar um teste simples no Codec AC97
„
Para o experimento, será verificada a execução das
seguintes tarefas:
…
1. Implementação dos módulos em System Generator.
…
2. Projeto completo no ISE.
…
3. Funcionamento do sistemas em hardware e debug
com Chipscope.

Documentos relacionados

Introdução ao System Generator - DECOM

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

Leia mais

Aula 12: Usando o codec de áudio AC97

Aula 12: Usando o codec de áudio AC97 SDATA_OUT na borda de subida do clock pelo controlador. - Dados são lidos na borda de descida do clock pelo chip AC97.

Leia mais

Anotações relatório 1 O código cedido pelo professor

Anotações relatório 1 O código cedido pelo professor -- Revision 0.01 - File Created -- Additional Comments: --------------------------------------------------------------------------------library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity base_tempo ...

Leia mais