250 likes | 404 Views
Xilinx ChipScope Pro Tutorial sobre o uso da ferramenta de depuração de FPGAs da Xilinx Guilherme Montez Guindani Fernando Ghem Moraes Baseado no tutorial de ChipScope elaborado por: Alceu Luis Carara. O que é o ChipScope Pro?. - Analisador de sinais internos a um FPGA
E N D
Xilinx ChipScope Pro Tutorial sobre o uso da ferramenta de depuração de FPGAs da Xilinx Guilherme Montez Guindani Fernando Ghem Moraes Baseado no tutorial de ChipScope elaborado por: Alceu Luis 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 interfaces principais: • ICON (Integrated Controller): Realiza a interface com o boundary scan • ILA (Integrated Logic Analyzer): Realiza o disparo (trigger) e a captura dos dados
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 (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 relacionada ao ChipScope, 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 pode ser configuradas opções para o ICON • Na prática nada deve ser alterado nesta janela • 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 ex: BUFGP). • Selecione o clock e depois clique 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-se uma aba TP associado, nestas abas serão associados os sinais do ILA com os sinais a serem monitorados. • Selecione 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 as alterações, clique em Return to Project Navigator.
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 realizar um duplo clique neste processo, que o ISE irá executar a síntese física e após terminado abrirá automaticamente o ambiente do ChipScope Pro.
ChipScope Pro Analyser • É o analisador lógico do ChipScope. • Pode ser usado para fazer o download do bitsrteam para a FPGA. • Para começar o download clique no ícone logo abaixo de File.
ChipScope Pro Analyser • Após inicializado a seqüência do JTAG, os dispositivos presentes na cadeia irão ser exibidos. • Clique em OK.
ChipScope Pro Analyser • 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 Analyser • 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 Analyser • Repare que todos os sinais estão sem os nomes descritos no VHDL, este fato dificulta a visualização do monitoramento. • Para arrumar os nomes no ChipScope, clique em File -> Import. A seguir adicione o arquivo do ChipScope (*.cdc) para importar os nomes associados a estes sinais.
ChipScope Pro Analyser • 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 Analyser • 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. • Repare que o campo Radix está configurado para HEX. • Após preencher este campo, pode-se disparar • o ChipScope. • Para disparar o ChipScope basta clicar no • botão de play logo abaixo do View.
ChipScope Pro Analyser • 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 o core envia via JTAG estas informações que são visualizadas no GUI. • Se os valores apresentados no • barramento estiverem muito ruins • pode-se tentar mudar a ordem dos • bits no barramento, clicando com • o botão direito no barramento e • escolhendo Reverse Bus Order.