Exemplo de design de memória AXI demo

Recomendado para:

  • Dispositivo: desconhecido

  • Quartus®: v13.0

author-image

Por

Este exemplo de design demonstra uma interface escrava AMBA* AXI*-3 em um componente de memória personalizada Verilog simples para sistemas Qsys. Você pode usar este exemplo como base para suas próprias interfaces de escravos AXI personalizadas. O componente também inclui uma interface opcional Avalon® streaming (Avalon-ST) e uma interface Avalon® Memory-Mapped (Avalon-MM), demonstrando como vários padrões de interface podem ser usados em um componente.

O Manual Quartus® II usa este exemplo para ilustrar o processo de embalagem de um componente de propriedade intelectual (IP) com o Editor de componentes e os comandos Tcl de hardware personalizados. Você pode usar os arquivos HDL neste exemplo para ajudá-lo a aprender a usar o Editor de componentes para criar seu próprio arquivo de hardware simples Tcl (_hw.tcl), conforme descrito no capítulo Criando Componentes Qsys (PDF). Você também pode se referir ao arquivo _hw.tcl incluído para ver usos avançados de comandos Tcl de hardware, incluindo parâmetros derivados, uma chamada de validação e uma chamada de retorno de elaboração para personalizar a INTERFACE de parametrização em Qsys e apresentar interfaces como opcionais. Para obter detalhes sobre os comandos Tcl de hardware, consulte o capítulo referência de interface de componente Tcl (PDF).

Para obter mais informações sobre o uso de Qsys para criar um sistema que inclua componentes personalizados, consulte o capítulo Criar um sistema com Qsys (PDF) no Manual do Quartus II.

Usando este exemplo de projeto

Baixe o arquivo demo_axi3_memory.zip e extraia o conteúdo. Este exemplo de projeto requer o Altera® Conjunto de design completo (ACDS) v13.0 ou mais recente.

O arquivo ZIP inclui os seguintes arquivos de componentes IP no subdiretório /ip:

  • Os arquivos de design demo_axi_memory.sv e single_clock_ram.sv

  • O arquivo Tcl de hardware personalizado demo_axi_memory_hw.tcl para encapsular o componente para Qsys
  • Um arquivo do pacote SystemVerilog usado para gerar mensagens na saída de simulação, /verification_lib/verbosity_pkg.sv (que também pode ser encontrado no diretório de instalação de software Quartus II como /ip/altera/altera/sopc_builder_ip/verification/lib/verbosity_pkg.sv)

Para usar este componente em seu próprio sistema Qsys, copie o subdiretório /ip do arquivo ZIP extraído para o diretório do projeto Quartus II. Quando você cria ou abre um sistema Qsys no projeto, Qsys detecta o componente IP no subdiretório /ip e adiciona o componente à lista na seção Projeto da Biblioteca,na categoria Controladores de Memória e Memória/On-Chip.

O arquivo ZIP contém também os seguintes arquivos para simular o componente independente, no subdiretório /ip/simulação:

  • Um arquivo testbench tb_mem.sv
  • Um script run_sim.tcl para realizar uma simulação em Gráficos Mentor® ModelSim* com um arquivo mem.do para exibir formas de onda mostrando a operação do componente

Para executar uma simulação no ModelSim, defina seu diretório de trabalho no subdiretório /ip/simulation do arquivo ZIP extraído. Digite a fonte run_sim.tcl.

Além disso, o arquivo ZIP contém os seguintes arquivos de software Quartus II:

  • Um teste simples do sistema Qsys test.qsys para ilustrar a instatização do componente em um sistema Qsys
  • Um arquivo de projeto de software Quartus II falso para que você possa gerar e compilar opcionalmente o sistema Qsys de teste: test.qpf, test.qsf, test.sdc

Para visualizar o componente instaurou como parte do sistema Qsys de teste, abra o arquivo de projeto test.qpf no software Quartus II e abra o arquivo test.qsys em Qsys. Clique duas vezes no componente na coluna Nome ou Descrição da guia Conteúdo do Sistema (ou clique com o botão direito no componente e escolha Editar)para visualizar o editor de parâmetros.

O uso deste design é regido e sujeito aos termos e condições do Contrato de licença de exemplo de projeto intel®Design Example .

Detalhes do projeto

O componente Qsys de exemplo inclui as seguintes interfaces:

Interface de escravo AXI-3

A interface de escravo AXI é uma interface mapeada por memória para um bloco de memória no chip. Esta interface destina-se a ser controlada por uma interface mestre AXI ou Avalon MM, que pode gravar e ler a partir do bloco de memória. Os parâmetros especificam as larguras do sinal de ID AXI, a largura do endereço escravo e a largura dos dados.

Avalon-ST Interface

Ao instautar este componente em Qsys, você pode optar por habilitar ou desabilitar a interface de origem Avalon-ST opcional. Esta interface foi inspirada em aplicações de telefonia, nas quais os tons (DTMF, ocupado, tom de discagem, ringback, etc.) são todos armazenados como fluxos repetidos de bytes que podem ser comutado conforme necessário para uma porta específica. A porta Avalon-ST fornece um desses fluxos, que é definido por um endereço inicial, um endereço de parada e os dados armazenados na RAM entre esses dois endereços, inclusive. As palavras são saídas em ordem desde o endereço inicial até o endereço de parada; cada palavra saídas MSB primeiro. Esta versão demo assume que o endereço de parada seja maior do que o endereço inicial.

Por exemplo, considere o seguinte conteúdo de memória:
endereço inicial: 0xbeef_0742
0xdace_32f7
endereço de parada: 0xb0de_13ef
O fluxo de byte resultante seria: be-ef-07-42-da-ce-32-f7-b0-de-13-ef-be-ef-07 ...

interface CSR Avalon MM

A interface Avalon-MM é uma interface simples de controle e registro de status (CSR), para controlar a porta de transmissão descrita acima. Esta interface é necessária apenas quando a interface Avalon-ST está habilitada e é desativada quando a interface Avalon-ST está desabilitada. Os parâmetros especificam a largura Avalon® endereço escravo e a largura dos dados.

Os registros de controle estão em uma faixa de endereço separada da faixa de endereço da memória, e seu endereço básico pode ser atribuído em qualquer lugar conveniente no mapa de memória do sistema. A tabela a seguir lista a finalidade de cada registro de controle:

Editor de parâmetros Qsys

A captura de tela a seguir mostra a interface do editor de parâmetros para o componente Demo AXI Memory em Qsys.

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.