APLICAÇÕES com EPLDs Usando software MAXPLUS -...

31
LABORATÓRIO DE SISTEMAS DIGITAIS- III APLICAÇÕES com EPLDs Usando software MAXPLUS - II Prof. Luís Caldas

Transcript of APLICAÇÕES com EPLDs Usando software MAXPLUS -...

Page 1: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

LABORATÓRIO DE SISTEMAS DIGITAIS- III

APLICAÇÕES com EPLDs

Usando software MAXPLUS - II

Prof. Luís Caldas

Page 2: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 2

INTRODUÇÃO AO MAXPLUS II

ÍNDICE............................................................................................................................1 1 INTRODUÇÃO AO ASICS 1.1 ASICS........................................................................................................................3 1.2 FLUXO DO PROJETO....................................................................................................4 1.3 PLDS .........................................................................................................................5 2. INTRODUÇÃO À LÓGICA PROGRAMÁVEL 2.1 EPLDS

2.2 ARQUITETURA BÁSICA DE UMA EPLD.................................................................9

2.3 FAMÍLIA MAX 7000 ................................................................................................10

3 MAX+PLUS II 3.1 PARTIÇÃO DE UM SISTEMA DIGITAL............................................................................13 3.2 RESUMO DO USO DO SOFTWARE................................................................................15 4. OPERANDO COM O MAX-PLUS II ..........................................................................16 A . CRIAÇÃO DO PROJETO NOVO......................................................................................16 B. PROCESSO DE SELEÇÃO DOS COMPONENTES .............................................................17 C. ADICIONANDO/DELETANDO FIOS E MOVENDO COMPONENTES ....................................17 D. ADICIONANDO PINOS DE ENTRADA/SAÍDA ....................................................................18 5 - SIMULAÇÃO O CIRCUITO......................................................................................19 A . ESCOLHENDO O DISPOSITIVO PARA O PROJETO...........................................................19 B. CRIANDO A FORMA DE ONDA PARA O SIMULADOR ........................................................20 C. RODANDO O SIMULADOR E ANALISANDO OS RESULTADOS ...........................................23 D. EDITANDO AS PINAGENS ............................................................................................24 E. GERAÇÃO DE SÍMBOLOS.............................................................................................24 6 - EXERCÍCIOS 6.1 . EXERCÍCIO..............................................................................................................24

APÊNDICE A - PLACA UP1 ........................................................................................29 APÊNDICE B - DISPLAYS DA PLACA UP1 ...............................................................30 APÊNDICE C - SINAIS DE ENTRADA E SAÍDA DA PLACA UP1 .............................31

Page 3: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 3

1. INTRODUCÃO AO ASICs

Um ASIC (pronunciado “a-sick”; é um application-specific integrated circuit —pelo menos isto é o acrônimo para circuito integrado de aplicação específica. Antes de se responder a questão “o que significa” primeiro observe a evolução de chip de silício ou um circuito integrado (CI ). A figura 1.1(a) mostra o CI encapsulado (este é um arranjo pin-grid array, ou PGA, mostrado abaixo ; os pinos são introduzidos através dos furos na placa de circuito impresso. O popular chama freqüentemente o encapsulamento de um chip, mas como pode você ver na Figure 1.1(b), o chip próprio de silício (mais propriamente chamada a pastilha) é montada na cavidade sob um terminal selado. A montagem ou corpo da PGA é usualmente feita de material cerâmico, mas encapsulamento em plástico são bastante comuns.

FIGURE 1.1 Um circuito integrado (CI). (a) Um arranjo pin-grid (PGA) package. (b) A pastilha de silício ou chip está sob o encapsulamento.

O tamanho físico de uma pastilha de silício varia de uns poucos milímetros sobre um lado até 01 polegada sobre o lado, mas ao invés nós freqüentemente medimos o tamanho de um CI pelo número de portas lógicas ou o número de transistores que são contidos em um CI. Como a unidade de medida è “eqüivalente a uma porta” correspondendo a uma porta NAND com 02 entradas (um circuito que realiza a função lógica, F = A • B ). Freqüentemente nós apenas usamos o termo porta ao invés de portas eqüivalentes quando medimos o tamanho de um chip. Por exemplo, um CI 100 k-portas contém o equivalente a 100,000 portas NAND de 02 entradas. Exemplos de CIs que não são ASICs incluem partes padrões tais como: chips de memória, chips vendidos como item comodity—ROMs, DRAM, e SRAM; microprocessadores; TTL ou CIs TTL-eqüivalente nos níveis SSI, MSI, e LSI. Exemplos de CIs que são ASICs incluem: chips para brinquedos urso que conversa; chip para satélite; chip projetado para manipular a interface entre a memória e o microprocessador para uma workstation CPU; e chip contendo um microprocessador como uma célula junto com outra lógica. Como regra geral, se você pode encontrar um ASIC no data book, então provavelmente ele não é um ASIC, mas existem algumas exceções. Por exemplo, 02 CIs que podem ou não podem ser considerados ASICs é o chip controlador para PC e o chip para modem. Ambos destes exemplos são específicos para uma aplicação (formas de um ASIC) mas são vendidos para muitos diferentes vendedores de sistemas (shades de parte padrão). ASICs tais como elas são algumas vezes chamadas de application-specific standard products ( ASSPs ). 1.1 Tipos de ASICs Um full-custom CI inclui alguns (possivelmente todas) células lógicas que são customizadas e todas as máscaras das camadas que são customizadas. Um microprocessador é um exemplo de um CI full-custom. Customizando todas as feituras do CI permite aos projetistas incluírem circuitos analógicos, células otimizadas de memória, ou estruturas mecânicas sobre o CI. Os CIs Full-

Page 4: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 4

custom são os mais caros para fabricar e projetar. O membro da família que estamos mais interessados são os semicustom ASICs, no qual todas as células lógica são pré-projetadas e algumas (possivelmente todas) das máscaras das camadas são customizadas. Usando células pré-projetadas de uma biblioteca de células faz a vida dos projetista bem mais fácil. Existem dois tipos de semicustom ASICs : standard-cell–based ASICs e o gate-array–based ASICs. A seguir será descrito os ASICs programáveis, no qual todas as células lógicas são pré-projetadas e nenhuma mascaras das camadas são customizadas. Existem dois tipos de ASICs programáveis: o dispositivo de lógica programável PLD e o mais novo da família ASIC, o field-programmable gate array FPGA. 1.2 FLUXO DO PROJETO A figura 1.10 mostra uma seqüência de passos para o projeto de um ASIC; chamamos de fluxo do projeto . Os passos são listados a seguir :

FIGURE 1.10 ASIC design flow.

Design entry ( Entrada do Projeto ). Entrada do desenho em um sistema de projeto ASIC, utilizando uma linguagem de descrição de hardware ( HDL ) ou uma entrada esquemática . Logic synthesis (Síntese Lógica ). Usar um HDL (VHDL or Verilog) e uma ferramenta síntese lógica para produzir uma netlist —uma descrição das células lógicas e suas conexões. System partitioning (Partição do Sistema ). Dividir o sistema dentro de tamanho de peças ASIC. Prelayout simulation ( Simulação do Pré-Layout ). Verifique par aver se o desenho do projeto funciona corretamente. Floorplanning ( Planejamento do chip ). Arranjar os blocos da netlist sobre o chip.

Page 5: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 5

Placement (Localização). Decidir as locações das células no bloco. Routing ( Roteamento ). Faça as conexões entre células e blocos. Extraction ( Extração ). Determinar a resistência e capacitância da interconexão. Postlayout simulation ( Simulação do Pós-Layout ). Verifique par aver se o projeto ainda opera com as cargas adicionadas na interconexão. Os passos de 1–4 são partes da logical design (lógica do projeto) , e os passos de 5–9 são partes do physical design (física do projeto). Existem algumas sobreposições. Por exemplo, a partição do sistema pode ser considerada como ambas lógica ou física do projeto. 1.3 DISPOSITIVOS LÓGICOS PROGRAMÁVEIS-PLDs CIRCUITOS DIGITAIS Os circuitos integrados desenvolvidos em uma pastilha de silício podem ser divididos em dois grupos de integração: circuitos integrados padrões e circuitos integrados de aplicação específica (ASIC). Os circuitos integrados padrões são compostos pelos circuitos integrados de funções fixas, que correspondem aos componentes digitais básicos (funções E's, OU's, Não E's, OU's Exclusivos, Flip-Flops, etc.), pelos microprocessadores e pelos circuitos integrados reconfiguráveis, ou programáveis (dispositivos lógicos programáveis). Os circuitos integrados de aplicação específica (ASIC) são subdivididos em circuitos integrados denominados "FULL CUSTOM" e circuitos integrados denominados "SEMICUSTOM". Os componentes SEMICUSTOM se dividem nos arranjos de gates (Gate Arrays) e nos arranjos de células (Cell Based). A figura 1 resume esta classificação.

Os circuitos integrados padrões são disponíveis no mercado em grande quantidade de itens. São classificados em SSI (integração de pequena escala) e MSI (integração de média escala), normalmente construídos em lógica TTL, ou CMOS, possuindo funções analógicas e digitais de propósito geral, baixo custo, devido a sua produção em massa, com blocos funcionais bastante

Page 6: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 6

simples e, portanto, necessitando de vários componentes para a realização de uma função específica. Ainda são disponíveis os LSI (integração em grande escala) e os VLSI (integração em muito grande escala) que possuem funções específicas mais complexas, tais como, periféricos de comunicação de dados, temporizadores, controladores de redes, interfaces de barramentos, blocos para processamento digital de sinais, etc. Microprocessadores são componentes extremamente flexíveis devido a sua programabilidade. A programação do componente torna-o flexível para implementação de vários tipos de aplicações, entretanto, a implementação de um algorítmo por software será mais lenta que quando implementada por um hardware equivalente. Assim, para alguns casos, a tarefa deverá ser implementada por hardware. Os componentes ASIC são programados através de interconexões metálicas usadas na fabricação de circuito integrado, sendo também denominados de MPLD´s (Mask-Programmable Dispositivos de lógica programável por máscaras, necessitam de ter suas funções definidas da operação implementadas na própria construção do componente. Os componentes ASIC's Full Custom tem o seu projeto desenvolvido no nível de transistores, para se obter uma performance ótima, possuem longo tempo de desenvolvimento, alto custo de projeto, alto nível de integração e somente poderá ter uma alta performance de desenvolvimento se produzido em grande volume. Os componentes ASIC's Semicustom são fabricados em quantidades de milhares de peças e utilizam de ferramentas CAD para o seu desenvolvimento. O projeto do usuário estará baseado em blocos pré-desenvolvidos, ou em células contendo blocos lógicos, flip flops, ou funções digitais maiores. O usuário não executa o seu projeto a nível de transistores, ou de desenvolvimento de células. Estes componentes geralmente são classificados em arranjos de blocos (gate arrays), em arranjos de células (cell based) e em arranjos gerais de células (macrocells, ou general cells). Em todos os casos, a fabricação final do componente é realizada pelo fabricante de circuitos integrados. Macro células são construídas com blocos e células compondo uma biblioteca de funções, com nenhuma restrição no posicionamento destes itens em uma fila ou em uma matriz. Podem incluir áreas de memória RAM e ROM, arranjos lógicos programáveis (PLA) e grandes blocos funcionais, equivalentes aos VLSI's, por exemplo, microprocessadores, controladores de CRT, etc. "Gate arrays" são arranjos regulares de blocos que possuem células periféricas para possibilitar interligações de entrada e saída. Podem ser arranjados em blocos, em filas, ou em matriz de blocos (sea-of-gates). Usualmente, somente as camadas de metais que interligam esses blocos é que serão desenvolvidas. "Standard Cells" são compostos de uma biblioteca de células padrões arranjadas em arquitetura de filas e com canais de roteamento desenvolvido de acordo com a necessidade do usuário. Algumas vezes somente se desenvolvem camadas de metais, outras vezes há a necessidade de se desenvolver todas as camadas no componente. A figura 2 apresenta a estrutura de arranjos de blocos organizados por blocos, filas e matriz, com também a estrutura de um ASIC composto de células padrões e blocos funcionais.

Page 7: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 7

2. INTRODUÇÃO A LÓGICA PROGRAMÁVEL Uma função lógica, seja combinacional ou seqüencial, poderá ser representada na forma de soma de produtos através do uso do Teorema de DeMorgan ou das Leis da Álgebra Booleana. Uma função lógica complexa de multiníveis poderá facilmente ser reduzida a uma configuração de dois níveis usando E's-OU's. Estas propriedades das funções lógicas possibilitaram a implementações de componentes eletrônicos contendo arranjos uniformes de E's-OU's que podem ser programados, de uma maneira clara e eficiente, para a obtenção da função desejada. Com a finalidade de aumentar a capacidade de implementação lógica nos dispositivos programáveis, surgiram novas arquiteturas que incorporam flip-flops em suas estruturas para facilitar o desenvolvimento de máquinas de estado e circuitos com lógica síncrona. Os primeiros dispositivos programáveis surgiram na década de 70 através do desenvolvimento da tecnologia de memórias ROM programáveis (PROM's). Os componentes programáveis são, portanto, circuitos integrados que podem ser configurados pelo usuário em seu local de trabalho, sendo denominados de FPLD´s (Field-Programmable Logic Device. Os mesmos, por serem fabricados por completo e não apresentarem uma função lógica definida, até que sejam configurados, diferem dos circuitos integrados personalizáveis por máscaras (ASIC, CUSTOM ou SEMICUSTOM), os quais tem um alto fator de tempo de desenvolvimento e de custo. Para poder personalizar um dispositivo programável, o usuário terá a sua disposição software que permite descrever a função lógica desejada usando captura de diagramas esquemáticos, tabelas verdadeiras de tensão, equações booleanas, linguagem de descrição de hardware (HDL - Hardware Description Language), formas de ondas de sinais de entrada e saída, ou qualquer outra opção fornecida pelo fabricante do componente. Após a definição, simulação e validação do funcionamento, haverá um hardware específico que irá programar o dispositivo. A programação do dispositivo é feita de maneira serial, ou seja, somente um dispositivo por vez. Já para os dispositivos personalizados por máscaras, podem ser implementados paralelamente tantos CI's quantos forem permitidos pelo processo de fabricação. Nestes componentes sempre haverá uma perda de elementos não utilizados pela função desejada. Assim, cabe ao fabricante desenvolver ferramentas que possibilitam melhorar o fator de

Page 8: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 8

utilização do CI, ou seja a relação entre a quantidade de funções lógicas implementadas e a capacidade lógica do componente, através de otimização dos elementos programáveis e da escolha adequada do componente a ser utilizado. Entretanto esta perda inevitável de área de silício não utilizada é compensada com o baixo custo de desenvolvimento do dispositivo e a sua rápida obtenção. Os dispositivos de programação utilizados nestes componentes são elementos de programação que permitem conectar, ou não, dois pontos estratégicos do circuito. Comumente estes elementos são elos fusíveis, anti-fusíveis, células SRAM, transistores EPROM e EEPROM. Assim, alguns destes dispositivos podem ser reprogramados e outros são de programação única. As denominações dos fabricantes para estes dispositivos programados pelos usuário, normalmente citadas nas literaturas, são PROM's, PLE's, PAL's, PLA's, EPLD's, FPGA's, e outros. 2.1. EPLD's Os dispositivos lógicos programáveis e apagáveis - EPLD's (Erasable Programmable Logic Devices) foram introduzidos pela empresa ALTERA no ano de 1983. Estes dispositivos são circuitos integrados configuráveis pelo usuário, os quais visam implementar funções lógicas aleatórias. Nos últimos anos estes componentes tem sido preferidos nos projetos devido a sua alta integração, alta performance, baixo custo por função e o decréscimo de custo que está ocorrendo devido ao seu alto volume de fabricação. Uma EPLD pode ser usado, por exemplo, como máquina de estado, ou decodificador de sinais, substituindo vários componentes discretos que implementariam a mesma função. As suas principais vantagens são: - Sua programabilidade e reprogramabilidade permite que funções possam ser alteradas facilmente, simplificando o desenvolvimento de protótipos;

• Sua pinagem é determinada pelo projetista, o que pode simplificar o desenvolvimento de placas de circuito impresso, por movimentação dos sinais conforme desejado;

• Desde que são implementados em tecnologia CMOS, eles consomem menos potência que os dispositivos bipolares;

• Desde que uma célula EPROM tem ordem de magnitude menor que a de um fusível bipolar, então, pode-se implementar mais funções em uma mesma área de silício. Esta alta integração pode resultar em uma quantidade menor de componentes usados em um projeto;

• Um EPLD substitui vários componentes discretos. Isto implicará na redução de tamanho

da placa de circuito impresso, do tempo de montagem, do número de componentes por placa, do estoque de componentes, do tempo de desenvolvimento, entre outras características;

• A programação realizada pelo próprio usuário reduz consideravelmente o tempo de obtenção final do circuito e possibilita futuras modificações;

• A tecnologia usada nestes componentes está baseada em células EPROM, células EEPROM e células SRAM.

O princípio de funcionamento dos componentes EPLD's está baseado nos PAL's, com

estrutura programável de E's e estrutura fixa de OU's. Entretanto, os EPLD's são compostos de vários sub-blocos equivalentes a um PAL, com estruturas de somas de produto, interligados por um arranjo de conexões também programável. Com isto, os sub-circuitos poderão funcionar independentemente, ou serem interligados internamente, para executarem uma função maior.

Page 9: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 9

A figura 3 apresenta esta estrutura.

A ALTERA oferece várias famílias de dispositivos lógicos programáveis, que são: Clássica, MAX 5000, MAX 7000, MAX 9000, FLEX 8000 e FLEX 10K. A arquitetura MAX usa a estrutura de matriz de arranjos múltiplos com tecnologia de programação baseada nas células EPROM, ou EEPROM. A família FLEX usa a arquitetura de matriz flexível de elementos lógicos, com programação baseada em tabelas LUT (look-up table) com células SRAM. 2.2. ARQUITETURA BÁSICA DE UM EPLD O bloco básico de um EPLD é uma célula lógica de propósito geral que contem uma lógica combinatória e flip-flop programável, que pode executar a função de qualquer tipo de flip-flop (D, T, JK e SR), como também, ter a sua operação curto-circuitada, deixando a célula executar uma função puramente combinatória. Na família clássica e na família MAX 5000 a estrutura está baseada em células lógicas. Na família MAX 7000, a estrutura é formada por macrocélulas que são blocos baseados em termos produtos. Na família FLEX 8000, a estrutura é composta de uma matriz de elementos lógicos (LE's), baseados em arquitetura "look-up table". Cada LE contem quatro tabelas (LUT - Look-up table) para compor uma função de quatro variáveis e arquitetura de cascateamento para implementar funções combinatórias complexas e, também, contem registro programável, para implementar funções lógicas seqüenciais. Neste curso será enfatizado a família MAX 7000. 2.3. FAMÍLIA MAX 7000

Page 10: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 10

Esta família é a segunda geração da arquitetura MAX. Possui lógica variando de 1000 e mais de 10000 gates eqüivalentes. 9 Os componentes tem encapsulamento variando de 44 a 208 pinos, no formato PLCC, PGA, QFP e TQFP. Tempo de atraso lógico de até 5 nseg. pino a pino e freqüências de contadores chegando até 178.6 MHz. Também possui bit de segurança programável e todos os elementos desta família são suportados pelo software de desenvolvimento MAX + PLUS II. Possui arranjo de interconexão programável (PIA) fortalecido, o que possibilita velocidade e atrasos fixos entre uma fonte interna e algum circuito destino. Possui macrocélulas avançadas com localizações lógicas eficientes, para possibilitar velocidades e densidades ótimas. Os registradores possuem, clear, preset, clock e habilitador de clock independentes. Temporizações para os registros será realizada por arranjos internos, ou sinais globais de temporização. Possui componentes com alimentação para 3,3 volts, para uso em circuitos portáteis, por exemplo notebooks. A sua arquitetura inclui os seguintes elementos: arranjos de blocos lógicos (LAB), macrocélulas, expansores de termos produto, arranjo de interconexão programável (PIA) e blocos de controle de I/O. Em adicional, a família inclue quatro entradas dedicadas que podem ser usadas como entradas de propósito geral, como sinal de alta velocidade, ou sinais de controle global (clear, clock e habilitadores). A macrocélula avançada pode ser configurada para operação combinacional, ou seqüêncial. É composta de três blocos funcionais: o arranjo lógico, a matriz de seleção de termos produto e o registrador programável. A figura 4 apresenta esta estrutura.

Page 11: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 11

A lógica combinatória é implementada no arranjo lógico, que contem cinco termos produtos por macrocélula. A família MAX 7000 possui alocação programável de termos produtos, fazendo com que um termo produto possa ser usado como entrada lógica primária, aplicada a soma dos elementos (lógica OU e lógica OU exclusiva), para implementar a função combinatória, ou ser usado como entrada lógica secundária, sendo aplicada aos controladores de habilitação de temporização, do clear, do preset, ou do clock. Um termo produto por macrocélula pode ser invertido e realimentado no arranjo lógico. O software de desenvolvimento MAX + PLUS II automaticamente otimiza a alocação dos termos produtos. A figura 5 apresenta um diagrama de blocos de um EPLD da família MAX 7000, contendo o posicionamento dos elementos lógicos na estrutura.

Page 12: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 12

A família MAX 7000 é de alta densidade, com programação de alta performance, fabricada na tecnologia CMOS e com programação baseada em EEPROM. Além da versão clássica, existem as versões: MAX 7000V, que opera com tensão de alimentação de 3,3 volts, MAX 7000E, que é a versão com características fortalecidas, incluindo especificações de barramento local PCI, e a versão MAX 7000S, que incorpora a interface serial padrão IEEE 1149, ou JTAG (Joint Test Action Group), que possibilita a programação na própria placa de circuito impresso denominada ISP (In-System Programmability), ou seja, pode-se alterar as funções do dispositivo sem ter que retirá-lo de sua placa de operação. A programação dos dispositivos da família MAX 7000 poderá ser efetuada com a unidade de programação mestre, denominada MPU, ou com o dispositivo de programação serial denominado byteblaster, para os dispositivo que possuem a comunicação JTAG. Em parceria com a União Digital, a Datapool Eletrônica Ltda desenvolveu um pacote de experiências que visam ensinar as características básicas de projeto com o uso de dispositivos lógicos programáveis. Neste curso serão usados os dispositivos da família MAX 7000S. O pacote contem projetos básicos que envolvam os recursos do software MAX+PLUS II, nos modos de desenvolvimento por esquemático, por formas de ondas e por AHDL. O projeto desenvolvido será

Page 13: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 13

programado serialmente no dispositivo, via conexão a um computador PC, através de um byteblaster, e um adaptador PLCC para DIP, que possibilita a conexão do dispositivo ao protoboard do módulo digital 8810 da Datapool. Assim, após a programação do dispositivo, pode-se usar os recursos de entradas e saídas do módulo 8810 para efetuar a simulação e verificação do projeto. Os dispositivos da família MAX 7000S possuem quatro pinos destinados a comunicação para programação, assim em placas que se deseja efetuar a programação de um dispositivo EPLD, deve-se deixar disponíveis os pinos que executam estas funções. A figura 6 apresenta esta conexão.

3. MAX+PLUS II A ferramenta MAX+PLUS II é utilizada na descrição, compilação, simulação e programação de sistemas digitais implementados através de EPLDs. Neste curso veremos como esta ferramenta pode ser utilizada no projeto de sistemas digitais, tendo como base a metodologia vista em teoria. 3.1. PARTIÇÃO DE UM SISTEMA DIGITAL Um Sistema Digital (SD) pode ser dividido em duas partes : Fluxo de Dados (FD) e Unidade de Controle (UC). No FD (figura 2) são encontrados os elementos responsáveis pela transformação e/ou armazenamento dos dados do SD (registradores, multiplexadores, portas lógicas, etc). A descrição de um FD é feita através de um diagrama lógico (DL), mostrando como estão interligados cada um dos seus elementos.

Page 14: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 14

CLR3

CLK3

IN[1..4]

SEL

CLR1

CLK1

OUT[1..4]

FDPORTAS,

REGS,MUX,...

Fig. 2 - Fluxo de Dados de um Sistema Digital

Na UC (figura 3) estão os sinais de entrada e saída responsáveis pelo controle dos elementos do FD, assim como os sinais de entrada e saída do próprio SD. A UC pode ser descrita de várias maneiras, uma delas é a Rede de Petri.

CLR3

CLK3

LOAD

SEL

CLR1

CLK1UCREDE DE PETRI

READY Fig. 3 - Unidade de Controle de um Sistema Digital

O Sistema Digital (SD) completo pode ser visto na figura 4.

Page 15: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 15

CLR3

CLK3

IN[1..4]

SEL

CLR1

CLK1

OUT[1..4]

FDPORTAS,

REGS,MUX,...

LOAD

UCREDE DE PETRI

READY

SD

Fig. 4 - Sistema Digital Completo

Para a descrição do SD através da ferramenta MAX+PLUS II, será adotada a seguinte nomenclatura: - Fluxo de Dados : nome_do_projeto__FD; - Unidade de Controle : nome_do_projeto__UC;

- Sistema Digital Completo : nome_do_projeto__SD; 3.2 RESUMO DO USO DO SOFTWARE – MAXPLUS II – VERSÃO ESTUDANTE Obtendo o MaxPlus Software: O software versão estudante do MaxPlus II pode ser obtida diretamente do web site ( www.altera.com). Após a obtenção do software, você terá que obter a licensa da Altera e isto é realizado da seguinte maneira : 1. Dirija-se para http://www.altera.com/html/univ/student_edition/student-get.html. 2. Selecione o link “Download the MAX+PLUS II Student Edition software”. a) Selecione e clique “I Agree” no final da página. b) Selecione o “Download Student Edition software student923.exe (23,373,754 bytes)” para receber o programa. Isto pode levar muito tempo. c) Selecione o “Download software patch student923_vhd.exe (601,665 bytes)” para receber software patch. (Este patch é um arquivo comprimido vhd.dll.) 3. Continue no item 2 para solicitar a licença (sobre a mesma página) pela seleção link “Altera University Program: MAX+PLUS II Student Edition Licenses & Authorization Codes”., ou dirija-se para http://www.altera.com/maxplus2-student/index.html. a) Selecione “Versão 9.23” (ou a mais recente versão disponível). Então selecione “Continue.”

Page 16: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 16

b) Altera pedirá agora a você o número serial do harddisco. Você pode receber isto do seu PC pela abertura de uma janela no Windows do DOS e ler o número do volume do disco quando você inserir o comando “dir” do DOS. c) Preencher o questionário do Altera’s e certifique-se de um endereço de e-mail válido. Após o questionário preenchido clique em “Continue”, você receberá a mensagem dizendo que enviaram um e-mail com arquivo de licença do software..Agora clique sobre o link “ View the MAX+PLUS II Student Edition Installation Instructions”. Siga as instruções de instalação do software, instalar o patch, e carregar a licença. Você pode querer guardar esta ou imprimir. i) Quando você recebe a licença, instalar no diretório \max2work. ii) Rode o MAX+plus II 9.23 Baseline. iii) Escolha “License Setup” (Opções do menu). iv) Encontrar o arquivo “license” pelo clique no Browse. Na caixa Diretórios, dirija-se até o diretório no qual você guardou o arquivo license.dat file (i.e., c:\max2work), selecione o arquivo license.dat file caixa Fila, e clique OK. 4. Operando com o MAXPLUS II. Problema Exemplo: Dada a equação lógica Y = A*/B + /C, implementar esta equação usando uma porta AND de 02 entradas, uma porta OR com 02 entradas e 02 inversores no ambiente do MaxPlusII. Após a conclusão do esquemático, simular o circuito, imprimir o esquemático do circuito e os resultados da simulação. Desenhar uma tabela lógica para entradas & saídas e compará-las com os resultados da simulação. I. Tutorial de Projeto do Circuito Inicialmente crie um sub-diretório lab1 sobre o seu PC para guardar as filas geradas pelo MAXPLUS II quando é realizados o esquemático e após a simulação, seguindo os passos a seguir. A. Criação de um projeto novo 1. Crie o sub-diretório ‘lab1’ directory sobre o seu PC para armazenar os arquivos. 2. Rode o Altera MaxPlus II software sobre o Windows. 3. Selecione no Menu e clique sobre “MAX+plusII” e selecione “Graphic Editor”. Abre-se a tela do editor gráfico com a mansagem “Untitled1- Graphic Editor”. 4. Selecione no Menu e clique em “file” e guarde o projeto no arquivo gráfico“lab1.gdf” dentro do subdiretório ‘lab1’ criado no passo #1. 5. Selecione e clique novamente em “file” e selecione “Project” >> “Dirija-se ao “ set project to current file”. Isto informa o MaxPlusII que este é o arquivo corrente o qual você deseja compilar e simular. Page 2/8 MaxPlus II Tutorial com Gráfico Básico e Simulação.

Page 17: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 17

B. Processo de seleção dos Componentes 1. Com o seu mouse dentro da tela do editor, clique a direita sobre o seu mouse e selecione “enter symbol”. Uma janela listando os arquivos na biblioteca de componentes disponíveis do Altera deve aparecer. 2. Na campo “Symbol Libraries”, um duplo clique sobre a biblioteca “..\max2lib\prim”. Isto carrega a biblioteca dos “primitives” e você verá vários componentes listados no campo “Symbol Files”

3. Selecione “and2” e pressione o botão “ok” . Você verá a porta AND2 ( 02 entradas) que aparece sobre a tela. Notar: Você pode ter que pressionar o “+” zoom (incrementa a escala) ou “-“ zoom, no Menu View, clicando em “zoom in” ou em “zoom out”. 4. Repetir os passos de 1-3 to colocar o inversor sobre a tela. Notar: O inversor é encontrado como um “not” no campo do arquivo de “Symbols”. 5. Coloque um outro inversor “not” sobre a tela. Finalmente, coloque uma porta OR de 02 entradas sobre a tela. C. Adicionando/Deletando Fios & Movendo Componentes 1. Coloque o apontador sobre a saída do inversor ( a cruz ) e mantenha pressionado o botão a esquerda do seu mouse. Você verá a cruz ou “+” aparecer na saída. 2. Arraste seu apontador para a entrada da porta AND e solte o botão da esquerda do mouse, que a conexão é realizada.

Page 18: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 18

3. Para deletar uma conexão, simplesmente clique sobre a conexão (ela altera de cor para indicar a seleção) daí pressione o botão del. 4. Experimente movimentar um componente selecionando-o com o seu mouse, mantendo o botão da esquerda pressionando para baixo e movimentando-o para outra locação na tela. Note: Se fios são conectados com o componente e você move, eles permanecem conectados e se arrastam com o componente. Isto é referido como ‘rubber banding’. D. Adicionando Pinos de Entrada & Saída 1. Da mesma forma utilizada na colocação de uma porta na tela do editor gráfico é utilizado para entrar com um pino de entrada e um pino de saída. Clique o botão da direita do mouse e entra no campo “Enter Symbol”, pressione e a janela do arquivo de Símbolos. 2. Clique sobre o nome do pino de entrada (sobre a esquerda do símbolo do pino de entrada) e altere ele para ‘A’. Repetir os 02 passos para criar os pinos de entrada ‘B’ & ‘C’. 3. Da mesma forma que você colocou os pinos de entrada use o mesmo procedimento para os pinos de saída. Altere o nome do pino para ‘Y’. 4. Salvar o projeto. Você agora está pronto para proceder a simulação do circuito.

5. Simulação do Circuito

Page 19: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 19

A. Escolhendo o Componente para o Projeto 1. Após o circuito ter sido criado, você deve estar certo que este é o projeto que você deve simular. Os passos a seguir garantem o sucesso para o seu projeto corrente. Selecione o projeto pressionando o botão no Menu “file” novamente, selecione “Project” >> “set project to current file”. Isto informa o MaxPlusII aplicação que este arquivo é do projeto corrente o qual você deseja compilar e simular. 2. Antes de simular o projeto, você primeiramente deve rodar o “fitter software” para adequar o projeto para um componente programável. Coloque o seu mouse sobre o icon sobre o topo da barra o qual tem um uma figura pequena de pilha com fumaça. Sobre a barra inferior da tela você observa uma mensagem de ajuda do “icon dizendo “Opens the compiler window or brings it to the foreground” ( Janela aberta do compilador). 3. Pressione este icon (compilador) e seguindo a janela do compilador você abre para :

4. Pressionar o botão “start” de início na janela do compilador. Você verá uma mensagem de volta do compilador informando na tela que o dispositivo selecionado automaticamente é da família “MAX7000”, o qual foi encontrado para realizar o projeto. Selecione o dispositivo o qual devemos operar no laboratório. Clique no Menu “Assign” onde abrirá uma tela com vários campos. Selecione o dispositivo, você deve abrir uma janela denominada DEVICE. A seguir em “Device family”, clique em MAX7000S. Em seguida nesta mesma tela em “devices”, clique em EPM7128SLC84-6, no campo “devices” deve inscrever o número do dispositivo. Em seguida clique OK. Nota : Para retirar a seleção de variáveis globais – Clicar em Assign – Global Project Logic Synthesis – no quadro Automatic Global tirar a seleção de ALL, e clicar . Nota Especial : O processo de compilação consiste de vários sub-processos que nós quebraremos em parte e descreveremos futuramente. Por agora, nós queremos apenas que você

Page 20: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 20

compreenda a função principal do compilador que é traduzir o circuito dentro de um conjunto de equações que nós encontramos ou introduzimos dentro de um dispositivo programável. B. Criando a Forma de Onda para usar no Simulator 1. Uma vez que o circuito tem sido compilado dentro de um dispositivo particular de lógica programável, nós podemos rodar o simulador a fim de checar a funcionalidade do circuito. Coloque o seu mouse sobre o icon sobre a barra superior que parece com um personal computer (próximo ao icon do compilador ). Sobre o a barra inferior da tela você uma mensagem de ajuda do icon dizendo “Opens the simulator window or brings it to the foreground”. (Janela aberta do Simulador). 2. Pressione o icon do simulador e você dever ver a seguinte janela aberta do simulador :

3. Pressione o botão “start” de início. Você deve ver uma mensagem de erro que diz “Can’t simulate – não existe um arquivo scf carregado pelo projeto. O simulador está procurando um arquivo de forma de onda básica (*.scf) o qual ele pode-se utilizar para excitar o circuito encontrado na compilação. 4. Pressione o botão para baixo no menu button “Max+plus II” e selecione a opção editor de formas de ondas ou “Waveform editor”. Isto provoca a abertura de uma janela de formas de ondas sem título. 5. Pressione o botão no menu “File” e selecione “save as”. Na janela“Save as” escreva o nome do arquivo “lab1.scf’. Você tem apenas renomeado a janela da forma de onda sem título para ‘lab1’ o qual casa com o nome do seu projeto. Assim você rodar o simulador, ele automaticamente usará este arquivo *.scf que casa o nome do projeto lab1. 6. Coloque o seu mouse dentro da janela ‘lab1.scf – Waveform editor’, mova-o para a área onde o título é Name (Nome dos sinais) : Value (Valor lógico) : e clique com a direita no seu mouse. Clique sobre “Enter Nodes from SNF…”. Você verá a seguinte janela aberta:

Page 21: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 21

7. Pressione o botão “List”. Você deve agora visualizar todas as entradas & saídas (i.e. A,B,C,Y) para o projeto listado no campo“Available Nodes & Groups”. Selecione-os todos eles com seu mouse e pressione o botão “=>” button. A, B, C e Y devem aparecer no campo “Selected Nodes & Groups”. Pressione “OK” para mover estes sinais para o editor de formas de ondas e feche esta janela. 8. O editor de forma de onda (lab1.scf) agora deve ter entradas A, B, and C e a saída Y nela. Pressione the (-) magnify sobre a barra de ferramenta a esquerda da janela principal MaxPlus. Você verá agora a seguinte escala de tempo do editor de formas de Ondas:

9. Sinais na barra de ferramentas a esquerda a serem selecionados.

: atribui o valor zero;

: atribui o valor 1;

Page 22: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 22

: atribui o valor indefinido;

: atribui o valor alta impedância;

: inverte o sinal;

: transforma o trecho selecionado em um sinal de clock; 10. Agrupar sinais de uma mesma via de dados Selecionar os sinais, clicando no primeiro sinal e arrastando o mouse até o último; Clicar em Node - Enter Group; Escolher o nome do grupo; Escolher a base numérica que será utilizada para mostrar os números, na janela Radix; Clicar em .

Para visualizar a simulação, clicar em . Nota Especial: A escala de tempo é mostrada em incrementos de 100nsec. Este não é a menor quantidade de tempo que pode ser colocada para uma dada entrada particular. Uma entrada pode ser selecionada com um clique sobre o nome da variável e o campo da variável ficará escurecido pode ser escolhido valores lógicos como ‘1’ or ‘0’. Mais tarde poderemos alterar o valor mínimo de tempo. 11. Usando seu mouse, arraste-o através do segmento de 100 ns segmento que foi mostrado em uma área escurecida na última janela snapshot. Você observará uma área escurecida como resultado desta operação. Agora pressione o botão da esquerda do mouse da barra de ferramenta que tem “1” nela. Agora experimente pressionar o botão da esquerda do mouse da barra de ferramenta que tem um “0” nela. Este é como colocar a entrada do segmento para um valor particular. Coloque-o para ‘1’ e aponte & clique seu mouse para uma nova área sobre a janela fazer uma troca permanente. 12. Use o (-) (barra de ferramenta mais a esquerda) para novamente incrementar os segmentos de 100 ns vista e modifica as entradas tal igual os padrões mostrados abaixo:

Page 23: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 23

13. As entradas tem agora sido definidas e ‘count’ ou incrementadas através de números binários 001 to 111 (ABC onde A bit mais significativo e C o bit menos significativo). Nós podemos rodar agora o simulador do projeto neste ponto. Nota: A saída Y é preenchida com ‘XXX’ no editor da forma de onda para mostrar que a saída está presentemente indefinida. A razão é que ela é indefinida é que embora as entradas tem sido definidas, a simulação não foi rodada ainda. C. Rodando o Simulador e Analisando os Resultados 1. Para rodar o simulador, simplesmente pressione o botão “Start” sobre o Simulator: Janela Simulação de Tempo. Você deve visualizar uma barra vermelha que se desloca através desta janela ‘project simulation complete’ que deve aparecer. Pressione “Ok” . 2. Se você criou uma tabela lógica agora você poderá comparar os resultados da simulação. Não se esqueça do delay entre as entradas e o tempo de troca da saída. Por exemplo, se nos olhamos o segmento de tempo de 200 até 300 ns nos vemos que as entradas C & B estão em ‘1’ para o intervalo, A é ‘0’ e a saída resultante troca de ‘1’ ´para o valor estável ‘0’ em um tempo breve após a marcação 200 ns. Este leve atraso é devido ao atraso físico da porta dos CPLD requeridos para implementar o circuito INVERSOR/AND/OR. Em outras palavras, cada porta em seu circuito tem um “chunk” de hardware FPGA que é associada com ela e associada a um atraso físico. 3. Para visualizar um segmento de tempo, pode-se selecionar no Menu “View” no campo time range, onde abre uma janela “time range”. Pode se digitar o intervalo de tempo inicial e final. Observar que o tempo final não pode ser maior do que o tempo simulado. 4. Caso deseje aumentar o tempo de simulação, clique no Menu “File”, no campo “End Time” . Abre-se uma janela End Time, digital o tempo de simulação total.

Page 24: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 24

5. Caso deseja-se diminuir o segmento de tempo de simulação, no menu “Option” no campo “Grid Size” digitar o tempo mínimo (ex. 20ns). 6. Se uma variável é por exemplo um relógio, clique na variável em C, na barra de ferramenta a esquerda do editor de tela de forma de ondas. Abre-se uma janela do sinal multiplicado por um fator. Com o fator 1 o sinal da variável aparece multiplicado pelo grid time. 7. Para alterar o sinal de tempo clique em C@ para sobrescrever o segmento de tempo e inserir o novo fator de multiplicação. D. Editando a pinagem utilizando a placa UP1 Para que possamos utilizar a Placa UP1 (vide apêndices A, B e C) precisamos informar ao software quais os números dos pinos da EPLD que já estão conectados da placa. Isto é feito editando-se o arquivo denominado lab1.ACF, gerado pelo software após a compilação do projeto. Basta acrescentar as linhas abaixo, depois da linha que contém o “part number” da EPLD que será utilizada no projeto. E. Geração de Símbolos Todo o projeto feito no MAX+PLUS II pode ser descrito através de símbolos, sendo que estes símbolos podem ser conectados, para formarem um projeto mais complexo. Para gerar o símbolo de um projeto : Entrar com o nome do projeto - Clicar em “File” no campo “Project-Name”, escolher o diretório, fornecer o nome e clicar ; Carregar o arquivo que define o projeto - Clicar em “File”, no campo “Open”, escolher o tipo de arquivo (.GDF para o FD e .TDF para a UC), coloque sempre o nome do mesmo e clicar

; Gerar o símbolo - Clicar em “File” – no campo “Create Default Symbol”. Para visualizar o símbolo criado, clicar em “file”, clicar no campo “edit symbol” , abre-se uma tela com um bloco correspondente ao circuito com as entradas e saídas. Exercício : Descrever e compilar o sistema digital completo (Nome do projeto Sobrenome_gdf), conforme os itens 2.2 a 2.7, descritos anteriormente. Nome do Projeto : Caldas_FD Dentro deste arquivo, criamos o arquivo gráfico Caldas_fd.gdf Desenvolver um sistema digital completo, fluxo de dados, unidade de controle e sistema digital, para o projeto exemplo de um contador crescente de 1 até 9, usando uma unidade lógica aritmética. Apresentar na saída os valores de 1 até 9.

Page 25: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 25

Passo Inicial : Construir o fluxograma do projeto.

Implementação do circuito, usando o editor gráfico do software MAX-PLUS II.

CONT = 0

N < 0CONT = CONT + 1

N = 10

N = N - 1

FIM

N ≥ 0

N < 0

Page 26: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 26

A simulação a seguir apresenta as formas de ondas em vários pontos do circuito e a saída de dados.

A seguir desenvolveremos a unidade de controle que realiza o fluxograma dado. A U.C que desenvolve o projeto é apresentada a seguir. A Rede de Petri correspondente ao sistema de controle descrito pode ser expressa como se segue: A rede de Petri a seguir mostra o controle da U.C. e as equações de estado e saída.

Equações de Estado E0=E3*(I<10) + E0*START E1=E0*START E2=E1 + E3*(I<10) E3=E2 Equações de Saída – considerando que PCn corresponde a cada uma das palavras de controle, para definirmos as equações de saída devemos considerar cada variável independentemente. Assim, considerando que os casos irrelevantes ( X) assumam valor lógico zero teremos: LOAD=E2 CLEAR=E1 OE=E3 ALU2=E2 As demais variáveis (IE, ALU1 e ALU0)

Page 27: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 27

A implementação desta rede através de um circuito utilizando flip-flops resulta no diagrama abaixo:

As equações no editor de texto, serão : SUBDESIGN CALDAS_UC ( CLKUC, RES : INPUT; START, CONT :INPUT; CLRN : OUTPUT; OE : OUTPUT; ALUSEL0, ALUSEL1, ALUSEL2 : OUTPUT; ) Variable E[4..1] : DFF; Begin E[].CLK=CLKUC; E[1] = (E4&CONT # E1&!START) # RES; E[2] = (E1&START)&!RES; E[3] = (E2 # E4&!CONT)&!RES; E[4] = E3&!RES; CLRN = E2&!RES; ALUSEL0 = vcc; ALUSEL1 = vcc; ALUSEL2 = gnd; OE = E4; END; A simulação da U.C, é apresentada a seguir.

e2

E3

E1

E0

E0

E3

4

D

DFF

CLRN

QPRN

8 E3OUTPUT

VCC20 I<10 INPUT21

AND2

19

OR2

3

D

DFF

CLRN

QPRN

2

D

DFF

CLRN

QPRN

7 E2OUTPUT

VCC17 START INPUT18

AND2

6 E1OUTPUT

VCC15 START INPUT

14

NOT 10

AND29

OR2

1

D

DFF

CLRN

QPRN

VCC12 I<10 INPUT

13

NOT

11

AND2

5 E0OUTPUT

Page 28: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 28

A implementação do sistema digital completo é mostrado a seguir.

A simulação do sistema digital completo será :

Page 29: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 29

APENDÍCE A – PLACA UP1

Page 30: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 30

APÊNDICE B - DISPLAYS DA PLACA UP1

Page 31: APLICAÇÕES com EPLDs Usando software MAXPLUS - IIluiscaldas.com.br/unip/digitaisII/laboratorio/maxplus_manual.pdf · Manual - Tutorial Prof. Luís Caldas Pág. 4 custom são os

Manual - Tutorial Prof. Luís Caldas

Pág. 31

APÊNDICE C - SINAIS DE ENTRADA E SAÍDA DA PLACA UP1

Referências : 1. Prof. Edson Lemos Horta - Apostila de aula de sistemas digitais. 2. Prof.a Maria Claudia F. de Castro – Apostila de aula de sistema digitais. 3. Tutotial do MAXPLUS II – ALTERA.