240 likes | 395 Views
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). O que é o ChipScope Pro?.
E N D
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)
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
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
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
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)
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)
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
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
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
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
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
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
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
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
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
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
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
ChipScope Pro Analyzer • Após inicializada a seqüência do JTAG, os dispositivos presentes na cadeia serão exibidos • Clique em OK
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
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
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
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
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
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