28
Usando ChipScope Alexandre Amory [email protected]

Usando ChipScope Alexandre Amory [email protected]

Embed Size (px)

Citation preview

Page 1: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

Usando ChipScope

Alexandre Amory

[email protected]

Page 2: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

2

SUMÁRIO

• Oque é ?, Benefícios e Características• Antes de Usar o ChipScope• Code Generator• Code Inserter• Analyser• CookBook

Page 3: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

3

O que é ?

• Analisa sinais internos de um FPGA;• Funciona como um analisador lógico tornando

uma ótima ferramenta de depuração;• Usa Blocos de SelectRam para armazenar

amostragens (não funciona com XCXXXX);• ICON - Integrated CONtroller: interface com

boundary scan;• ILA - Integrated Logic Analyzer: provê trigger e

captura dos dados;

Page 4: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

4

Visão Geral

Page 5: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

5

Benefícios

• Diminui tempo para validação;• Rápida e fácil de usar;• Você gasta em torno de 15 minutos para começar

a depurar a lógica (inserção do core e download). Quanto tempo gastaria para configurar o analisador lógico (config + cabeamento) ?;

• cores gastam de 1.7% a 5.8% (para cada ILA) e 1.1% a 2.8% (para o ICON) de slices de uma virtex 300;

Page 6: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

6

Características

• Taxa de captura de até 155Mhz;• buffer de amostragem de tamanho variável (256 a

4096)• múltiplos triggers, uso de trigger externo e de

fácil configuração;• até 15 ILAs;• 2 design flows:

– com vhdl - manual;– com edif - automática;

Page 7: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

7

Fluxo de Projeto

VHDL EDIF

Page 8: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

8

SUMÁRIO

• Oque é ?, Benefícios e Características• Antes de Usar o ChipScope• Code Generator• Code Inserter• Analyser• CookBook

Page 9: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

9

Antes de Usar o ChipScope

• Crie um projeto no Foundation normalmente;• Execute a síntese lógica;• copie os arquivos xyz.edf e xyz.ucf para um outro

diretório;• crie um subdir neste diretório recém criado;

c:\minha_logica\out

• Começaremos agora a usar o ChipScope ...

Page 10: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

10

SUMÁRIO

• Oque é ?, Benefícios e Características• Antes de Usar o ChipScope• Code Generator• Code Inserter• Analyser• CookBook

Page 11: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

11

Code Generator - ICON

• Gera os cores ICON e ILA em formato EDIF (*.edn);

PASSOS:• Gerando o ICON:

– Selecione ICON;– Next– selecione o diretório de saída do

arquivo (mesmo dir onde está o xyz.edf e xyz.ucf);

– 3 selecione o nro de portas de controle (nro de ILAs);

– Normalmente não se seta nenhuma das opções

– Next

Page 12: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

12

Gerando ICON

– selecione vhdl e a ferramenta de síntese;

– não gere arquivos de exemplo (não serve para nada);

– Gerado o ICON (icon.edn).

Page 13: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

13

Code Generator - ILAs

• Gerando o ILA:– selecione ILA;– Next– selecione o diretório de

saída do arquivo (mesmo dir onde está o xyz.edf e xyz.ucf);

– selecione nome curto (mais legível);

– selecione o modo de trigger (geralmente será “same as data”) e a largura da palavra a ser monitorada;

Page 14: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

14

Gerando ILA

– selecione o tamanho do buffer de amostragem (256 a 4096). Esse dado define o comprimento da sua monitoração no “analyzer”;

– Selecione o modo de “matching” (simples e extendido);

– Next

– selecione vhdl e a ferramenta de síntese;

– não gere arquivos de exemplo (não serve para nada);

– Gerado o ILA (ila.edn). • Como a dois slides atrás

Page 15: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

15

SUMÁRIO

• Oque é ?, Benefícios e Características• Antes de Usar o ChipScope• Code Generator• Code Inserter• Analyser• CookBook

Page 16: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

16

Core Inserter

• Concatena a descrição do usuário (xyz.edf) com os cores ICON e ILAs (*.edn);

PASSOS• selecione o diretório onde

está o xyz.edf, xyz.ucf, icon.edn e ila.edn ;

• selecione o diretório onde será criado os arquivos de saída (xyz_ila.ngo e xyz_ila.ucf) ;c:\minha_logica\OUT

• Next

Page 17: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

17

Core Inserter

• nos parâmetros do ICON geralmente não precisa setar nada. Passe adiante.

• Next

Page 18: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

18

Core Inserter

• Nos parâmetros do ILA você deve setar:– informações do trigger

(geralmente se usa “same as data”);

– largura da palavra monitorada;

– tamanho do buffer de amostragem (256 a 4096);

– parâmetros de “matching” (simples/extendido)

• conectando o core a sua descrição:– neste ponto ocorre

efetivamente a ligação do core ILA com a sua descrição;

Page 19: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

19

Integrando sua lógica com ILA

• Dê dois clicks em CH0• Na tela que abrirá selecione

o sinal de clock• Siga esses passos para os

sinais restantes

Page 20: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

20

Core Inserter

OBS.:

• para concatenar a descrição do usuário com ILA NÃO SE PODE USAR PINOS!!!!

• Ex.: se o nome do sinal de clock da descrição do usuário chama-se clk, não selecione da lista de sinais o sinal clk, pois ele é um pino. Você deve selecionar o sinal interno correspondente ao clk. (geralmente N_clk)

Page 21: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

21

Core Inserter

• A descrição do usuário está pronta para passar pela síntese física;

• Os dois arquivos importante para a próxima etapa são xyz_ila.ngo e xyz_ila.ucf;

• no menu tools click em design manager;• crie um novo projeto tendo como entrada o

xyz_ila.ngo e como UCF xyz_ila.ucf;• selecione a opção de readback e implemente o

projeto.• Pronto. Foi gerado o xyz_ila.bit. Faça download

com o JTAG Prog (com Xchecker) ou Hardware Debugger (com MultLinx).

Page 22: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

22

SUMÁRIO

• Oque é ?, Benefícios e Características• Antes de Usar o ChipScope• Code Generator• Code Inserter• Analyser• CookBook

Page 23: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

23

Analyzer

• É o analisador lógico do ChipScope;

• PASSOS• Selecione o modo de comunicação (serial

MultLinx, USB MultLinx e Parallel*);• click em trigger setup e selecione o trigger

do sinal;• click em run para fazer aquisição de dados;

• os passos 2 e 3 devem ser repetidos para cada ILA, uma vez que cada ILA tem sua própria janela do Analyzer;

Page 24: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

24

Selecionando cada ILA

• Para selecionar uma nova ILA, por exemplo ILA 1, click em Unit1 e assim por diante ...

Page 25: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

25

Analyzer - características básicas

• O valor do trigger será comparado para iniciar uma aquisição de dados;

• Os valores possíveis para trigger são:– X,0,1,R,F e B;

• Estados do Sample buffer:– armed, <value>, full, stopped;

• plot value -> aplicado somente a bus;• tokens - labels atribuídos a valores específicos

de um bus;

Page 26: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

26

Analisando Sinais

• Note que no instante 0, o valor do sinal monitorado é igual ao valor do trigger. Apartir deste instante, toda variação de x é gravado no buffer até que o mesmo esteja cheio. Neste caso o buffer tem 256 posições

Page 27: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

27

SUMÁRIO

• Oque é ?, Benefícios e Características• Antes de Usar o ChipScope• Code Generator• Code Inserter• Analyser• CookBook

Page 28: Usando ChipScope Alexandre Amory amory@inf.pucrs.br

28

CookBook

• Gere os arquivos da descrição do user (síntese lógica);

• Copie os arquivos *.edf e *.ucf para outro dir;

• gere os arquivos icon.edn e ila.edn com o core generator no dir anterior;

• concatene a descrição do user com o core ILA usando o core inserter, colocando os arquivos gerados em outro dir;

• não esqueça que não se pode usar pinos para concatena-los;

• use os arquivos *_ila.ngo e *_ila.ucf como base de um novo projeto do design manager. Sete o readback, gere o .bit e dê o download;

• no Analyzer sete o modo de comunicação e o trigger para cada ILA;