A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Placa de prototipação H.O.T. II

Apresentações semelhantes


Apresentação em tema: "Placa de prototipação H.O.T. II"— Transcrição da apresentação:

1 Placa de prototipação H.O.T. II
Leandro Augusto de Oliveira

2 SUMÁRIO 1. INTRODUÇÃO 2. ARQUITETURA DA H.O.T. II
3. INTERFACE DE SOFTWARE 4. INTERFACE DE HARDWARE 5. FLUXO DE PROJETO - ESTUDO DE CASO

3 Introdução Vantagens:
Execução da parte do sistema que é crítica em termos de desempenho é implementada em hardware (FPGA) Parte não crítica, ou que requer uma maior quantidade de entrada/saída, é implementada em software (processador do PC) O maior gargalo deste ambiente de prototipação é o tempo gasto para transmitir dados entre o processador e o dispositivo, o qual pode ser superior ao ganho de desempenho estimado Para isto deve-se determinar métricas que permitam avaliar quantitativamente este custo (trabalho futuro - abril 2001).

4 Introdução API de software API de hardware Múltiplos contextos:
biblioteca de objetos (e métodos) que possibilita a comunicação com a placa HOT II permite reconfigurar a placa e comunicar-se com o circuito implementado na mesma API de hardware Core PCI “Xilinx PCI32 LogiCORE” realiza a comunicação da aplicação back-end com o barramento PC Múltiplos contextos: Flash para armazenar até 3 configurações

5 Características A comunicação entre a parte hardware e a parte software é feita pelo barramento PCI (32 bits 33 MHz, ou seja, até 132 MB/seg) A comunicação entre a parte software e o barramento PCI é provida por um driver de comunicação A comunicação entre a parte hardware e o barramento PCI é feito por um módulo de hardware pré-testado, core, disponibilizado juntamente com a plataforma de prototipação

6 SUMÁRIO 1. INTRODUÇÃO 2. ARQUITETURA DA H.O.T. II
3. INTERFACE DE SOFTWARE 4. INTERFACE DE HARDWARE 5. FLUXO DE PROJETO - ESTUDO DE CASO

7 Arquitetura da H.O.T. II

8 Componentes da H.O.T. II Flash Bancos de memória Configuration manager
Armazena configurações Bancos de memória Dois bancos independentes de 2MB Configuration manager Cache Armazena configurações FPGA - capacidade de 62k gates

9 Modelo de execução hardware/software
PC FPGA Processador CORE P C I BACK-END

10 SUMÁRIO 1. INTRODUÇÃO 2. ARQUITETURA DA H.O.T. II
3. INTERFACE DE SOFTWARE 4. INTERFACE DE HARDWARE 5. FLUXO DE PROJETO - ESTUDO DE CASO

11 Interface de software com a H.O.T. II
Principais métodos do objeto Hot2 : Reset(int n=0) LoadConfig(char* fileName, s_HOTConfig* config) LoadCache(s_HOTConfig* config, word location) RtrCache(word n=0) Write(word addr, word data) Write(word addr, word* data, int dataSize) Read(word addr) Read(word addr, word* data, int dataSize)

12 Endereços na placa H.O.T. II

13 SUMÁRIO 1. INTRODUÇÃO 2. ARQUITETURA DA H.O.T. II
3. INTERFACE DE SOFTWARE 4. INTERFACE DE HARDWARE 5. FLUXO DE PROJETO - ESTUDO DE CASO

14 Fluxo de projeto de hardware
PROJETO USER_APP copiar o projeto Editar o VHDL inserindo a aplicação do usuário Realizar a síntese lógica do projeto, sem inserir pads, o resultado é um arquivo edif - user_app.edf PROJETO HDL_SHELL usar o projeto user_app.edf copiar user_app.edf pci_core_t.edn UCF - pinagem e timing SÍNTESE FÍSICA bitstream

15 entity user_app is port ( -- Data in and out D_IN : in std_logic_vector(31 downto 0); PCI_ADR : in std_logic_vector(31 downto 0); D0_OUT : out std_logic_vector(31 downto 0); D1_OUT : out std_logic_vector(31 downto 0); D2_OUT : out std_logic_vector(31 downto 0); D3_OUT : out std_logic_vector(31 downto 0); -- Memory Bank A MAD_IN : in std_logic_vector(31 downto 0); MAD_OUT : out std_logic_vector(31 downto 0); MA_ADR : out std_logic_vector(23 downto 0); MA_WE, MA_OE, MA_ON : out std_logic; MA_BSY : in std_logic; -- Control signals SLV_DCD : in std_logic_vector(15 downto 0); BASE_HIT0 : in std_logic; S_DATA : in std_logic; SRC_EN : in std_logic; S_WRDN : in std_logic; S_DATA_VLD : in std_logic; -- Configuration signals that need to be set INTONBOOT : out std_logic; PRT : out std_logic_vector(3 downto 0); USER_INT : out std_logic; USER_LED : out std_logic; URDY : out std_logic; HOLDOFF : out std_logic; FCLK : in std_logic; PCI_CLK : in std_logic ); end user_app;

16 Aplicação TestCommander
Testar o circuito implementado na placa de prototipação Testar o circuito de maneira interativa (não precisa recompilar código C++ cada vez que for testar alguma coisa).

17 SUMÁRIO 1. INTRODUÇÃO 2. ARQUITETURA DA H.O.T. II
3. INTERFACE DE SOFTWARE 4. INTERFACE DE HARDWARE 5. FLUXO DE PROJETO - ESTUDO DE CASO

18 Fluxo de projeto hw/sw com a H.O.T. II
PASSO 1 realizar o fluxo de projeto de hardware PASSO 2 transformar o bitstream em “.hot” -> winmakehot PASSO 3 editar o programa C++ incluir no programa o “.hot” e bibliotecas PASSO 4 compila executa

19 EXEMPLO DE VHDL VHDL acesso ao bancos de memória
ESQUEMÁTICO DO HDLSHELL VHDL acesso ao bancos de memória

20 EXEMPLO DE C++ Exibir o código C++ Necessita do Visual C++ 6.0

21 INSTALAÇÃO 1 - ter instalado o Visual C - 6.0
2 - instalar a placa e verificar se os dois leds de alimentação acendem (3 e 5 volts) 3 - rodar o ver2_2.exe para instalar o software ($gaph/Documents...) 4 - instalar o driver usando a nova versão disponível no arquivo NT4.zip (pp 9-10 do user guide Introduction and Installation) 5 - com o Test Commander verificar o funcionamento (pp do mesmo manual) 6 - fazer upgrade da flash (boot flash) - pci_netlist_...21.zip . passwd: 10DEC99 . depois de descompactar rodar o update22 7 - fazer a atualização do core hwif.zip


Carregar ppt "Placa de prototipação H.O.T. II"

Apresentações semelhantes


Anúncios Google