24
Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC http://www.inf.pucrs.br/~gaph Xilinx ChipScope Pro Tutorial sobre o uso da Ferramenta de Depuração Intrachip de FPGAs da Xilinx Guilherme Montez Guindani Fernando Gehm Moraes Atualizada em 23/01/2009 (Ney Calazans) (Baseado em tutorial anterior elaborado por: Everton Alceu Carara)

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

Embed Size (px)

Citation preview

Page 1: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

Pontifícia Universidade Católica do Rio Grande do SulFaculdade de Informática

Programa de Pós-Graduação em Ciência da ComputaçãoPUCRS-FACIN-PPGCC

http://www.inf.pucrs.br/~gaph

Xilinx ChipScope Pro

Tutorial sobre o uso da Ferramenta de Depuração Intrachip de FPGAs da Xilinx

Guilherme Montez GuindaniFernando Gehm Moraes

Atualizada em 23/01/2009 (Ney Calazans)

(Baseado em tutorial anterior elaborado por: Everton Alceu Carara)

Page 2: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

2

http://www.inf.pucrs.br/~gaph

O que é o ChipScope Pro?

- Analisador de sinais internos a um FPGA- Funciona como um analisador lógico- É uma ótima ferramenta de depuração do projeto em HW- Utiliza as Block Rams (BRAMs) para armazenar amostragens- Possui duas partes principais:

- ICON (Integrated Controller): Realiza a comunicação com o a interface boundary scan do FPGA- ILA (Integrated Logic Analyzer): Controla o disparo (trigger) da captura dos dados e a captura dos dados em si

Page 3: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

3

http://www.inf.pucrs.br/~gaph

Visão Geral do Projeto

• PC executando a análise de um determinado HW, através da GUI do ChipScope

• Placa de prototipação conectada ao PC através de JTAG e de um cabo de prototipação

• Lógica do usuário em teste, já com os módulos de controle e captura do ChipScope associados ao projeto inicial

Page 4: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

4

http://www.inf.pucrs.br/~gaph

Antes de usar o ChipScope

- Crie um projeto no ISE normalmente

- Na aba de processos, clique com o botão direito na ferramenta de síntese lógica e entre no menu de propriedades

Page 5: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

5

http://www.inf.pucrs.br/~gaph

Antes de usar o ChipScope

- No menu de propriedades, selecione a opção para manter a hierarquia do projeto (Keep Hierarchy = Yes)- Esta ação evita que a ferramenta de síntese agrupe lógica de módulos diferentes (quando perde-se o nome original dos sinais)

Page 6: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

6

http://www.inf.pucrs.br/~gaph

Adicionando o módulo do ChipScope no projeto

- Clique em project, e depois em new source- Selecione a opção ChipScope Definition and Connection File, e dê um nome para este módulo (Instância do ChipScope)

Page 7: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

7

http://www.inf.pucrs.br/~gaph

Adicionando o módulo do ChipScope no projeto

- Selecione a entidade de mais alto nível hierárquico do projeto (top level entity), neste caso é top

Page 8: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

8

http://www.inf.pucrs.br/~gaph

Configurando o módulo do ChipScope

- Na aba de fontes (sources), dê um duplo clique no módulo do ChipScope recém-criado- Será exibida a janela de configuração do módulo do ChipScope contendo informações sobre o FPGA utilizado e a síntese realizada sem a configuração do ChipScope- Clique em Next

Page 9: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

9

http://www.inf.pucrs.br/~gaph

Configuração do ICON

- Nesta janela podem ser configuradas opções para o ICON- Na prática nada deve ser alterado aqui- Clique em Next

Page 10: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

10

http://www.inf.pucrs.br/~gaph

Configuração do ILA

- Nesta janela pode ser configuradas opções para o ILA- Primeiro selecione o número de portas trigger (sinais a serem monitorados pelo ChipScope)- A seguir selecione a largura de cada sinal em bits (1 a 256)

- Neste caso, quero monitorar apenas 1 sinal de 4 bits, logo o número de portas é 1 e a largura é 4- Clique em Next

Page 11: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

11

http://www.inf.pucrs.br/~gaph

Configuração do ILA - continuação

- Nesta janela pode ser configuradas opções de captura para o ILA- Primeiro selecione o tamanho do buffer de amostragem em Data Depth, isto irá definir o número de amostras que o ChipScope irá capturar

- A seguir selecione a borda do clock em que os dados serão amostrados em Sample On- Deixe marcado a opção Data Same As Trigger- Clique em Next

Page 12: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

12

http://www.inf.pucrs.br/~gaph

Configuração do ILA - continuação

- Nesta janela são realizadas as conexões entre o core do ChipScope (ILA) e os sinais do seu módulo- Enquanto todos os sinais não estiverem ligados as conexões permanecem em vermelho

- Selecione CLOCK PORT e depois clique em Modify Connections

Page 13: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

13

http://www.inf.pucrs.br/~gaph

Configuração do ILA - continuação

- Nesta janela selecione o clock utilizado no ILA.- Este clock somente pode ser do tipo BUFG (ou algo parecido, como BUFGP)- Selecione o clock e depoisclique em Make Connections

- O sinal de clock foi adicionado ao canal 0 (CH:0) do sinal de clock do ChipScope- Agora deverão ser conectados os sinais a serem monitorados no ChipScope- Troque para a aba Trigger/Data Signals

Page 14: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

14

http://www.inf.pucrs.br/~gaph

Configuração do ILA - continuação

- Agora serão conectados os sinais monitorados pelo ILA- Cada sinal adicionado no slide 10, tem uma aba TP associada. A estas abas serão associados os sinais do ILA com os sinais a serem monitorados

- Selecione os sinais a serem monitorados na lista, associe a um canal de uma das abas (sinais) e clique em Make Connections- Ao terminar de associar todos os sinais propostos no slide 10, clique em OK

Page 15: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

15

http://www.inf.pucrs.br/~gaph

Configuração do ILA - continuação

- Se todos os sinais estiverem associados, as conexões aparecem em preto- Para salvar asalterações, clique emReturn to ProjectNavigator

Page 16: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

16

http://www.inf.pucrs.br/~gaph

Executar a síntese física no ISE

- De volta ao ISE, podemos executar o fluxo normal para fazer o download do HW para o FPGA- A única alteração é que ao contrário do fluxo comum, que utiliza o IMPACT para fazer o download, utiliza-se o Analyze Design Using ChipScope- Pode-se dar um duplo clique nesteprocesso, que o ISE irá executar asíntese física e após terminado abriráautomaticamente o ambiente doChipScope Pro

Page 17: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

17

http://www.inf.pucrs.br/~gaph

ChipScope Pro Analyzer

- É o analisador lógico do ChipScope- Pode ser usado para fazer o download do bitstream para a FPGA- Para começar o download clique no ícone logo abaixo de File

Page 18: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

18

http://www.inf.pucrs.br/~gaph

ChipScope Pro Analyzer

- Após inicializada a seqüência do JTAG, os dispositivos presentes na cadeia serão exibidos- Clique em OK

Page 19: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

19

http://www.inf.pucrs.br/~gaph

ChipScope Pro Analyzer

- Com os dispositivos identificados, pode-se executar o download do bitstream para o FPGA- Clique com o botão direito no dispositivo, neste caso o XC3S200, e depois em Configure

Page 20: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

20

http://www.inf.pucrs.br/~gaph

ChipScope Pro Analyzer

- Clique em Select New File e adicione o arquivo do bitstream gerado pelo ISE- Clique em OK- O dispositivo será configurado e a seguir a GUI do ChipScope irá adicionar os sinais monitorados pelo ILA

Page 21: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

21

http://www.inf.pucrs.br/~gaph

ChipScope Pro Analyzer

- Repare que todos os sinais estão sem os nomes descritos no VHDL, este fato dificulta a visualização do monitoramento- Para carregar os nomes de sinais, clique em File Import. A seguir, adicione o arquivo do ChipScope (*.cdc), o que importa os nomes associados a estes sinais

Page 22: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

22

http://www.inf.pucrs.br/~gaph

ChipScope Pro Analyzer

- Veja que agora os sinais já estão com os nomes corretos, mas os barramentos estão com os sinais abertos (espalhados)- Para agrupar estes sinais, selecione todos os sinais que se deseja agrupar, e clique com botão direito em Add To Bus New Bus

Page 23: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

23

http://www.inf.pucrs.br/~gaph

ChipScope Pro Analyzer

- Com a GUI configurada, pode-se iniciar a análise. Primeiramente, deve-se setar o valor que irá disparar a captura dos dados- Na janela de Trigger Setup, no campo Value configura-se este valor- Neste caso o valor escolhido foi 00H que é o valor inicial. Se a janela de Trigger Setup não estiver presente, dê um duplo clique na opção Trigger Setup do dispositivo ILA doFPGA- Repare que o campo Radix estáconfigurado para HEX- Após preencher este campo, pode-se disparar o ChipScope- Para disparar o ChipScope bastaclicar no botão de play logo abaixodo View

Page 24: Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação PUCRS-FACIN-PPGCC gaph

24

http://www.inf.pucrs.br/~gaph

ChipScope Pro Analyzer

- Quando o valor do trigger for igual ao valor escolhido, os dados são armazenados em BRAM até o máximo definido no ISE- Ao completar o máximo de amostras ICON envia via JTAG estas informações coletadas, quesão visualizadas na GUI- Se os valores apresentadosno barramento pareceremincorretos pode-se tentarmudar a ordem dos bits nobarramento, clicando com

o botão direito nobarramento e escolhendo aopção Reverse Bus Order