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

21
Placa de prototipação H.O.T. II Leandro Augusto de Oliveira [email protected] [email protected]

description

Placa de prototipação H.O.T. II. Leandro Augusto de Oliveira. [email protected]. 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. Vantagens: - PowerPoint PPT Presentation

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

Page 1: Placa de prototipação H.O.T. II

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

Leandro Augusto de Oliveira [email protected]@inf.pucrs.br

Page 2: Placa de prototipação H.O.T. II

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

Page 3: Placa de prototipação H.O.T. II

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

Page 4: Placa de prototipação H.O.T. II

4

• API de software– 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

Introdução

Page 5: Placa de prototipação H.O.T. II

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

Page 6: Placa de prototipação H.O.T. II

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

Page 7: Placa de prototipação H.O.T. II

7

Arquitetura da H.O.T. II

Page 8: Placa de prototipação H.O.T. II

8

Componentes da H.O.T. II• Flash

– Armazena configurações

• Bancos de memória– Dois bancos

independentes de 2MB

• Configuration manager

• Cache– Armazena configurações

FPGA - capacidade de 62k gates

Page 9: Placa de prototipação H.O.T. II

9

Modelo de execução hardware/software

CORE P C I

BACK-END

FPGAProcessador

PC

Page 10: Placa de prototipação H.O.T. II

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

Page 11: Placa de prototipação H.O.T. II

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)

Page 12: Placa de prototipação H.O.T. II

12

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

Page 13: Placa de prototipação 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

Page 14: Placa de prototipação H.O.T. II

14

Fluxo de projeto de hardwarePROJETO USER_APPcopiar 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

user_app.edf

PROJETO HDL_SHELLusar o projeto

pci_core_t.edn UCF - pinagem e timing

user_app.edfcopiar

SÍNTESE FÍSICA

bitstream

Page 15: Placa de prototipação H.O.T. II

15 entity user_app is port ( -- Data in and outD_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 signalsSLV_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;

Page 16: Placa de prototipação H.O.T. II

16

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

Aplicação TestCommander

Page 17: Placa de prototipação H.O.T. II

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

Page 18: Placa de prototipação H.O.T. II

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

Page 19: Placa de prototipação H.O.T. II

19

EXEMPLO DE VHDL

• VHDL acesso ao bancos de memória

• ESQUEMÁTICO DOHDLSHELL

Page 20: Placa de prototipação H.O.T. II

20

EXEMPLO DE C++

• Exibir o código C++

• Necessita do Visual C++ 6.0

Page 21: Placa de prototipação H.O.T. II

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 11-17 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