Working with the FPGA Pin Mapper
A caixa de diálogo Pin Mapper do Altium Designer permite criar uma ligação entre um ficheiro de pinos externo (como um exportado a partir de ferramentas de FPGA ou Microcontrolador (MC)) e um componente esquemático, e depois comparar os sinais dos pinos entre esses dois domínios (FPGA e PCB).
Como resultado desta comparação de pinos, quaisquer alterações ou atualizações no ficheiro de pinos externo podem ser transferidas para o esquemático, ou os dados dos pinos do esquemático podem ser enviados de volta para o ficheiro de pinos. O principal objetivo da utilização do Pin Mapper é obter informação adicional sobre os pinos dos componentes a partir de ferramentas externas (particularmente FPGA e MC), para que estes dados possam ser usados para Pin Swapping na caixa de diálogo Configure Pin Swapping. Isto substitui a necessidade de transferir manualmente dados de pinos entre os dois domínios.
Atualmente, a funcionalidade Pin Mapping do Altium Designer suporta diretamente dois fornecedores de FPGA – Altera e Xilinx. A intenção é expandir esta lista de fornecedores no futuro. Também é suportado o próprio formato de ficheiro Pin Info da Altium, que pode ser usado como descrição de pinos FPGA/MC para quaisquer ferramentas FPGA de terceiros, ou para outros tipos de componentes.
Fluxo do Processo
-
Ficheiro de dados de pinos de origem a partir de ferramentas FPGA
-
Para o Altera Quartus® II v13.1:
-
Abra o design implementado no Quartus.
-
Selecione Assignments » Pin Planner.
-
Selecione File » Export e guarde o ficheiro
csvpara utilização no Altium Designer.
-
-
Para o Xilinx Vivado® 2017.4:
- Abra o design implementado no Vivado.
- Selecione File » Export » Export I/O Ports.
-
Na caixa de diálogo Export I/O Ports, especifique
csvcomo tipo de porta de E/S a gerar e clique em OK.
-
-
Aceda aos dados FPGA/MC a partir do ficheiro de pinos externo no Altium Designer:
-
A caixa de diálogo Pin Mapper contém as seguintes partes (ver etiquetas da imagem):
-
Mostra o nome do ficheiro e o caminho do ficheiro de pinos FPGA/MC de origem. A ligação é estabelecida através do explorador de ficheiros
-
A Tabela de Pinos, onde as alterações de atribuição de pinos de origem podem ser encontradas e aplicadas ao componente esquemático, ou no sentido inverso. Use a seta à direita do nome do cabeçalho de cada coluna para ordenar a coluna por ordem crescente/decrescente. Clique no ícone de filtro no cabeçalho da coluna para aceder a uma lista suspensa e filtrar o conteúdo da coluna.
-
A pré-visualização do Footprint, onde os pinos selecionados são realçados e os pinos podem ser apresentados por grupos usando a lista suspensa Preview mode. As opções incluem None, Bank Number, IO Pins e Diff Pair Pins.
-
O Part Selection do Componente, que filtra a tabela por parte. Isto também indica se uma parte está colocada no esquemático e se cada parte está sincronizada para corresponder aos dados do ficheiro externo (ver detalhes abaixo).
-
-
Escolha um ficheiro de pinos externo na caixa de diálogo Pin Mapper. Clique no botão
para procurar e selecionar um ficheiro de pinos numa unidade local. Apenas podem ser selecionados ficheiros de pinos temporários Xilinx ou Altera (*.csv). -
Dependendo da ação anterior, a caixa de diálogo Pin Mapper irá oferecer opções de resolução para cada pino:
-
(Sincronizado) – os nomes das nets dos pinos estão sincronizados, não são necessárias alterações.
-
(Atualizar Ficheiro de Pinos) – transfere o nome da net do esquemático para o ficheiro de pinos FPGA externo (que é atualizado). Os nomes das nets do Esquemático serão copiados para os nomes de Sinal no ficheiro de pinos FPGA; o ficheiro de origem csvé reescrito. -
(Atualizar Esquemático) – altera o nome da net no esquemático para corresponder ao nome de Sinal no ficheiro de pinos FPGA externo (o esquemático é atualizado). As etiquetas de net no Esquemático serão alteradas para corresponder aos nomes de Sinal FPGA de origem.
-
(Ignorar) – rejeita alterações, não serão efetuadas atualizações.
-
(Aviso) – existe uma diferença não crítica na correspondência do nome do pino entre o esquemático e o ficheiro externo (FPGA). Se desejar, selecione uma opção de atualização (ou Ignorar) no menu suspenso.
-
(Erro Fatal) – existe uma diferença crítica na correspondência do nome do pino entre o esquemático e o ficheiro externo (FPGA). Note que este Erro Fatal tem de ser resolvido antes de efetuar quaisquer atualizações.
-
-
Escolha a ação apropriada no menu suspenso do ícone para cada entrada (linha) na tabela e selecione Apply.
-
Quando a ação
é selecionada, os nomes das nets do Esquemático serão copiados para os nomes de Sinal no ficheiro de pinos FPGA – o ficheiro de pinos de origem csvé reescrito. -
Quando a ação
é selecionada, as etiquetas de net no Esquemático serão alteradas para corresponder aos nomes de Sinal FPGA de origem.
-
Note que o menu do botão direito para uma entrada da tabela oferece um conjunto de opções de seleção em massa para atualizações de nomes de pinos.
Funcionalidades Adicionais
-
A opção Part Selection da caixa de diálogo permite filtrar os pinos listados na tabela de mapeamento pela Parte selecionada. Também pode verificar Partes que não estão colocadas no esquemático e Partes que não estão sincronizadas com o ficheiro FPGA externo (indicador vermelho).
-
Se existirem várias partes de componente ligadas ao ficheiro externo, a caixa de diálogo Pin Mapper permite alternar entre opções para este tipo de componente.
-
As tabelas em grelha incluem os seguintes comandos de menu do botão direito:
- Update All pins in Schematic - escolher atualizar todos os nomes de pinos no esquemático.
- Update All pins in Pin File - escolher atualizar todos os nomes de pinos no ficheiro de pinos.
- Ignore for All pins - escolher ignorar para todos os pinos.
- Update Selected pins in Schematic - escolher atualizar os nomes dos pinos selecionados no esquemático.
- Update Selected pins in Pin File - escolher atualizar os nomes dos pinos selecionados no ficheiro de pinos.
- Ignore for Selected pins - escolher ignorar para os pinos selecionados.
- Default for All pins - escolher usar a predefinição para todos os pinos.
- Default for Selected pins - escolher usar a predefinição para os pinos selecionados.
- Se existirem pinos aos quais estão atribuídos nomes de net diferentes nos lados do Esquemático e do FPGA, então isto pode ser verificado num ERC, onde são apresentados como violação no painel Messages (ainda não implementado).
- Se pretender iniciar o fluxo de trabalho com um ficheiro de pinos FPGA a partir do lado do esquemático, então pode ser gerado um ficheiro Altium Pin Report – selecione o botão Export na caixa de diálogo Pin Mapper.
- Atualmente, apenas podem ser copiados parâmetros gerais de pinos; contudo, está previsto suporte para dados mais avançados, como o grupo de troca (Swap group), etc. Neste momento, o Swapping tem de ser definido manualmente através da importação de alterações a partir dos dados do ficheiro de pinos FPGA.
- Uma vez que o ficheiro de pinos externo está ligado a um componente, é criado um novo modelo de componente (Pin Info) e mostrado na lista Models no painel Properties do Componente. No futuro, isto proporcionará uma forma simples de adicionar dados de pinos FPGA a um componente de Biblioteca. A secção Models do painel também permite remover ou modificar o Pin Info.
-
Quando um componente tem o modelo Pin Info, estarão disponíveis parâmetros e opções adicionais de pinos para esse componente na caixa de diálogo Configure Pin Swapping.

