Slide sem tнtulo - PowerPoint PPT Presentation

1 / 63
About This Presentation
Title:

Slide sem tнtulo

Description:

Dispositivos L gicos Program veis: FPGA Disciplina: Arquiteturas Especiais para Microprocessadores Professora: Maria Stela Veludo de Paiva Aluna: Luiza Maria ... – PowerPoint PPT presentation

Number of Views:113
Avg rating:3.0/5.0
Slides: 64
Provided by: irisSelE
Category:
Tags: sem | tulo

less

Transcript and Presenter's Notes

Title: Slide sem tнtulo


1
Dispositivos Lógicos Programáveis FPGA
Disciplina Arquiteturas Especiais para
Microprocessadores Professora Maria Stela Veludo
de Paiva Aluna Luiza Maria Romeiro Codá
2
Tópicos
  • EVOLUÇÃO DA TECNOLOGIA DE PROJETOS DIGITAIS.
  • DISPOSITIVOS LÓGICOS PROGRAMÁVEIS

  • Evolução e Classificação



  • FPGA Tecnologia de Programação
  • -- Arquitetura de Blocos
    Lógicos
  • -- Arquitetura de Roteamento
  • Software para programação de FPGA

3
EVOLUÇÂO DA TECNOLOGIA DE PROJETOS DIGITAIS
  • De transistores individuais para circuitos
    integrados VLSI ( Very Large
  • Scale Integration).
  • CIs ( circuitos integrados) digitais podem ser
    construídos sob diferentes
  • tecnologias dependendo do seu tamanho e de sua
    função no sistema.

IMPLEMENTAÇÃO DE CIRCUITOS DIGITAIS
  • Podem ser agrupadas em duas categorias
  • Cis customizados necessitam de um processo de
    fabricação especial

  • que requer máscaras específicas para cada
    projeto.

  • Tempo de desenvolvimento é longo e os custos são
    altos.

  • Utilizados em aplicação de grande volume de
    produção.
  • CIs Semicustomizados

4
  • CIs Semicustomizados
  • Mask- Programmable Gate Array (MPGAs)

Utiliza-se de máscaras genéricas de módulos
pré-projetados, mas ainda utiliza-se de máscaras
específicas para interconexão dos módulos. O
Projeto é facilitado por biblioteca de células,
levando a um tempo de desenvolvimento mais curto
e custos mais baixos que CIs customizados.
2. Standard Cells
A tarefa de projetar é facilitada pelo uso de
módulos pré-projetados salvos em banco de dados
. São menos eficientes em tamanho e desempenho do
que os CIs customizados, mas seu custo é baixo.
3. Programmable Logic Device (PLDs)
A programação é feita pelo usuário, eliminando o
processo de fabricação E facilitando eventuais
mudanças no projeto. Tempo curto de projeto e
baixo custo.
5
Tecnologias de Projeto de Circuitos Integrados
Digitais
Programmable Logic Devices (PLDs)
Gate Arrays
Standard Cells
SPLDs (PALs)
FPGAs
SPLD Simple Prog. Logic Device PAL Prog.
Array of Logic CPLD Complex PLD FPGA Field
Prog. Gate Array ASICs Application Specific
Integrated Circuits
6
Vantagens do uso da Lógica Programável
Atualmente, podemos desenvolver um projeto
digital, utilizando 3 diferentes componentes
circuito discreto (TTL, CMOS, etc)
Gate Array
Lógica Programável
Características
PLD
Lógica Discreta
Gate Array
Velocidade
Densidade
Custo
Tempo de desenvolvimento
Tempo de protótipo e simulação
Tempo de fabricação
Facilidades de uso
Futuras modificações
Risco de estoque
Suporte para ferramentas
Bom
Adequado
Ruim
7
EVOLUÇÃO DOS DISPOSITIVOS LÓGICOS PROGRAMÁVEIS
PELO USUÁRIO
PROM ( Programmable Read-Only Memory)
1º. Tipo de chip programável possui
decodificador completo para seus endereços na
entrada, mas funções lógicas utilizam poucos
termos de produto. Portanto a PROM é ineficiente
para realizar circuitos lógicos.
PLAs ( Programmable Logic Arrays)
1º. Dispositivo desenvolvido para a implementação
de circuitos lógicos. Consiste de dois níveis de
portas lógicas programáveis, um de
portas Wired-AND e outro de wired-OR., os quais
fazem delas um dispositivo versátil, porém
possuem alto custo e pobre desempenho em termos
de velocidade.
8
PAL ( Programmable Array Logic)
Foram desenvolvidos para superar as deficiências
das PLAs nos anos 70. Possuem um único nível de
programação consistindo de portas
wired-AND Programáveis alimentando portas OR
fixas. Para compensar o plano fixo, são
produzidas com diferentes número de entradas e
saídas. Geralmente contém flip-flops conectados
às saídas das portas OR para que Circuitos
seqüenciais possam ser implementados.
9
Evolução dos dispositivos Lógicos Programáveis
Estruturas de uma PROM (a), um PLA (b) e um PAL
(c).
10
GRUPOS DE DISPOSITIVOS PROGRAMÁVEIS
SPLDs (Simple Programmable Logic Devices)
É a categoria de todos os pequenos PLDs como
PLAs, PALs , onde as Características mais
importantes são baixo custo e alto desempenho.
CPLDs ( Complex Programmable Logic Devices)
É constituído de múltiplos SPLDs integrados em um
único chip com Interconexões programáveis para
conectar os blocos SPLDs, fornecendo uma
capacidade lógica de até 50 SPLDs típicos.
FPGA (Field-Programmable Gate Array)
São constituídos de um arranjo de elementos de
circuitos não conectados, chamados blocos
lógicos, e recursos de interconexão, cuja
configuração é Através de programação pelo
usuário.
11
O mercado de PLD
12
Diferenças básicas entre CPLD e FPGA
13
Arquitetura de FPGAs
  • 1. Tipo de tecnologia de programação
  • 2. Arquitetura dos blocos lógicos
  • 3. Estrutura de sua arquitetura de roteamento

14
Arquitetura de FPGAs (continuação)
  • 1. Tipos de tecnologia de Programação

1.1 SRAM (Static Random Acess Memory) o
comutador é um transistor

de passagem controlado pelo estado de um
bit da SRAM.
Utilizada pela
Xilinx, Altera e ATT.
SRAM é volátil , necessitando a FPGA de uma
memória externa (PROM, EPROM, EEPROM ou disco
magnético). desvantagem ocupa
muito espaço no chip. vantagem por
utilizar SRAM que é rapidamente reprogramável, e
utiliza a
tecnologia padrão de circuitos integrados para
sua fabricação.
15
  • 1. Tipos de tecnologia de Programação
    (continuação)

1.2 Antifuse é originalmente um circuito aberto
que quando programado
forma um caminho de baixa
resistência.
Utilizada pela Actel.
Vantagem Tamanho reduzido o qual apresenta
baixa capacitância quando
não programado e baixa
resistência quando programado. Desvantagem não
permite a reprogramação, além disso, para
programá-los
é necessária a presença de transistores com larga
área a fim
de suportar as altas correntes (em torno de 5mA).
16
  • 1. Tipos de tecnologia de Programação
    (continuação)

1.3. Gate Flutuante o comutador é um transistor
com gate flutuante iguais
aos utilizados nas
memórias EPROM (Erasable PROM) e
EEPROM
(Electrical Erasable PROM) transistor MOS com
2
gates.
EPROM utilizada pela Altera e EEPROM pela
Lattice e MD.
Programação O gate flutuante armazena carga
elétrica que é injetada pela aplicação de uma
tensão alta entre o gate 1 e a fonte do
transistor. Essa carga faz com que o limiar do
transistor aumente, impedindo a condução do
mesmo. Expondo o componente aos raios UV, essa
carga desaparece e o transistor volta a funcionar
normalmente. Observação na prática o
transistor do tipo EPROM não é usado diretamente
como comutador, mas sim fazendo pull-down.
17
  • 1.Tipos de tecnologia de Programação
    (continuação)
  • 1.3. Gate Flutuante(continuação)
  • Vantagens
  • tecnologia EPROM alta capacidade de
    reprogramação e

  • retenção dos dados.
  • tecnologia EEPROM além das vantagens da EPROM é
    possível

  • programar e reter as informações com o

  • chip já instalado na placa (ISP - In System

  • Programmability).
  • Desvantagens
  • tecnologia EPROM exige três processos
    adicionais na fabricação.
  • A
    resistência dos comutadores ligados não atinge

  • valores baixos e o consumo total é maior devido
    aos

  • resistores de pull-down.
  • tecnologia EEPROM cada célula ocupa o dobro do
    espaço de uma EPROM.

18
RESUMO DAS TECNOLOGIAS DE PROGRAMAÇÃO
19
2. ARQUITETURA DE BLOCOS LÓGICOS
  • Os blocos lógicos variam de tamanho e capacidade
    de
  • Implementação e são baseados nos seguintes
    componentes
  • pares de transistores
  • Portas básicas tipo NAND ou XOR de duas entradas
  • Look-up tables (LUTs)
  • Estruturas AND-OR de múltiplas entradas
  • Quanto ao bloco lógico classifica-se as FPGAs
    como
  • 2.1 granularidade fina (blocos simples)
  • 2.2 granularidade grossa (blocos mais complexos e
    maiores)

20
2. ARQUITETURA DE BLOCOS LÓGICOS (continuação)
2.1 Blocos de Granularidade Fina Exemplo
seria um bloco contendo alguns transistores
interconectáveis ou portas lógicas básicas (por
ex. NAND)
vantagem são quase totalmente
utilizados desvantagem são em número
muito grande devido à baixa capacidade lógica

necessitando de uma grande quantidade de trilhas
de conexão
e comutadores programáveis. Um roteamento
desse tipo torna-
se lento e ocupa grande área no chip.
21
2. ARQUITETURA DE BLOCOS LÓGICOS (continuação)
2.1 Blocos de Granularidade Grossa São
baseados em \multiplexadores ou look-up tables
Vantagem fornece um alto grau de funcionalidade
com um número
relativamente pequeno de transistores. Desvantage
m Possuem muitas entradas necessitando de
muitos
comutadores, sobrecarregando o roteamento. (a
tecnologia
antifuse é mais adequada devido ao tamanho
reduzido dos
comutadores).
22
Look-up table (LUT) é uma memória de um bit de
largura, onde suas
Linhas de endereçamento funcionam como entradas
do bloco lógico
e sua saída fornece o valor da função
lógica.
Vantagem alto grau de funcionalidade . Ex uma
LUT de K entradas pode
implementar qualquer função de K entradas e
existem 22k funções. Desvantagem são
inaceitavelmente grandes para mais que cinco
entradas.
23
LÓGICA SEQUENCIAL A maioria dos blocos
lógicos apresenta alguma forma de lógica
seqüencial. Geralmente utilizam flip-flops tipo
D que podem ser conectados via programação às
saídas dos blocos combinacionais. Em alguns
dispositivos, a lógica seqüencial não está
explicitamente presente, e deve ser formada
utilizando-se o roteamento programável e os
blocos puramente combinacionais.
24
3. ARQUITETURA DE ROTEAMENTO É a maneira pela
qual os comutadores programáveis e
segmentos de trilha são posicionados para
permitir a interconexão das células
lógicas.
  • Pinos são as entradas e saídas dos blocos
    lógicos.
  • Conexão ligação elétrica de um par de pinos de
    blocos lógicos.
  • Rede é um conjunto de pinos de blocos lógicos
    que estão conectados.
  • Comutador de roteamento (switch) é um
    dispositivo utilizado para conectar eletricamente
  • dois segmentos de trilha.
  • Segmento de trilha é um segmento não
    interrompido por comutadores programáveis. Cada
  • terminação de um segmento possui
    um comutador associado.
  • Trilha é uma seqüência de um ou mais segmentos
    de trilha em uma direção, estendendo-se
  • por todo o comprimento de um canal
    de roteamento. Pode ser composta de segmentos
  • de tamanhos variados.
  • Canal de roteamento é a área entre duas linhas
    ou colunas de blocos lógicos. Um canal
  • contém um grupo de trilhas paralelas.

25
ARQUITETURA GERAL DE ROTEAMENTO
26
(No Transcript)
27
FAMÍLIA de FPGA da ALTERA
28
ARQUITETURA BÁSICA DO FPGA DA ALTERA série FLEX
8000
29
Arquitetura Básica do Elemento Lógico Família
Flex 8000 da Altera
-Baixo consumo de corrente. -Componente em
SRAM. -Voltado para grande quantidade de
registradores. -Tensão de 3.3 e 5V. -Alta
Densidade.-Densidade de 4.000 a 50.000
utilizáveis..
30
APRESENTAÇÃO DO SOFTWARE DA ALTERA
31
  • Entrada de dados

Utilizando o software MAXPLUSII, podemos entrar
com o projeto de diferentes maneiras, agilizando
o projeto. Abaixo temos as diferentes formas de
entrada de dados Esquemático gt podemos entrar
com um esquemático utilizando o editor gráfico do
software MAXPLUSII, ou importar via
Orcad. Texto gt pode ser gerado a partir de uma
linguagem própria da Altera (AHDL) ou VHDL
gerados a partir do MAXPLUSII. Formas
de Onda gt o módulo de entrada via forma de onda
permite que a partir da descrição
das formas de onda de entrada e saída possamos
descrever o projeto. EDIF gt o
MAXPLUSII permite que se importe qualquer
arquivo padrão EDIF.
32

ENTRADA DE DADOS
MAXPLUSII
MAXPLUSII
MAXPLUSII
Editor Gráfico
Editor de Texto
Editor de forma de onda
MAXPLUSII
MAXPLUSII
Editor de símbolos
Floorplan Editor
Topo de hierarquia
.gdf
.wdf
.vhd
.xnf
.sch
.tdf
.edf
.adf
.smf
Importado de outros softwares
Importado do APLUS E SAMPLUS
33
O arquivo topo de hierarquia pode ser um gráfico,
gerado a partir do MAXPLUSII ou Orcad, um
arquivo texto podendo ser em AHDL ou VHDL ou
mesmo um arquivo EDIF gerado a partir de outras
ferramentas. Abaixo temos uma descrição das
principais extensões dos arquivo de entrada de
dados - GDF - (graphic design file) - Arquivo
gráfico gerado a partir do editor gráfico do
MAXPLUSII. - SCH - (Orcad schematic file) -
Arquivo gráfico gerado a partir do Orcad. - WDF -
(waveform design file) - Arquivo de forma de
ondas gerado a partir do editor de forma de
onda do MAXPLUII. - TDF - (text
design file) - Arquivo texto descrito em AHDL
gerado a partir do editor de texto
do MAXPLUSII. - VHD - (VHDL design file)
- Arquivo texto descrito em VHDL gerado a partir
do editor de texto d
do MAXPLUSII. - EDF - (Edif input
file)- Arquivo texto, formato Edif
290 ou 300, importado de outras CAE. - XNF -
(Xilinx Netilist Format file) - Arquivo texto,
formato Xilinx. - ADF - (Altera design File) -
Arquivo texto, gerado pelo software Aplus da
Altera. - SMF - (State Machine Files) -
Arquivo texto, gerado pelo software SAMPLUS da
Altera.
34
  • INTRODUÇÃO
  • Nas páginas seguintes, iremos utilizar a maioria
    das ferramentas básicas do
  • software MAXPLUSII, construindo um projeto que
    se encontra no manual
  • geting starded da ALTERA.
  • DESCRIÇÃO DO PROJETO

Iremos criar um projeto denominado CHIPTRIP, que
será dividido em 5 blocos de hierarquia. Este
projeto é um simulador de direção (em que você
simulará vários caminhos e velocidade para
chegar até a ALTERA). Abaixo segue o diagrama em
bloco deste projeto
chiptrip.gdf
time_cnt.tdf
auto_max.tdf
tick_cnt.gdf
speed_ch.wdf
8count.gdf
TICK_CNT.GDF gt Arquivo gráfico - grava o número
de multas levadas. É composto por um contador up,
incrementado a partir de uma multa
recebida. TIME_CNT.TDF gt Arquivo texto - arquivo
de clock. Conta o número de pulsos de
clock requeridos para o veículo chagar até
ALTERA. AUTO_MAX.TDF gt Arquivo texto - estado de
máquina que monitora os parâmetros de direção e
aceleração, determinando a próxima localização
para seu veículo. SPEED_CH.WDF gt Arquivo em
forma de onda. Funciona como medidor de
velocidade, checando a aceleração de seu veículo.

35
  • CRIANDO UM ARQUIVO GRÁFICO
  • 1)ESPECIFICANDO O NOME DO PROJETO
  • Para especificar o nome do projeto
  • 1) Chame Project Name no FILE menu. Irá aparecer
    a seguinte janela

MOSTRA O NOME DO PROJETO
MOSTRA OS DIRETORIOS E SUBDIRETORIOS
MOSTRA TODOS DESIGN DO CORRENTE DIRETORIO
2) Digite TICK_CNT no nome do projeto. 3) Clique
OK. Na barra de título aparecerá o nome do
corrente projeto, bem como subdiretório em queo
mesmo esta arquivado.
36
2)Criando um novo arquivo Para criar um novo
arquivo 1) Clique icon do novo arquivo no
TOOLBAR. 2)Selecione arquivo editor
gráfico. 3)Cique OK.
EDITOR GRÁFICO
EDITOR DE SÍMBOLO
EDITOR DE TEXTO
EDITOR DE FORMA DE ONDAS
Irá aparecer a seguinte janela
texto
Linha ortogonal
Linha perpendicular
arco
Circulo
Zoom in
Zoom out
Vista total da janela
Conecção entre linhas
Conecta e desconecta segmentos de linhas
37
4) Para Salvar o arquivo, no menu FILE, chamar
SAVE AS.Aparecerá a seguinte janela
NOME DO ARQUIVO
tick_cnt.
DIFERENTE EXTENSÃO
5)Clique ok.
3) Entrando com uma primitiva ou macrofunção
1) Clique duas vezes com o botão da esquerda do
mouse.Irá aparecer a seguinte janela
PRIMITIVA OU MACRUFUNÇÃO
BIBLIOTECAS
38
8count
2) Digite 8count no nome do símbolo. 3) Clique
OK. 4) Repita o procedimento para nor2 e gnd.
4) Movendo um símbolo
1) Com o botão da esquerda do mouse, clique em
cima do símbolo a ser movido. Note que neste
instante o mesmo adquire um contorno,
representando que o mesmo foi
selecionado. 2) Mantendo o botão da esquerda
pressionado, mova o símbolo para o lugar
desejado. 3) Em caso de desejar mover mais de um
símbolo, com o botão da esquerda do mouse,
selecione a área a ser movida, soltando o botão
do mouse quando toda área estiver
selecionada. 5) Entrando com pinos de saída e
entrada
1) Clique duas vezes o botão da esquerda do mouse
na área de trabalho. 2) Ao surgir a janela ENTER
SYMBOL, digite o pino correspondente (input,
output, bidir, etc). 3)Clique ok. OBS note que
cada símbolo apresentado, possui uma numeração
específica, que representa a ordem de chamada do
símbolo, para posterior identificação.
39
  • 6) Colocando nome nos pinos
  • 1) Com o botão da esquerda do mouse, clique duas
    vezes sobre o nome do pino,
  • observe que o mesmo será selecionado.
  • 2) Digite o novo nome do pino.
  • Repita o procedimento acima para os 4 pinos,
    conforme esquema abaixo
  • INPUT4 - get_ticket1

INPUT5 - get_ticket2 INPUT6 - clk INPUT7 - tick
et3..0
OBS Pinos que contenham colchete, só devem ser
utilizados para representação de
barramentos (vários pinos), sempre representando
o bit mais significativo primeiro. 4) O
procedimento acima também é usado para nomear
saídas ou entradas, utilizadas como conexão
interna. Para o Software,não há diferença
entre nomes representados por letras
maiúsculas ou minúsculas.
7) Conectando os símbolos
1) Selecione o tipo de linha a ser utilizado no
menu lateral.
2) Mova o mouse até a conexão do pino ou
símbolo. 3) Aperte e mantenha apertado o botão da
esquerda do mouse.
40
3) Sem soltar o botão, leve a linha até o símbolo
a ser conectado e solte o botão. 4) Utilizar a
linha fina para ligações de apenas um sinal. 5)
Utilizar a linha grossa para bus.
8) Utilizando bus
No caso de utilizarmos vários sinais ligados ao
mesmo pino (bus), devemos proceder da seguinte
maneira 1) Observar a denominação correta do
pino (usando o nome do pino, e entre chaves os
sinais do mais significativo para o menos
significativo) 2) A conexão deste pinos com o
pino deverá ser feita utilizando a linha
grossa, selecionada pelo botão da direita do
mouse (line style). 3) No símbolo, deverá ser
representado isoladamente cada sinal pelo seu
nome. 4) Para nomear a saída do símbolo e a
entrada do pino, basta com o botão da esquerda do
mouse clicar em cima da linha, e escrever o
respectivo nome.
41
9) Salvando e checando eventuais erros 1) No
menu do tollbars, clique o símbolo de salvar e
checar. 2) Se aparecer na tela a mensagem que
não houve erro no projeto clique ok. Obs - Note
que o comando salvar e checar, só terá efeito no
projeto corrente. Caso o projeto
modificado, não seja o que aparece no título,
aparecerá uma mensagem solicitando para trocar o
nome do projeto.
10)Criando um símbolo
Para se criar uma macrofunção deste projeto,
devemos selecionar ao final do mesmo no menu
FILE, a opção CREATE DEFAUT SYMBOL. Irá surgir na
tela a mensagem que o símbolo corrente já existe
e se deseja repassar o símbolo já
existente. Clique ok. obs Qualquer mudança em
uma macrofunção ou nível inferior de
hierarquia, deverá ser criado um novo símbolo.
42
  • Criando um arquivo com editor de forma de onda.

1)Especificando o nome do projeto e criando um
novo arquivo.
1) Troque o nome do projeto para speed_ch. 2)Abra
um novo arquivo de forma de onda usando o
toolbar. 3)Observe que a extensão do arquivo
deverá ser .wdf. 4) Salve como speed_ch.
2)Definindo entradas e saídas do projeto
43
1) Clique duas vezes o botão da esquerda do mouse
no topo da planilha. Irá surgir a seguinte
janela
nome do pino
especifica nível inicial
tipo de pino
especifica tipo de pino
especifica o tipo de lógica que esta ligado este
pino
2) Digite o nome do pino (accel_in), nível lógico
inicial 0 e selecione como pino de
entrada. 3) Repita o procedimento acima para o
pino reset e clk. Criando uma máquina de estados
(pino interno) 1) Clique duas vezes no espaço em
branco da planilha. 2) Digite o nome do pino
(speed). 3) Selecione o valor inicial em
X(indefinido). 4) Selecione tipo de pino como
BURIED NODE. 5) Nas entradas secundárias,
selecione CLK no clock e reset no RESET. 6)
Selecione tipo de nó como MACHINE. 7)Clique
OK. Criando um pino de saída 1) Clique duas
vezes no espaço em branco da planilha. 4)
Selecione tipo de pino como OUTPUT. 2) Digite o
nome do pino (get_ticket).
5) Nas entradas secundárias, selecione CLK
no clock3) Selecione o valor inicial em 0.
6) Selecione
tipo de nó como REGISTERED. 7)Clique OK.
44
3) Editando ligações internas da máquina de
estados
1) Clique o botão 1 no pino speed. 2) Chame
OVERWRITE STATE NAME no menu EDIT. 3) Digite
LEGAL no nome do estado. 4) Clique OK.
5) Selecione com o botão da esquerda pressionado,
o intervalo de 300 a 540 ns. 6) Chame
OVERWRITE STATE NAME no menu EDIT.
7) Digite WARNING. 8) Clique OK. 9) Repita o
procedimento 5 a 8 para o intervalo de 540 a 660
ns, digitando o estado TICKET.
300ns
540ns
660ns
45
4) Editando os valores do pino de entrada. 1) Com
o botão da esquerda do mouse, selecione o
intervalo de 270 a 330ns no pino accel_in. 2)
Automaticamente ao soltar o botão, será repassado
o valor de 0 para 1. 3) Repita o procedimento
acima para i intervalo de 510 a 570ns. 4) Repita
o procedimento anterior para o intervalo de 630 a
690ns e chame o comando OVERWRITE no menu
EDIT, e chame X(indefinido).
330ns
510ns
570ns
630ns
690ns
270ms
5) Para editar o pino clk, com o botão da direita
selecione de 60 a 120ns. 6) Com o botão da
esquerda selecione o intervalo de 0 a 120ns. 7)
Chame o comando COPY no menu EDIT. 8) Chame o
comando REPEAT no menu EDIT. 9) Irá surgir na
tela a seguinte janela
10) Digite o número de vezes a ser repetido a
forma de onda (máximo 10.000).
11) Repita o procedimento 1 e 2 para o pino
get_ticket no intervalo de 540 a 660 ns.
4) Salve e cheque o projeto. 5) Crie o símbolo
corrente.
46
Criando o top de hierarquia (gdf).
1) Troque o nome do projeto para chiptrip. 2)
Chame um novo gráfico editor. 3) Salve este
gráfico editor como chiptrip. 4) Crie o
esquemático abaixo.
47
Compilando o projeto
1)Definindo o componente a ser utilizado.
Com relação ao componente a ser utilizado,
podemos selecioná-los de duas maneiras -Diretamen
te no editor topo de hierarquia. -No próprio
compilador.
2) Definindo o componente no editor gráfico 1)
Chamar o comando DEVICE no menu ASSIGN. 2) Irá
surgir a seguinte janela
Família
Componente
3) Definir a família de componente a rotear o
projeto. 4) Definir o componente a ser roteado o
projeto. OBS Caso seja utilizado o modo
AUTO, o software escolherá o melhor componente
para o roteamento. Neste caso será necessário
escolher a família a se trabalhar. 5) Clique
OK. 6) Se desejar setar TURBO BIT ou BIT DE
SEGURANÇA, clicar o comando DEVICE OPTIONS.
Irá surgir a seguinte janela
48
turbo bit (onltoff e default)
bit de segurança (on, off e defautl
7) Clique OK.
2)Definindo o componente no compilador
1) Chame o compilador no comando do
tollbar. 2)Chame o comando AUTO DEVICE SELECTION
no menu DEVICE. Irá surgir na tela a seguinte
janela
3) Selecione a família desejada. 4) Na coluna da
direita temos os componente que podem ser
selecionados para o corrente projeto. 5) Se
necessário , para o caso de se dividir o projeto
em diversos componentes, podemos escolher
os componentes, bem como o limite dos mesmos,
usando a opção lLIMITED. 6) Clique OK.
49
3) Definindo pinos no editor gráfico
1) Clique duas vezes o botão da esquerda em cima
do pino que deseja-se definir ou no menu
ASSIGN clique a opção PIN/LOCATION/CHIP. Irá
surgir a seguinte janela
Entra com o número do pino, Lcell, etc
Nome do pino ou nó desejado

Indica os parâmetro já fixados
4) No campo NODE NAME, digitar o nome do pino
correspondente. 5) No campo PIN/LOGIC CELL/CHIP,
coloque o numero do pino desejado. 6) Clique
ADD. 7) Ao termino, clique OK.
50
4) Setando o Design doctor
  • O DESIGN DOCTOR é uma ferramenta para checar
    todos os arquivos do projeto , informando
  • os possíveis pontos de problema.
  • Com o compilador aberto, chame a opção DESIGN
    DOCTOR SETTINGS no menu PROCESSING.
  • Irá surgir a seguinte janela

seleciona as várias opções para rodar o DESIGN
DOCTOR.
seleciona manualmente as opções do DESIGN
DOCTOR.
2) Selecione a opção desejada -EPLD
(ERASEBLE PROGRAMABLE LOGIC DEVICE) -FLEX
8000 -MPLD (ALTERA GATE ARRAY).
3)Clique OK. 4) Para habilitar o DESIGN DOCTOR,
no menu PROCESSING, clicar a opção DESIGN
DOCTOR. No compilador irá aparecer o indicativo
de que o DESIGN DOCTOR esta habilitado.
DESIGN DOCTOR habilitado
51
5) Setando o Report File
O arquivo report é um arquivo texto que possui
todas as informações a respeito do projeto,
tais como equações, componente, taxa de
utilização e outras. Podemos escolher quais as
opções a serem geradas pelo report file, seguindo
o seguinte caminho 1)Clique a opção REPORT FILE
SETTING no menu PROCESSING. Irá surgir na tela a
seguinte janela
2) Selecione as opções desejadas. 3) Clique OK.
6) Selecionando o estilo de sintetização lógica
Podemos escolher o tipo de sintetização de
lógica, preocupados em um melhor aproveitamento
de área no componente, ou nos preocuparmos com
velocidade. Neste caso procedemos da seguinte
maneira 1)Clique o comando GLOBAL PROJECT LOGIC
SYNTETHESIS no menu ASSIGN. Irá surgir a seguinte
janela
52
2) Selecione o tipo de sintetização, sendo
NORMAL - otimização de área. FAST -
Otimização de velocidade. WYS/WYG - Não será
feito nenhuma otimização neste caso. 3)
Selecione o uso dos sinais globais (se
necessários). 4) Clique OK.
7) Inicializando a compilação 1) Clique a opção
SAVE COMPILE no TOOLBARS. Irá surgir a janela
de compilação, já iniciando o processo de
compilação. Na compilação o MAXPLUSII irá
gerar vários arquivo com diferentes
extensões como mostrado abaixo
.edo
.pof
.vho
.sof
.sym
.cnf
.hif
.mmf
.rpt
.fit
.snf
.vo
.jed
.sym gt Symbol File gt Arquivo que representa o
símbolo do projeto. .cnf gt Compiler Netilist
File gtArquivo que contem os dados de lógica e
conexões do projeto. .hif gt Hierarchy
Interconnect File gt Arquivo de conexão entre o
topo do projeto e demais arquivos. .mmf gt
MAXPLUS II Message File gt Arquivo que contem
todas as mensagens do projeto. .rpt gt
Report File gt Arquivo que reporta todos os dados
do projeto (pinagem, componente, equações,
etc) .fit gt Fit File gt Arquivo que contem
toda a informação interna de roteamento do
projeto. .snf gt Simulation Netilist File gt
Arquivo que contem os timming do projeto para
simulação. .edo gt Edif Output File gt
Arquivo de saída no padrão EDIF. Utilizado para
utilização com outros softwares. .vho gt VHDL
Output File gt Arquivo de saída em formato
VHDL. .vo gt Verilog Output File gt Arquivo
de saída em formato Verilog. .pof gt
Programmer Object File gt Arquivo de
programação. .sof gt SRAM Object File gt
Arquivo de configuração para componentes em SRAM.
.jed gt JED file gt Arquivo de programação.
53
8) Utilizando o display de hierarquia
O display de hierarquia tem por finalidade
mostrar os diversos níveis de hierarquia do
projeto, bem como visualizar os arquivos gerados
e facilitar a abertura dos mesmo. 1) Clique a
opção HIERARCHY DISPLAY no toolbars. Irá surgir a
seguinte janela
topo de hierarquia
arquivos gerados
abrir arquivo
54
CRIANDO UMA SIMULAÇÃO
- Nesta seção iremos criar uma simulação, onde
termos diversos caminhos para se chegar na
ALTERA, utilizando o projeto descrito
anteriormente, conforme o esquema abaixo
MPLD
ALTERA
RUA RESIDENCIAL
ESTRADA COMERCIAL
RPT
EPM
EPLD
AUTOESTRADA
CNF
GDF
SUA EMPRESA
1)CRIANDO O CANAL DE SIMULAÇÃO
-Chame o comando NEW no menu FILE. -Selecione a
opção WAVEFORM. (observe se esta com a extensão
SCF). -Clique OK. -Salve com o mesmo nome do
projeto corrente a ser simulado.
2)ENTRANDO COM OS PINOS E NÓS
-Chame o comando ENTER NODES FROM SNF.. no menu
NODE. -Irá aparecer a seguinte janela
55
nome do nó ou pino
lista as opções
nós ou pinos avaliados
nós ou pinos selecionado
tipos de nós ou pinos a serem mostrados
-Selecione o tipo de sinal a ser simulado na
opção TYPE. (neste caso todos).-Com o botão da
direita do mouse clique duas vezes nos sinais a
serem simulados. (RESET, ENABLE,DIR1,DIR0,CLOCK,
ACCEL AT_ALTERA, TIME_CNT!COUNT7..0, AUTO
_MAX1!STREET_MAP e SPEED_CH2!SPEED. OBS
quando o sinal for um pino interno, o mesmo
mostra o a macrofunção com seu respectivo
número. -Clique OK. -Selecione o tamanho do
arquivo de simulação usando o comando SIZE no
menu FILE. -Salve com o nome do corrente projeto
a ser simulado.
56
Editando os valores de entrada
  • - Clique duas vezes o botão da esquerda do mouse
    em cima do sinal ENABLE.
  • - Na janela ENTER NODE, selecione o default para
    HIGH.
  • - Com o botão da esquerda pressionado no sinal
    DIR1, selecione o intervalo de
  • 200ns a 400ns e no menu EDIT chame o comando
    OVERWRITE HIGH.
  • - Repita o procedimento acima para o sinal DIR0
    no intervalo de 200ns a 500ns.
  • - Se necessário utilize o comando SNAP TO GRID.
  • - Para criar o sinal de clock, altere o grid para
    50ns(se necessário).
  • Com o botão da direita selecione o intervalo de
    50ns a 100ns, automaticamente
  • neste intervalo o sinal será alterado para
    HIGH.
  • - Com o botão da esquerda selecione o primeiro
    pulso de clock (intervalo de 0 a 100ns).
  • - Chame o comando COPY no menu EDIT.
  • - Chame agora o comando REPET no menu EDIT. Irá
    surgir a seguinte janela

número de vezes a repetir o sinal (máximo 10000).
57
- Selecione o número de vezes a ser repetida a
forma de onda . - Clique OK. - Selecione o valor
LOW para o sinal RESET e o sinal ACCEL. - Salve o
corrente arquivo. SIMULANDO O PROJETO
- Chame o comando SALVE CHECK no menu FILE. -
Automaticamente qualquer modificação no arquivo
de simulação será salvo e o simulador irá
iniciar a simulação. Irá aparecer a seguinte
janela indicando o inicio da simulação
projeto a ser simulado
tempo decorrido da simulação
término da simulação
início da simulação
simulação utilizando o componente
checa violações de setup e hold
verifica oscilações
compara as formas de onda com outro arquivo
verifica glich no corrente projeto
58
UTILIZANDO O ANALISADOR DE TIMING
Através do software MAXPLUS II , podemos simular
os tempos máximos de propagação entre os sinais
internos do componente. Podemos ainda analisar
violações de SETUP E HOLD, bem como determinar a
máxima freqüência de trabalho do componente em
questão. Os dados obtidos no analisador de
timing, dependerão do componente e da velocidade
do componente selecionado para o roteamento do
projeto. Trocando-se o componente por outro de
velocidade maior, termos modificações nos valores
apresentados pelo simulador. É importante lembrar
que na análise de timing, os valores apresentados
são referentes a valores máximo não
necessariamente sendo exato, podendo variar de
componente para componente, mas nunca
ultrapassando o valor máximo apresentado.
Analisador de timing
-No menu MAXPLU II chame o comando SIMULATOR.
-Clique START.
59
-Os valores apresentados mostram os tempos de
propagação entre os sinais. -Não havendo
representação, indica que os pinos em questão não
tem ligações. LOCALIZANDO O PONTO DE
PROPAGAÇÃO -Clique o comando LIST
PATHS. -Selecione a mensagem desejada. -Clique o
comando LOCATE, automaticamente será apresentado
o ponto onde este sinal esteja. ANALISANDO
SETUP/HOLD
-Chame o comando SETUP/HOLD MATRIX no menu
ANALYSIS. -Clique START
60
Analisador de performance
-Chame o analisador de timing. -No menu ANALYSIS
chamar REGISTER PERFORMANCE. -O analisador de
performance irá determinar no corrente projeto, o
ponto de maior freqüência de trabalho, listando
ainda os demais ponto de freqüência para perfeito
funcionamento do projeto.
ponto de maior freqüência
Valor máximo do clock no ponto especificado.
61
Compilando com parâmetros de Timing
No caso de utilizarmos parâmetro específicos e
pré definidos de timining, tais como freqüência
máxima de trabalho, tempo de propagação entre
macrocelulas, etc, podemos descrever estes
parâmetro ao software, de modo que na compilação,
sejam obedecidos os parâmetros pré
estipulados. No menu ASSIGN, chamamos a seguinte
opção GLOBAL PROJECT TIMING REQUIREMENTS. Irá
aparecer a seguinte janela
tpd - é o tempo de propagação de um sinal de
entrada utilizando somente lógica
combinacional. tco - e o tempo para se obter um
sinal em um pino de saída registrado, após o
pulso de clock. tsu - tempo de setup. É o em que
o dado ou enable de um flip flop tem que estar
presente antes do sinal de clock ocorrer. fmáx -
máxima freqüência de trabalho. OBS Os
parâmetros de roteamento de timing somente
poderão ser utilizados nas seguintes Famílias de
componentes Max7000 Max9000 Flex10000 Flex80
00
1) Escolha o parâmetro a ser roteado. 2) Coloque
o valor desejado. 3) Clique OK e compile o
projeto. OBS Caso não seja possível rotear com o
parâmetro selecionado, o software
automaticamente desprezará o valor seleciona e
emitirá uma mensagem de aviso.
62
PROGRAMANDO O COMPONENTE
-No menu MAXPLUS II chame o comando
PROGRAMMER. -Irá surgir na tela a seguinte
janela
seta o bit de segurança
nome do arquivo de programação
componente
checksum
testa o componente com um arquivo de simulação
verifica se o componente esta em branco
efetua a leitura no componente se o mesmo não
estiver com bit de segurança
verifica se o arquivo gravado está igual ao
arquivo de programação (se o bit de segurança
não estiver setado)
Programa o componente
63
2)Criando um novo arquivo Para criar um novo
arquivo 1) Clique o ícone do novo arquivo no
TOOLBAR. 2)Selecione arquivo editor gráfico. 3)
Clique OK.
EDITOR GRÁFICO
EDITOR DE SÍMBOLO
EDITOR DE TEXTO
EDITOR DE FORMA DE ONDAS
Irá aparerecer a seguinte janela
texto
Linha ortogonal
Linha perpendicular
arco
Circulo
Zoom in
Zoom out
Vista total da janela
Conexão entre linhas
Conecta e desconecta segmentos de linhas
Write a Comment
User Comments (0)
About PowerShow.com