Sei sulla pagina 1di 19

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL

PROJETO DE CIRCUITOS COM MAX+PLUS II


Edith Ranzini, Edson Lemos Horta e Edson T. Midorikawa / 2002

RESUMO
Este material apresenta, de uma maneira breve, o uso do MAX-PLUS II no desenvolvimento de um circuito digital. Atravs de um projeto-exemplo, so apresentados os principais mdulos do programa e os comandos essenciais.

1. METODOLOGIA DE PROJETO UTILIZANDO MAX+PLUS II


O projeto de circuitos digitais pode ser automatizado atravs do uso de ferramentas de CAD (Projeto Assistido por Computador). Uma destas ferramentas a MAX+PLUS II, da Altera, utilizada na descrio, compilao, simulao e programao de sistemas digitais implementados atravs de EPLDs. Como mostrado na figura 1.1, o projeto de um Sistema Digital (SD) pode ser dividido nas seguintes etapas: entrada de dados do circuito, compilao, simulao e programao de um dispositivo lgico programvel (EPLD).

ENTRADA DE DADOS

COMPILAO

SIMULAO

OK ? S

PROGRAMAO

Figura 1.1 Metodologia de Projeto de SD com o MAX+PLUS II. A ENTRADA DE DADOS pode ser realizada de trs maneiras distintas: Diagrama Lgico (Captura Esquemtica) - neste modo, o projetista tem duas opes para descrever o projeto. Na primeira opo, o MAX+PLUS II permite a importao de arquivos construdos com outras ferramentas, como, por exemplo, OrCAD. Na segunda opo, que a mais utilizada, o MAX+PLUS II disponibiliza um aplicativo denominado Editor Grfico. Os smbolos utilizados no diagrama lgico podem ser obtidos de uma biblioteca padro, ou podem ser gerados pelo prprio projetista, a partir de outros projetos j implementados, permitindo a descrio de forma hierrquica de um sistema digital. A biblioteca padro do Editor Grfico possui smbolos que representam todos os circuitos integrados da famlia 74xx, permitindo que um projetista familizarizado com estes componentes descreva o sistema digital de maneira mais rpida e eficiente. importante salientar que estes smbolos apenas implementam as funes lgicas de um 74xx em uma EPLD, no possuindo nenhuma outra 1

Projeto de Circuitos com MAX+PLUS II

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL caracterstica fsica dos CIs comerciais (pinagem, tempos de propagao, consumo, etc), pois estas ltimas sero determinadas pelo tipo de EPLD na qual o sistema ser implementado. Alm destes smbolos que representam a famlia 74XX, o MAX+PLUS II tambm possui bibliotecas com funes lgicas bsicas (flip-flops, portas lgicas, etc) e avanadas (contadores especiais, microprocessadores, etc), sendo que estas ltimas bibliotecas devem ser adquiridas de terceiros. Arquivo Texto - este modo permite a descrio de um sistema digital atravs de linguagens de descrio de hardware (HDL). O MAX+PLUS II aceita trs tipos de HDLs: AHDL, que uma linguagem proprietria da ALTERA; Verilog e VHDL, que so linguagens padronizadas pelo IEEE, utilizadas mundialmente. A ferramenta MAX+PLUS II possui um Editor de Textos para apoiar essa forma de descrio do SD. Formas de Onda - este modo permite que o projetista descreva o comportamento de um sistema digital atravs do desenho das formas de onda na entrada e na sada do mesmo. Este recurso utilizado apenas quando o SD simples e "bem comportado" (por exemplo, um contador sncrono). A descrio feita atravs de um Editor de Formas de Ondas.

Na COMPILAO, o projetista determina qual ser a EPLD que dever implementar o sistema digital e o MAX+PLUS II procura seguir esta diretriz. Caso no consiga, fornecida uma mensagem de erro, e projetista pode optar por escolher outra EPLD para implementar o seu sistema, ou deixar que a ferramenta implemente o projeto em mais de uma EPLD do tipo escolhido. A compilao tambm responsvel pela gerao de todos os arquivos necessrios simulao e programao da EPLD. Existe tambm a opo do sistema escolher automaticamente a EPLD mais adequada. Na SIMULAO, possvel descrever cada uma das formas de onda de entrada do SD e observar as formas de onda de sada, geradas pela ferramenta. Com isto o projetista consegue verificar o funcionamento do SD antes de implement-lo fisicamente, corrigindo eventuais erros que possam ter ocorrido no projeto. Para a simulao tambm utilizado o Editor de Formas de Ondas. Na PROGRAMAO, os arquivos gerados pela compilao so transferidos para a EPLD, programando a mesma para funcionar de acordo com o projeto descrito anteriormente. Esta transferncia pode ser feita atravs de programadores de componentes ou cabos especiais, conectados ao PC.

Para a projeto do SD atravs da ferramenta MAX+PLUS II, ser adotada a seguinte nomenclatura para os arquivos de projeto: Fluxo de Dados : ........................ nome_do_projeto__FD Unidade de Controle : ................ nome_do_projeto__UC Sistema Digital Completo : ........ nome_do_projeto__SD

Por exemplo, para um SD denominado MULTI, h os seguintes projetos : MULTI_FD (Fluxo de Dados); MULTI_UC (Unidade de Controle); MULTI_SD (Sistema Digital Completo).

2. PROJETO-EXEMPLO
apresentado nesta seo o desenvolvimento do projeto de um sistema digital (muito simples), utilizando a metodologia descrita com o MAX-PLUS II.

2.1. Especificao do Projeto


Projetar um Sistema Digital (SD) que seja responsvel pelo armazenamento de dois nmeros quaisquer (4 bits, cada um), que sero introduzidos no mesmo atravs de uma nica via de dados. Aps esta programao, o SD deve Projeto de Circuitos com MAX+PLUS II 2

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL disponibilizar os nmeros armazenados, um de cada vez, em uma nica via de dados de sada. Tanto o armazenamento como a sada dos dados devem ocorrer sincronamente com o CLOCK do SD. Para realizar esta tarefa, o SD deve possuir os seguintes sinais: IN - via de dados de entrada, com quatro bits; OUT - via de dados de sada, com quatro bits; N1 - sinal de controle utilizado no armazenamento do primeiro nmero; N2 - sinal de controle utilizado no armazenamento do segundo nmero; M1 - sinal de controle utilizado para mostrar na via de dados de sada o primeiro nmero armazenado; M2 - sinal de controle utilizado para mostrar na via de dados de sada o segundo nmero armazenado.

A figura 2.1 abaixo mostra o SD com os sinais descritos anteriormente:

IN[4..1] N1 N2 M1 M2

SD
Figura 2.1 SD do Projeto.

OUT[4..1]

Para que o primeiro nmero seja armazenado no sistema, ele deve ser colocado na via de dados IN e o sinal N1 deve ser ativado. De maneira anloga, o segundo nmero armazenado quando o mesmo colocado na via IN e o sinal N2 ativado. Para mostrar cada um destes nmeros na via OUT, os sinais M1 ou M2 devem ser acionados. Caso seja acionado M1, a via OUT dever mostrar o primeiro nmero. Caso seja acionado M2, a via OUT dever mostrar o segundo nmero.

2.2. Definio do Sistema Digital do Projeto


O SD especificado no item 2.1 pode ser projetado de diversas maneiras. Uma delas baseada no particionamento visto no item 3. Portanto, necessrio dividir o SD em Fluxo de Dados (FD) e Unidade de Controle (UC). O FD deve conter os elementos de transformao e/ou armazenamento do SD. No caso do SD est sendo projetado, no sero necessrias transformaes de dados. Como sero armazenados dois nmeros quaisquer e apenas, um deles ser apresentado na via de sada, uma das possveis solues utilizar trs registradores: R1 para armazenar o primeiro nmero, R2 para armazenar o segundo nmero e R3 para armazenar o nmero que ser mostrado na sada. Para que o registrador R3 possa receber o contedo de R1 ou R2, necessria a colocao de um elemento que permita a escolha de uma, dentre duas entradas disponveis. Esta funo executada por um multiplexador 2x1. Para que cada um dos elementos do FD execute as suas funes de acordo com a especificao do projeto, so necessrios alguns sinais de controle, a saber, EN ("enable"-habilitao) de cada um dos registradores e SEL (seleo) do multiplexador. Estes sinais devem so gerados pela Unidade de Controle (UC). A ordem em que os mesmos sero gerados ir depender dos sinais de controle externos ao SD, a saber, N1, N2, M1 e M2. Finalmente, de acordo a definio acima, obtm-se a partio do SD que est sendo projetado, que mostrada na figura 2.2. Projeto de Circuitos com MAX+PLUS II 3

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL

N1

N2

M1

M2

IN[4..1]

SD
EN1 A 3

UC

CLR1 A 3

SEL

FD
OUT[4..1]

Figura 2.2 SD do Projeto. Nos prximos itens sero detalhados cada um dos blocos acima e como projetar os mesmos, utilizando os recursos do MAX+PLUS II.

2.3. Projeto do Fluxo de Dados


O projeto do fluxo de dados pode ser divido em duas etapas principais: descrio e compilao: o fluxo de dados descrito atravs de um diagrama lgico e, em seguida, sintetizado para uma EPLD especfica; simulao: as formas de onda dos sinais de entrada do fluxo de dados so descritas e o MAX+PLUS II fornece as formas de onda dos sinais de sada, seguindo os parmetros gerados na etapa anterior.

2.3.1. Descrio e compilao do Fluxo de Dados (FD)


O diagrama lgico que representa o FD do SD gerado a partir de um Diagrama de Blocos, como o da figura 2.3. As etapas seguintes consistem da escolha dos componentes que realizam as funes dos blocos, da descrio do diagrama lgico e da compilao na EPLD escolhido. Para o projeto, foram selecionados os componentes da biblioteca da famlia 74XX: R1 = R2 = R3 = 74173 MUX2x1 = 74157

que realizam funes compatveis com as dos blocos do diagrama. Como adotaram-se, no ASM, sinais de enable active-high, e como esses sinais, nos componentes selecionados, so active-low, ser necessria a utilizao de inversores (smbolo NOT).

Projeto de Circuitos com MAX+PLUS II

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL O diagrama lgico ser desenhado com o auxlio do Editor Grfico e o projeto ser compilado num componente de famlia (MAX7000S), que o EPM7128SLC84-7.

IN[1..4]

CLR1 EN1 CLKFD

CLR2

R1

EN2

R2

SEL

MUX2x1
CLR - CLEAR SEL - SELEO EN - ENABLE CLKFD - CLOCK

CLR3 EN3

R3

OUT[1..4]

Figura 2.3 - Diagrama em Blocos do FD do Projeto.

Utilizao do MAX+PLUS II
Para a descrio e compilao do projeto do FD deve ser adotado o procedimento a seguir: a) rodar o MAX+PLUS II; b) especificar o nome do projeto - Clicar em File-Project-Name, escolher o diretrio, fornecer o nome (exp1_fd) e clicar ;

c) acionar o editor grfico - Clicar em MAX+plus II-Graphic Editor; d) colocar os componentes no diagrama - Posicionar o cursor onde ser inserido o smbolo, clicar com o boto esquerdo do mouse, clicar em Symbol-Enter Symbol, escolher a biblioteca de smbolos, escolher o smbolo e clicar ; e) colocar os pinos de entra/sada no diagrama - Posicionar o cursor onde ser inserido o smbolo, clicar com o boto esquerdo do mouse, clicar em Symbol-Enter Symbol, digitar o nome do pino (INPUTC para entrada ou OUTPUTC para sada) e clicar ;

f) conectar os componentes - Colocar o mouse no ponto inicial, apertar o boto esquerdo e arrastar o mesmo (sem soltar o boto) at o ponto final; g) colocar nomes nos pinos de entrada e sada - Colocar o mouse sobre o pino, clicar com o boto direito, escolher Edit Pin Name e escrever o nome do mesmo;

Projeto de Circuitos com MAX+PLUS II

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL h) salvar o arquivo, verificando se existem erros - Clicar em File-Project-Save & Check, escolher o nome do arquivo (se ainda no existir) e clicar . Se houver erros, basta clicar duas vezes com o boto esquerdo do mouse na mensagem, para que os mesmos sejam mostrados no diagrama; i) apagar componentes (caso seja necessrio) - Basta escolher os componentes com o mouse e pressionar del. j) repetir os itens g e h, at no existirem mais erros; k) escolher a EPLD que ser usada na implementao - Clicar em Assign-Device, escolher a famlia de EPLD (Device Family), escolher o tipo de EPLD (Devices) e clicar l) clicar . ;

Aps a realizao destes passos, estaro disponveis alguns arquivos, importantes, a saber : *.gdf - arquivo com a descrio grfica do diagrama lgico; *.rpt - arquivo com as estatsticas da compilao do diagrama lgico.

Apenas a ttulo de exemplo, para facilitar a descrio do diagrama lgico, usando o Editor Grfico, apresenta-se, na figura 2.4, a imagem de um diagrama desenhado com o MAX+PLUS II.

Figura 2.4 - Exemplo de Diagrama Lgico.

2.3.2. Simulao do Fluxo de Dados


Para verificar se o projeto est funcionando de acordo com a sua especificao inicial, necessria a simulao do mesmo. Atravs do MAX+PLUS II esta simulao bastante facilitada, possibilitando a visualizao das formas de onda de entrada e sada do circuito, alm de prever com exatido todos os tempos de propagao entre os sinais do projeto. Para simular um circuito digital necessrio adotar o seguinte procedimento: a) especificar o nome do projeto que ser simulado;

b) abrir o arquivo de simulao; c) definir o tempo total que ser utilizado na simulao;

d) definir qual a menor unidade de tempo que ser utilizada na simulao; e) f) escolher as formas de onda que sero mostradas na tela; descrever as formas de onda;

g) agrupar sinais de uma mesma via de dados, caso seja necessrio; h) salvar o arquivo; i) acionar o simulador.

Cada uma destas etapas explicada nos prximos itens.

Projeto de Circuitos com MAX+PLUS II

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL

2.3.2.1. Especificar o nome do projeto


a) clicar em File-Project-Name; b) escolher o diretrio e fornecer o nome do projeto (exp1_fd); c) clicar em ;

2.3.2.2. Abrir o arquivo de simulao


a) clicar em File - New; b) escolher Waveform Editor File; c) clicar em .

2.3.2.3. Definir o tempo total que ser utilizado na simulao


a) clicar em File - End Time; b) digitar o tempo total igual a 2 s; c) clicar em .

2.3.2.4. Definir qual a menor unidade de tempo que ser utilizada na simulao
a) clicar em Options-Grid Size; b) digitar o valor 20 ns; c) clicar em .

2.3.2.5. Escolher as formas de onda que sero mostradas na tela


a) clicar em Node-Enter Nodes from SNF; b) clicar em List. Sero mostrados todos os sinais de entrada e sada do sistema; c) clicar em d) clicar em . , fazendo com que estes sinais sejam transportados para a janela Selected Nodes & Groups;

2.3.2.6. Descrever as formas de onda


a) clicar uma vez sobre o boto , ativando o mesmo;

b) colocar o mouse no incio do trecho a ser editado, pressionar o boto esquerdo e arrast-lo at o final do intervalo. Caso o projetista queira selecionar a forma de onda na sua totalidade, basta clicar sobre o nome da mesma.; c) escolher o valor que ser colocado no intervalo. Existem alguns botes para facilitar esta escolha. Estes botes so : : atribui o valor zero; : atribui o valor 1; : atribui o valor indefinido; : atribui o valor alta impedncia; : inverte o sinal; : transforma o trecho selecionado em um sinal de clock;

Projeto de Circuitos com MAX+PLUS II

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL

Neste item, a primeira forma de onda a ser descrita, para qualquer FD, o sinal de clock (CLKFD), que responsvel pela sincronizao de todos os registradores presentes no fluxo de dados. Para descrever este sinal, basta selecion-lo por completo, clicar no boto figura 2.5. e clicar em . Para os demais sinais, usar as formas de onda sugeridas na

Figura 2.5 Sugesto de Sinais para a Simulao.

2.3.2.7. Agrupar sinais de uma mesma via de dados


a) selecionar os sinais, clicando no primeiro sinal e arrastando o mouse at o ltimo; b) clicar em Node-Enter Group; c) escolher o nome do grupo; d) escolher a base numrica que ser utilizada para mostrar os nmeros, na janela Radix; e) clicar em .

2.3.2.8. Salvar o arquivo


a) clicar em File-Save; b) escolher o nome do arquivo; c) clicar em .

2.3.2.9. Acionar o simulador.


a) clicar em MAX+plus II-Simulator; b) clicar em ; ;

c) ao final da simulao, se no existirem erros, clicar em d) para visualizar a simulao, clicar em .

Projeto de Circuitos com MAX+PLUS II

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL

2.4. Projeto da Unidade de Controle


A unidade de controle pode ser projetada de vrias modos, sendo que o adotado nesta experincia ser o Diagrama ASM (ver Anexo 1). Analogamente ao projeto do fluxo de dados, o projeto da unidade de controle possui duas etapas principais: ! ! descrio e compilao: consiste em se transformar o diagrama ASM em um arquivo texto, na linguagem AHDL; simulao: as formas de onda dos sinais de entrada da unidade de controle so descritas e o MAX+PLUS II fornece as formas de onda dos sinais de sada, seguindo os parmetros gerados na etapa anterior.

Para o SD proposto, uma das solues para a unidade de controle pode ser vista na figura 2.6. O diagrama ASM desta figura descreve o algoritmo de gerao dos sinais de controle do fluxo de dados, a partir dos sinais de controle externos do sistema digital.

CLR1 CLR2 CLR3

S0

N1

N2 1

EN1

EN2

S1

S2

S3 0 0 1
EN3

N1

M1

N2

M2 1
SEL

S4

S5

SEL EN3

S6

Figura 2.6 Diagrama ASM da UC do Projeto.

2.4.1. Descrio e Compilao da Unidade de Controle


O primeiro passo a seguir, para se descrever um diagrama ASM para o MAX+PLUS II, a descrio (designao) de cada um dos estados presentes no diagrama. O MAX+PLUS II, atravs da linguagem AHDL, permite vrias alternativas para designar os estados. Nesta experincia adotar-se- a designao de cada estado pelo valor das sadas da UC, que devem ser geradas em cada estado. Por exemplo, o estado S0 ser caracterizado como sendo aquele em que: CLR1=1, CLR2=1, CLR3=1, EN1=0, EN2=0, EN3=0 e SEL=0.

Projeto de Circuitos com MAX+PLUS II

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL Uma vez caracterizados os estados, necessrio descrever as transies entre os mesmos, ou seja, descrever o diagrama ASM atravs de uma tabela de transies. Tambm h alternativas, em funo da estratgia adotada na construo do ASM (MEALY ou MOORE). Nessa experincia, adotou-se a soluo MOORE. Tanto os estados, como a tabela de transies, so descritos atravs da linguagem AHDL, usando o Editor de Texto. As construes desta linguagem formam as sees do arquivo texto, a saber: a) b) denominao do projeto nesta seo, iniciada pela palavra SUBDESIGN, especificado o nome do projeto, que dever ser o mesmo declarado no incio da descrio da UC; declarao de entradas e sadas nesta seo, delimitada por parnteses, so declarados todos os sinais de entrada/sada do diagrama. As declaraes de entradas so finalizadas por :INPUT; e as de sada por :OUTPUT; ; denominao dos estados - nesta seo, iniciada pela palavra VARIABLE, os estados do diagrama ASM so definidos em funo das sadas da UC. Primeiramente deve ser descrita a ordem dos bits que definiro cada estado. Isto feito atravs da seguinte sentena: UC: MACHINE OF BITS (........) WITH STATES

c)

Entre parnteses devem ser colocados os nomes das sadas do diagrama. Por exemplo, para o diagrama da figura 2.6: (CLR1,CLR2,CLR3,EN1, EN2, EN3,SEL) Em seguida, cada um dos estados deve ser descrito em funo das sadas do diagrama, de acordo com a ordem estabelecida na construo anterior. Isto feito da seguinte maneira: (nome_do_estado = B'valores_das_sadas',);

Para o diagrama da figura 2.6, o estado S0 seria descrito como S0=B'1110000'. d) declarao da mquina de estados nesta seo, delimitada pelas palavras BEGIN e END; so descritos os dois sinais de controle da mquina de estados que representa o diagrama ASM (CLK e RES) e a tabela de transies entre os estados. Esta tabela feita baseada nos caminhos existentes entre cada um dos estados do mesmo, em funo das entradas a eles associadas (caso existam), e deve ser delimitada pelas palavras TABLE e END TABLE;. Por exemplo, na figura 2.6, para que a UC passe do estado S0 para o estado S1, necessrio que N1=1 e N2=M1=M2=X(0 ou 1). Portanto, a linha que representa este caminho : S0, 1,X,X,X => S1;

Aps isto, para se descrever e compilar a UC no MAX+PLUS II, basta seguir os seguintes passos : a) especificar o nome do projeto - Clicar em File-Project-Name, escolher o diretrio, fornecer o nome (exp1_uc) e clicar b) c) d) ;

acionar o editor de textos - Clicar em MAX+plus II-Text Editor; descrever a UC em AHDL - preencher as quatro sees do arquivo, conforme explicado anteriormente. importante notar que o nome da UC deve ser igual ao adotado no item a), para o nome do projeto; salvar o arquivo, verificando se existem erros - Clicar em File-Project-Save & Check, escolher o nome do arquivo (se ainda no existir) e clicar . Se houver algum erro, basta clicar duas vezes com o boto esquerdo do mouse na mensagem, para que o mesmo seja mostrado no arquivo texto;

e) f) g)

corrigir os erros - Selecionar com o mouse as palavras erradas e corrig-las; repetir os itens d e e, at no existirem mais erros; escolher a EPLD que ser usada na implementao - Clicar em Assign-Device, escolher a famlia de EPLD (Device Family), escolher o tipo de EPLD (Devices) e clicar ;

h)

clicar

Projeto de Circuitos com MAX+PLUS II

10

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL Aps a realizao destes passos, estaro disponveis alguns arquivos, importantes, a saber : *.tdf - arquivo com a descrio da UC; *.rpt - arquivo com as estatsticas da compilao da UC. Na figura 2.7 apresenta-se a descrio da UC, em AHDL

SUBDESIGN EXP1_UC ( CLKUC: INPUT; RES: INPUT; N1,N2,M1,M2: INPUT; CLR1, CLR2, CLR3, EN1, EN2, EN3, SEL: OUTPUT; ) VARIABLE UC: MACHINE OF BITS (CLR1, WITH STATES %Estado %atual ( s0 = s1= s2= s3= s4= s5= s6= ); BEGIN UC.CLK = CLKUC; UC.RESET = RES; TABLE % Estado % atual UC, s0, s0, s0, s1, s2, s3, s3, s3, s3, s3, s4, s5, s6, END TABLE; END;

CLR2, CLR3, EN1, EN2, EN3, SEL) Saidas % %

B"1110000", B"0001000", B"0000100", B"0000000", B"0000010", B"0000001", B"0000011"

Entradas N1,N2,M1,M2 0, 1, X, X, X, 0, 1, X, X, X, X, X, X, 0, X, 1, X, X, 0, X, 1, X, X, X, X, X, X, X, X, X, X, 0, X, X, 1, X, X, X, X, X X X X X 0 X X X 1 X X X => => => => => => => => => => => => => =>

Proximo estado UC; s0; s1; s2; s3; s3; s3; s1; s2; s4; s5; s3; s6; s3;

% %

Figura 2.7 UC em AHDL.

Projeto de Circuitos com MAX+PLUS II

11

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL

2.4.2. Simulao da Unidade de Controle


A simulao da unidade de controle feita de maneira anloga simulao do fluxo de dados. A diferena principal consiste na existncia de dois sinais especiais, que so responsveis pela inicializao e sincronizao do diagrama. Estes sinais so denominados RES e CLKUC. O sinal RES faz com que o diagrama inicie no estado S0 e o sinal CLKUC faz com que o diagrama passe de um estado a outro, de maneira sincronizada. Em seguida ser mostrado como descrever as formas de onda e os sinais especiais da unidade de controle.

2.4.2.1. Especificar o nome do projeto


a) clicar em File-Project-Name; b) escolher o diretrio e fornecer o nome do projeto (exp1_uc); c) clicar em ;

2.4.2.2. Abrir o arquivo de simulao


a) clicar em File - New; b) escolher Waveform Editor File; c) clicar em .

2.4.2.3. Definir o tempo total que ser utilizado na simulao


a) clicar em File - End Time; b) digitar o tempo total igual a 2s; c) clicar em .

2.4.2.4. Definir qual a menor unidade de tempo que ser utilizada na simulao
a) clicar em Options-Grid Size; b) digitar o valor 20 ns; c) clicar em .

2.4.2.5. Escolher as formas de onda que sero mostradas na tela


a) clicar em Node-Enter Nodes from SNF; b) clicar em List. Sero mostrados todos os sinais de entrada e sada do sistema; c) clicar em Groups; clicar em . , fazendo com que estes sinais sejam transportados para a janela Selected Nodes &

d)

2.4.2.6. Descrever as formas de onda


a) clicar uma vez sobre o boto , ativando o mesmo;

b) colocar o mouse no incio do trecho a ser editado, pressionar o boto esquerdo e arrast-lo at o final do intervalo. Caso o projetista queira selecionar a forma de onda na sua totalidade, basta clicar sobre o nome da mesma.;

Projeto de Circuitos com MAX+PLUS II

12

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL c) escolher o valor que ser colocado no intervalo. Existem alguns botes para facilitar esta escolha. Estes botes so : : atribui o valor zero; : atribui o valor 1; : atribui o valor indefinido; : atribui o valor alta impedncia; : inverte o sinal; : transforma o trecho selecionado em um sinal de clock;

Neste tem, as primeiras formas de onda a serem descritas, para qualquer UC so : o sinal de clock (CLKUC) e o sinal de reset (RES). Para descrever o sinal de clock basta selecion-lo por completo, clicar no boto mesma. e clicar em

. Para o sinal de reset, basta fazer o mesmo igual a 1 por um perodo de clock da simulao, no incio da

2.4.2.7. Salvar o arquivo


a) clicar em File-Save; b) escolher o nome do arquivo; c) clicar em .

2.4.2.8. Acionar o simulador


a) b) c) d) clicar em MAX+Plus II-Simulator; clicar em ; ;

ao final da simulao, se no existirem erros, clicar em para visualizar a simulao, clicar em .

2.5. Projeto do Sistema Digital Completo


O projeto do sistema digital completo tambm composto pelas etapas j vistas nos projetos do fluxo de dados e da unidade de controle: descrio e sntese; simulao. Na descrio e sntese do SD completo, basta apenas gerar um smbolo para cada uma das partes projetadas anteriormente e conectar estes smbolos em um diagrama lgico. A simulao utiliza apenas os sinais externos do SD, alm do RES e CLKSD. Este ltimo o agrupamento dos sinais CLKFD e CLKUC dos blocos anteriormente projetados.

Projeto de Circuitos com MAX+PLUS II

13

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL

2.5.1. Descrio e Compilao do Sistema Digital Completo


A descrio e compilao do SD completo constituda de trs etapas: a) gerao do smbolo do FD;

b) gerao do smbolo da UC; c) agrupamento dos smbolos gerados nas etapas anteriores e compilao.

Cada uma destas etapas ser vista com detalhes, nos prximos itens.

2.5.1.1. Gerao do Smbolo do Fluxo de Dados (FD)


a) especificar o nome do projeto - Clicar em File-Project-Name, escolher o diretrio, fornecer o nome e clicar ; b) carregar o arquivo que define o projeto - Clicar em File-Open, escolher o tipo de arquivo igual a GDF (Graphic Design File), o nome do mesmo e clicar c) ;

gerar o smbolo - Clicar em File-Create Default Symbol.

2.5.1.2. Gerao do Smbolo da Unidade de Controle (UC)


a) b) c) especificar o nome do projeto - Clicar em File-Project-Name, escolher o diretrio, fornecer o nome e clicar ; carregar o arquivo que define o projeto - Clicar em File-Open, escolher o tipo de arquivo igual a TDF (text Design ; File), o nome do mesmo e clicar gerar o smbolo - Clicar em File-Create Default Symbol.

2.5.1.3. Agrupamento dos smbolos gerados nas etapas anteriores e compilao


Para esta etapa do projeto, basta seguir o mesmo procedimento do item 2.3.2. A nica diferena ser o nome do projeto (EXP1_SD) e os smbolos que sero colocados no diagrama eltrico, que so apenas os pinos de entrada e sada, mais os smbolos gerados nos itens anteriores. Na figura 2.8 apresenta-se um exemplo do resultado dessa etapa.

Figura 2.8 Exemplo de um SD completo.

Projeto de Circuitos com MAX+PLUS II

14

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL

2.5.2. Simulao do Sistema Digital Completo


Para a simulao do SD completo, basta seguir o procedimento do item 5.4.2, com a ressalva de que os sinais que estaro disponveis agora sero os sinais externos do SD, mais o RES e o CLKSD.

2.6. Gravao do Sistema Digital Completo em uma EPLD


Para a gravao do SD na EPLD que se encontra na placa MAX7-PCS, necessrio conectar uma das extremidades do cabo especial de gravao porta paralela do PC, e a outra extremidade placa.

Feito isto, basta seguir o procedimento abaixo:

a)

especificar o nome do projeto - Clicar em File-Project-Name, escolher o diretrio, fornecer o nome e clicar ;

b) acionar o programador no MAX+PLUS II - clicar em MAX+plus II-Programmer. Ser aberta uma janela contendo o cdigo da EPLD que ser gravada (EPM7128SLC84-7) e o nome do arquivo de gravao, que deve ser o mesmo nome do projeto, com a extenso .POF; c) definir qual o tipo de cabo para transferncia de arquivo que ser utilizado - clicar em Options-Hardware Setup, escolher a opo ByteBlaster (no Hardware Setup) e o endereo da porta paralela do PC (geralmente igual a 0x378) e clicar em d) clicar em ; .

2.7. Simulao do SD atravs da placa MAX7-PCS


Aps a gravao do SD na EPLD, para que o mesmo possa ser testado, deve-se conectar cada um dos pinos da EPLD, de acordo com a numerao dos mesmos na placa MAX7-PCS, aos pinos do monitor do painel de montagem. Para saber a localizao de cada um dos sinais do SD na EPLD, basta abrir o arquivo com a extenso .PIN. Neste arquivo so mostrados todos os pinos da EPLD, com cada um dos sinais atribudos aos mesmos.

3. BIBLIOGRAFIA
RANZINI, E.; HORTA, E.L. Lgica programvel. Apostila de Laboratrio Digital. Escola Politcnica da USP, 2000. 2. Manuais da Altera 3. WAKERLY, J. F. Digital design: principles and practice. New Jersey: Prentice- Hall, 2000. 4. KIME, C. R.; MANO, M. M. Logic and computer design fundamentals. New Jersey: Prentice Hall, 1997. 5. GAJSKI, D. D. Principles of digital design. New Jersey: Prentice Hall, 1997. 6. SALCIC, Z.; SMAILAGIC, A. Digital systems design and prototyping using field programmable logic. Boston: Kluver Academic Publishers, 1998. 7. FREGNI, E. & SARAIVA, A. M. Engenharia do Projeto Lgico Digital: conceitos e prtica. Edgard Blcher, 1995. 8. TOCCI, R. J.& WIDMER, N. S. Sistemas Digitais: princpios e aplicaes. 7a ed., LTC, 2000. 9. TOCCI, R. J.& WIDMER, N. S. Digital Systems: principles and applications. 8th ed., Prentice-Hall, 2001. 10. DUECK, R. K. Digital Design with CPLD Applicatons and VHDL. Delmar, 2001. 11. ERCEGOVAC, M.; LANG, T.; MORENO, H. M. Introduo aos Sistemas Digitais. Bookman, 2000. 1.

Projeto de Circuitos com MAX+PLUS II

15

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL

ANEXO 1
RESUMO - DIAGRAMA ASM
(VERSO PRELIMINAR)

ASM Algorithmic State Machine Introduo


ASM um fluxograma atravs do qual se representa a seqncia de aes que a unidade de controle de um sistema digital deve realizar, para se obter o comportamento especificado. As aes realizadas dependem das entradas externas do sistema digital e tambm de condies que traduzem a situao em que se encontram a prpria unidade de controle e o fluxo de dados. Na verdade, ASM uma representao grfica do algoritmo que descreve o comportamento do sistema digital, OU seja, uma ferramenta para descrever a mquina de estados de forma mais completa do que os diagramas de estados apresentados na disciplina PCS-214 (naquela disciplina, os circuitos seqenciais, que so a realizao fsica das mquinas de estado, eram muito simples e, geralmente, possuam apenas uma entrada). Um fluxograma ASM parece semelhante aos fluxogramas convencionais, mas deve ser interpretado de outra maneira. Nos fluxogramas convencionais h apenas a descrio dos passos a serem seguidos e as decises a serem tomadas, sem nenhuma relao com a varivel tempo. J nos diagramas ASM, alm da descrio da seqncia dos eventos h as relaes temporais entre os estados da unidade de controle e as aes que ocorrem, em cada estado, em resposta s bordas do CLOCK. Uma metodologia alternativa para o Diagrama ASM, para representar mquinas de estados, so as Redes de Petri, assunto que ser apresentado na disciplina Organizao de Sistemas Digitais.

O Diagrama ASM
O diagrama ASM contm trs elementos bsicos o bloco de estado; o bloco de deciso; o bloco de sada condicional.

Na figura A.1 estes trs blocos so mostrados.

Descrio dos blocos


Bloco do estado: o nome do estado colocado externamente ao bloco e, dentro do mesmo, aparecem as aes a serem tomadas. No exemplo da figura A.1 (a), no estado So o registrador R deve ser limpo sincronamente com qualquer clock que ocorra enquanto em So, e a varivel COMEA deve assumir o valor 1, enquanto em So. Observe que a varivel COMEA deve assumir o valor Zero em todos os estados onde ela no aparece dentro do bloco. Bloco de deciso: representa o efeito das entradas, na seqncia de controle. A condio mostrada na figura A.1 (b) tanto pode ser expressa por uma nica varivel como por uma expresso booleana. Os dois caminhos referem-se aos 2 possveis valores que a condio pode assumir.

Projeto de Circuitos com MAX+PLUS II

16

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL

Nome

Cdigo Binrio Aes

S0 R

000 0 0
Condio

COMEA

(b) Bloco de deciso. (a) Bloco de estado com exemplo.

S0 R 0

0
INCIO

De um bloco de deciso

Aes

PC

(c) Bloco de sada condicional com exemplo.

Figura A.1 Elementos do ASM.

Bloco de Sada Condicional: este bloco caracterstico dos fluxogramas ASM e no existe um equivalente nos fluxogramas convencionais . A entrada de um bloco de sada condicional sempre deve se originar numa das sadas de um bloco de deciso. Na figura A.1 (c) apresenta-se um exemplo. Se o ASM est no estado So, a cada pulso de Clock o registrador R limpo. J o registrador PC tambm limpo no estado So, mas apenas se o sinal INCIO for igual a 1. Bloco ASM: o conjunto construdo com um bloco de estado e todos os blocos de deciso e de sadas condicionais que ficam entre a sada do bloco de estado e a entrada do mesmo bloco ou de um outro bloco de estado. Ver figura A.2. A cada borda de subida, as condies dos blocos de deciso so examinadas e, dependendo do seu valor (0 ou 1), seguese para o estado seguinte indicado. No exemplo da figura A2, enquanto o sinal INICIO=0, o diagrama fica no estado S0. Se, num instante qualquer, o sinal INICIO=1, na primeira borda de subida do CLOCK o ASM mudar de estado. Nessa mesma borda tambm examinado o sinal Q0 , atravs do qual decide-se se o estado seguinte S1 ou S2 . Independentemente de ser S1 ou S2 , ao mudar de estado, o sinal AVAIL vai para ZERO. Observar que a sada condicional s ocorre se INICIO = 1. Pode-se comparar os diagramas ASM, com os diagramas de estado tipo MEALY e tipo MOORE. Quando se usam os blocos de sada condicional, tudo se passa como se a soluo adotada fosse do tipo MEALY. Se a opo for MOORE, os blocos de sada condicional so desnecessrios.

Projeto de Circuitos com MAX+PLUS II

17

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL O projeto do circuito lgico descrito por um diagrama ASM facilitado quando todos os mdulos seqenciais (flipflops, contadores, registradores, etc) forem do tipo com enable. Maiores detalhes encontram-se nas referncias bibliogrficas (4) e (5).

S0
AVAIL

INCIO

PC

0 Q0 S1

1 S2

Figura A.2 Bloco ASM.

Projeto de Circuitos com MAX+PLUS II

18

EPUSP - PCS 2305/2355/2308 - LABORATRIO DIGITAL

ANEXO 2
GLOSSRIO
AHDL ASIC CPLD EDIF EPLD FPGA FPLD GAL HDL JEDEC Altera Hardware Description Language Application Specific Integrated Circuit Complex Programmable Logic Device Eletronic Design Interchange Format (Formato padro industrial para transferncia de arquivos de projetos de circuitos) Erasable Programmable Logic Device Field Programmable Gate Array Field Programmable Logic Device Generic Array Logic Hardware Description Language Joint Electron Device Engineering Council (Formato padro para transferncia de informaes entre o sistema onde o projeto foi desenvolvido e o programador do dispositivo.) Mask Programmable Gate Array Mask Programmable Logic Device Programmable Array Logic Programmable Logic Array Programmable Logic Device Programmable Logic Sequencer Programmable Sequencial Array Linguagem HDL da empresa Verilog Very High Speed Integrated Circuits Hardware Description Language Very High Speed Integrated Circuits

MPGA MPLD PAL PLA PLD PLS PSA

VERILOG VHDL VHSIC -

Projeto de Circuitos com MAX+PLUS II

19

Potrebbero piacerti anche