UNIVERSIDADE FEDERAL DE ALAGOAS
ANANERY DOS SANTOS SILVA
XILINX
SOMADOR /SUBTRATOR
Iniciando o software XILINX ISE 1.Como criar um novo projeto
Comece o ISE Project Navigator, chamado ISE em sistemas Linux. Clique no menu Arquivo e clique em New Project. A new window entitled ``New Project Wizard'' appears. The state of affairs is shown in Figure 1 below. Uma nova janela intitulada `` New Project Wizard''aparece. A situação é mostrado na figura 1 abaixo.
Figura 1: janela Project Navigator com janela pop-up para Novo Projecto
Selecione um diretório para o local do projeto na janela Project Wizard Novo. Em seguida, no campo Nome do projeto, `` componente tipo.''Observe que o nome do projeto é adicionado automaticamente nos o caminho do diretório. Finalmente, selecione Fonte Tipo `` Schematic '', e clique em Avançar. O Assistente de Projeto muda para o dispositivo ``''Propriedades janela. Select Virtex4 família do dispositivo e XC4VFX20
Figura 2: Project Navigator janela com janela pop-up para Device Properties.
Clique em Avançar um par de vezes, e em Concluir para sair do New Project Wizard. Agora, a hierarquia do projeto é gerado e é exibido nas fontes de `` janela''parte no canto superior esquerdo da janela do Project Navigator mostrado na Figura 3 . Ele contém o componente `` diretório'', e `` a entrada xc4vf ...''. Note-se que um projeto não é mais que uma coleção de arquivos no diretório que você escolheu no Projeto
de Localização Figura 1 . Você pode percorrer o diretório, selecionando o item Abrir projeto no menu Arquivo do Project Navigator.
Figura 3: janela Project Navigator com o projeto componente novo. Agora estamos prontos para criar um esquema para o nosso meio-somador.
2 Editor esquemático: Como criar um esquema
Nos processos ``''janela do Project Navigator, cf. Figura 3 duplos, clique na entrada intitulada Criar Nova Fonte. (Alternativamente, puxar para baixo o menu Project e clique em Nova Fonte.) Selecione
Schematic tipo de fonte e entra em Arquivo halfadder `` nome'', conforme mostrado na Figura 4 abaixo.
Figura 4: Project Navigator, com janela para Source Select Type. Clique em Avançar e em Concluir. A janela Project Navigator mostra agora o `` design''Resumo do Editor esquemático, ver Figura 5 . Para alternar para a área de desenho esquemático do Editor, clique na guia halfadder.sch na parte inferior do espaço de trabalho `` janela'' . Mais tarde no processo de design, clicando no nome do arquivo que no Project Manager iniciará automaticamente o editor de esquemas.
Figura 5: janela Project Navigator após o lançamento do editor esquemático.
Note-se a ação de ter lançado o editor esquemático é registrada na parte transcrito na parte inferior da janela Project Navigator.
O desenho do meio-somador que estamos prestes a gerar é mostrado na janela Schematic Editor de Figura 6 .
Figura 6: Esquema Editor janela com uma meia-adder esquema.
Um esquema é gerado através da inserção de portas de entrada e saída e almofadas /. As entradas e saídas das portas e as almofadas são conectados por meio de fios. Símbolos padrão, como o inv''`` inversor, o e-gate `` e2'' e ou porta-OR2 ``''pode ser encontrado no Symbol''Browser ``. O símbolo do navegador é aberto, puxando para baixo o menu
Adicionar e selecionando Symbol. Alternativamente, a barra horizontal oferece um botão que mostra um símbolo de porta acima de um resistor. `` O símbolo do navegador''aparece à esquerda do editor de
esquemático. Ajuste o tamanho da''Categorias `` e ``''símbolos partes da janela. Um despejo de tela do Navegador do Projecto com o Símbolo Browser é mostrado na Figura 7 abaixo.
Figura 7: Symbol Browser (esquerda) e Schematic Editor (à direita)
O navegador organiza símbolo símbolos por categoria. Logic
categoria e seleccione a lista de portas combinações na lista de símbolos. De acordo com a convenção de nomeação no navegador, símbolo portas são indicadas por uma espécie (de) nome descritivo, como `` e''ou `` ou''. A maioria dos nomes terminam com um número, geralmente descrevendo o número de entradas (fan-in) do portão. Por exemplo, uma porta AND com duas entradas e uma saída é chamado ` «e2''. Analogamente, o nome de um ou portão com duas entradas e uma saída é `` OR2''. Gates com uma única entrada não tem o número de entradas anexadas ao nome, como por exemplo, a inversor, que é simplesmente chamado''inv ``. Você pode inserir um portão na área de desenho esquemático do Editor pela esquerda, clicando sobre o nome na lista de símbolos, e movendo o cursor na área de desenho. O símbolo
para o portão aparece ligado ao cursor. Movendo o mouse arrasta o portão do outro lado da área de desenho. botão esquerdo do mouse do mouse na área de desenho faz com que o símbolo do portão para ser inserido na posição atual do mouse. Este processo pode ser repetido até que todas as portas estão posicionada aproximadamente onde são
destinados a acabar. Figura 8 mostra as portas caiu para o meio-somador.
Figura 8: Esquema Editor janela com as portas para meia-adder Você pode mover as portas ao redor, selecionando-as com um clique esquerdo e arrastando-os em toda a área de desenho. Soltar o botão esquerdo do rato interrompe a porta na posição actual do rato. Muitas vezes, é conveniente alterar o tamanho da área de desenho de zoom . Na Figura 8 temos ampliado na área de desenho (através do menu
View) para ampliar os símbolos. A grade será exibida automaticamente, se você ampliar bastante. snap à grade de símbolos, o que simplifica o alinhamento.
O próximo passo é o fio do circuito. Para entrar no `` Desenhar
Wires''modo, puxar para baixo o menu Adicionar e selecione o item Wire.
Alternativamente, há também um `` Adicionar fio''botão na barra
horizontal superior área de desenho. Então, clique com o botão esquerdo para definir uma extremidade do fio, segure o botão esquerdo do mouse,
e liberá-lo ou clique com o botão à esquerda novamente na outra extremidade. O fio é automaticamente encaminhado em Manhattan estilo. Insira todas as ligações como mostrado na Figura 9 . Pode deixar o `` Desenhar Wires''modo de bater o botão ESC do seu teclado.
Figura 9: Esquema Editor janela após a adição de fios .
O último passo é adicionar a entrada e saída almofadas / para a nossa colecção de portas. Puxe para baixo o menu e selecione Adicionar / S Marker. Em seguida, clique nas extremidades de flutuação dos fios desligados. A cada clique, um símbolo pad aparece. Nós ficam com a determinação da direção, de entrada ou de saída, bem como o nome de
cada um dos pads. Dê um duplo clique sobre uma almofada e uma janela de Atributos Net aparece. Atribuir os nomes A e B para as almofadas de entrada e SUM e levar a a saída de blocos, como mostrado na Figura 6 acima para completar o meio-somador esquemático. Salve o projeto, selecionando Salvar no menu Arquivo.
3 Simulador: Como simular um circuito
Configure o simulador, selecionando Simulação em Behaviorial as
fontes de pull-down menu das Fontes guia do Project Navigator, cf. Figura 10.
Figura 10: Preparação para a Simulação do Comportamento.
Em seguida, vamos criar um testbench usar o gerador de forma de onda. Clique no menu Project Source e selecione Novo. Select testbench Waveform como fonte e digite o nome do arquivo''halfadder_tb ``, cf.
Figura 4 . Clique em Avançar duas vezes, e em Concluir para entrar
Inicial Calendário e Relógio `` Wizard. Alterar os parâmetros padrão para os indicados no Figura 11 abaixo.
Figura 11: Assistente de calendário inicial e do Relógio.
Após clicar em Concluir, o Navegador do Projeto muda para o Editor de onda na janela mostrada na Figura 12 .
Figura 12: Waveform Editor janela do Simulator Comportamental. Dois passos são necessários para produzir uma simulação do comportamento do nosso circuito somador-metade:
1.Definir os sinais de entrada para estimular o circuito.
2. Executar a simulação para produzir o tempo formas de onda para os sinais de entrada escolhido.
Nós examinamos cada um dos três passos de cada vez. 3,1 Estimuladores Definição
Sinais de entrada simples, chamado estimuladores assim, pode ser definida facilmente através do editor de forma de onda. Queremos
entradas A e B do circuito somador-metade. No Editor de onda, se você clique com o botão esquerdo nas áreas de cor associada com as fatias de tempo dos sinais de entrada A e B, você alternar o estímulo. Gere a onda mostrada na Figura 13 .
13: Especificação em sinais de entrada da janela Waveform Editor Figura Salve a onda testbench selecionando Salvar no menu Arquivo.
3.2 Executar a simulação
Tendo especificado os sinais de estimulador para as entradas, o simulador está pronto para executar a simulação do comportamento do circuito somador-metade. Você executar a simulação, em primeiro lugar seleccionar o item halfadder_tb na janela Fontes. Em seguida, na guia
Processos dos Processos janela , abra o Xilinx ISE submenu Simulator, e clique duas vezes Simulate Behavioral Model. Quando a simulação for concluída, clique na guia de simulação do espaço de trabalho para ver
os resultados no visualizador de forma de onda. Figura 14 abaixo mostra os resultados.
Figura 14: executar a simulação, e inspecionar os resultados no visualizador de forma de onda
4 Implementação: Como compilar em Hardware
Antes da componente de design metade pode ser compilado em hardware, mais um detalhe precisa ser cuidado: é preciso especificar o I / O atribuições de pinos do FPGA.
Especificando a 4,1 I / O Pinos
A pinagem no FPGA pode ser especificado por meio de uma
restrição de utilização `` File''(UCF). Para criar um arquivo UCF, configure a ferramenta de síntese, selecionando Síntese / Execução de as fontes
de processos mostrará uma entrada User Constraints. Abrir a entrada e selecione Editar restrições (Texto). A janela pop-up aparece, pedindo para confirmar a criação de um arquivo UCF, clique em Sim. A área de trabalho se transforma em um editor de texto, onde você deve de entrada as seguintes restrições:
NET "A" LOC = "K8"; B "NET LOC =" M6 "; SUM "NET LOC =" A10 ";
NET "carregar" LOC = "B10";
Isso vai atribuir uma entrada para o pino do FPGA K8, B entrada para o pino M6, SUM saída para pino A10 e CARRY saída para pino B10. Dê uma olhada no limitações de hardware para descobrir como estes estão conectados com o mundo exterior. Os comentários mostrados na Figura 15 fornecer essa informação também.
Não se esqueça de salvar as alterações para o arquivo UCF (Ctrl-S
irá fazer o trabalho). Halfadder.ucf Isso cria um arquivo no diretório do projeto, que pode ser editado com seu editor favorito também.
Note que, ao contrário das versões anteriores das ferramentas Fundação, não há necessidade de especificar a entrada (IBUF) e buffers ouput (OBUF) por mais tempo. As inserções ferramenta de síntese
desses buffers automaticamente, a menos que você ativar essa propriedade `` off''.
4,2 Aplicação do Design
Agora estamos prontos para implementar a componente de design e meio, ou seja, a configuração de compilação FPGA. Na janela
Processes, próximo a entrada do usuário restrições, e dê um duplo clique na entrada Generate Programming File. Em resposta, o motor começa a síntese poderosa, que passa por três fases Síntese - XST, Implementar Design e Programação Gerar arquivo. O processo é
concluído quando todas as três fases são marcadas com um botão verde com um símbolo de engate.
Uma vez que o processo de execução termina com sucesso, um fluxo contínuo de dados foi criado, e foi escrito em um arquivo chamado
halfadder.bit no diretório do projeto. Bitstream Este contém as
informações de configuração do FPGA Virtex-4. Agora estamos prontos para verificar as concluída design meio-somador na placa ML405.
5 Verificação: Como testar o projeto em um ML405 Câmara
Existem várias maneiras de baixar o componente de design metade no FPGA Virtex-4 nas placas ML405. Descrevemos como usar um cartão CF para configurar o FPGA através do controlador SystemACE.
5,1Criar um arquivo ACE
O conselho ML405 tem vários chips programáveis, que podem ser e devem ser configurados corretamente. Nós usamos a ferramenta de
impacto para produzir um ace arquivo que contém os dados de configuração para cada um desses chips. Iremos descrever como fornecer o arquivo de ace- através do cartão CF para o conselho em
Seção 5.2 abaixo.
Vamos usar a ferramenta de impacto no modo batch. Use your favorite text editor to prepare (or download) the batch file adder.cmd with the following impact commands: Use o seu editor de texto preferido para preparar (ou download) o arquivo em lotes adder.cmd com os
comandos seguinte impacto:
-Acecf setmode
Modo addConfigDevice tamanho cf 0 nome addercf caminho / home strumpen / sandbox / Xilinx / componente / nome
addercf-addcollection
adddesign -version 0 -name rev0 adddesign versão-0-nome rev0 Índice adddevicechain 0
-P AddDevice 1 arquivo / opt/xilinx/xcfp/data/xcf32p.bsd AssignFile-p 1-arquivo / opt/xilinx/xcfp/data/xcf32p.bsd
-P AddDevice 2 arquivo / home strumpen / sandbox / Xilinx / componente / halfadder.bit
AssignFile-p-2 arquivo / home strumpen / sandbox / Xilinx / componente / halfadder.bit /
-P AddDevice 3 arquivo / opt/xilinx/xc9500xl/data/xc95144xl.bsd AssignFile-p 3 arquivo / opt/xilinx/xc9500xl/data/xc95144xl.bsd -Activa gera addercf
quit desistir
Note-se que whis arquivo pressupõe que o software ISE Foundation está instalado no diretório / opt / Xilinx, eo caminho do diretório do
projeto é a mesma escolhida no Figura 1 . lotes Este arquivo especifica a cadeia JTAG de três dispositivos programáveis na placa ML405: ( 1) a memória flash plataforma xcf32p chip (2), o chip Virtex-4, e (3) um chip XC95144XL CPLD. Uma vez que não usar a memória flash e CPLD, vamos configurar estes dispositivos com a configuração padrão de arquivos `` xcf32p.bsd''e `` xc95144xl.bsd'', o que efetivamente desativar esses chips. Para Virtex-4 chip na posição 2 da cadeia JTAG, especificamos o `` halfadder.bit arquivo bitstream,''que nós criamos anterior.
Agora, execute o arquivo em lotes em um shell usando o comando:
-Lote impacto adder.cmd
Os resultados podem ser encontrados no diretório addercf, que especificado com o comando addercf impacto. Este diretório tem um subdiretório rev0, que especificou no comando adddesign impacto.
Rev0.ace ace-file pode ser encontrado neste subdiretório. O outro
arquivo addercf / xilinx.sys é um arquivo ASCII que fornece a localização do arquivo ace para o xccace SystemACE chip na placa ML405 ao
carregar o projeto. Descrevemos este processo em mais detalhe abaixo. 5,2 Preparar uma CF-Card
Nós descrevem como configurar os dispositivos programáveis da placa ML405 com uma marca compact flash nova (CF-card). Assumimos que você tem um computador host e um leitor de Compact Flash /
escritora. A preparação da CF-card envolve três etapas: 1.Partição do cartão CF (opcional).
2.Formato de um sistema de arquivos DOS.
3.Copie os dados de configuração, incluindo o ace arquivo para o cartão CF.
Nós examinamos cada um dos três passos de cada vez.
Se você tem uma base do leitor de cartões USB, por exemplo, ligar o leitor de cartões em host do computador de sua porta USB e usar o fdisk ou sfdisk para examinar a tabela de partições., Por exemplo, eu particionado um dos meus cartões CF da seguinte forma:
$ Sfdisk-l / dev / sda
/ Dev / disco / sda: 993 cilindros, 16 cabeças, 63 setores / trilha
Unidades = cilindros de 516.096 bytes, blocos de 1024 bytes, contando de 0
Início Fim # Boot Device cyls # Blocos Id Sistema / Dev/sda1 * 0 + 194 195-98248 + 6 FAT16
/ Dev/hda3 390 584 195 9828 0 39 Plan 9 / Dev/hda4 585 992 408 2056 32 83 Linux
A partição importante é a partição FAT16, que o chip SystemACE quer ler quando ML405 conselho é ligado ou reiniciado. Depois de criar a partição FAT16, / dev/sda1 no exemplo acima, criamos um sistema de arquivos DOS formatação partição com o comando:
mkdosfs-v-F 16-R-1 s 4 / dev/sda1
Existe uma certa quantidade de magia negra em ação aqui: o chip SystemACE espera mais do que um sector por cluster.-S Opção 4
especifica quatro setores do disco por cluster, o que mantém todo mundo feliz.
Em seguida, copiar o nosso craque arquivo para o cartão-CF. Primeiro, monte a partição de FAT16 para diretório / mnt / flash, por exemplo:
mount -t vfat /dev/sda1 /mnt/flash
Em seguida, copie o diretório addercf que a ferramenta do impacto gerado sobre a CF-card. Assumindo que você está no diretório do
projeto, execute:
cp -R addercf /mnt/flash
Finalmente, mover o arquivo xilinx.sys ``''para o nível superior:
mv /mnt/flash/addercf/xilinx.sys /mnt/flash / Mnt
Até agora, as lojas da CF-card dois arquivos:
xilinx.sys xilinx.sys addercf/rev0/rev0.ace
Note-se que o conteúdo do arquivo xilinx.sys ``''é pouco mais do que uma descrição de onde encontrar o arquivo ace.
Não se esqueça de umount / mnt / flash antes de remover o cartão CF.
Defina as opções na placa ML405 como segue:
1. Definir a fonte de configuração com a chave seletora de três posições CPLD Flash, Flash Platform, e SystemACE para SystemACE.
2.Defina a posição 6-DIP Switch para 000.111. A direita mais três definir o modo de configuração do FPGA para serial `` escravo'', e os três zeros à esquerda seleciona a configuração de endereço zero.
A configuração do endereço selecionado pela esquerda três bits da posição do interruptor DIP-6 deve ser atribuído o diretório escolhido no arquivo de lote de impacto, rev0 em nosso caso. SystemACE O
controlador é capaz de selecionar um de oito diferentes ace-arquivos. A configuração endereços das ace-arquivo são especificados no xilinx.sys
arquivo gerado pela ferramenta de impacto. Por exemplo, o cartão CF, que vem com a placa Xilinx ML405 usa todos os oito endereços de configuração, como você pode ver inspecionando xilinx.sys arquivo. , a opção da versão do comando adddesign no arquivo de lote impacto determina a configuração de endereço gerado pelo impacto xilinx.sys
arquivo. Por exemplo, o comando de impacto,
adddesign -version 0 -name rev0
gera a entrada
cfgaddr0 = rev0; cfgaddr0 = rev0;
xilinx.sys em arquivo. Analogamente, o comando
adddesign versão-foo nome 1
gera a entrada
cfgaddr1 = foo; cfgaddr1 = foo;
xilinx.sys em arquivo. Tudo que você precisa é o diretório
correspondente no arquivo ace e ajuste dos interruptores para
selecionar a configuração de versão ``''para configurar o FPGA com o ace arquivo. Se o cartão CF, não tem um arquivo ace-maching a selecção do interruptor DIP, o processo de configuração irá falhar, e o LED
vermelho DS1 sinaliza um erro.
Verificando 5,4 Half-Adder Design
metade: montar o cartão CF-in da placa ML405 e poder-se. O Virtex-4 FPGAs será configurado com o nosso componente de design e meio. Os quatro GPIO LED ao lado do push cinco botões devem ficar fora.
Verifique se o raio de GPIO LED's 0 e 1 corresponde à saída de sinais SUM e Transporte do meio-somador, quando apertar botões
GPIO_SW_W (Oeste) e GPIO_SW_E (Leste), que estão ligados a sinais de entrada A e B, respectivamente.