Você está na página 1de 34

Instituto de

Educação Técnica

Sistemas Digitais
-Dispositivos Lógicos Programáveis-
Parte 2

Ms. Eng. Luís M. Pires Mestre Eng. Luis M. Pires


lpires@inete.net
lpires@inete.net
1
Conteúdo
Instituto de

Educação Técnica

• Programação CUPL.

Ms.Eng. Luís M. Pires

lpires@inete.net
2
Programação CUPL (1/32)
Instituto de

Educação Técnica

• No que diz respeito às variáveis, deverão:


– Ter, no mínimo, um digito alfabético, mas
podendo inclusive começar com um digito e
conter o caracter "_" (underscore).
– Não conter espaços, pontuação ou tabulação.
– Ter, no máximo, 31 letras.
– Não ser uma palavra reservada.
– Não conter caracteres ou símbolos especiais.

Ms.Eng. Luís M. Pires

lpires@inete.net
3
Programação CUPL (2/32)
Instituto de

Educação Técnica

• Palavras reservadas da Linguagem


APPEND ASSEMBLY ASSY COMPANY
CONDITION DATE DEFAULT DESIGNER
DEVICE ELSE FIELD FLD
FORMAT FUNCTION FUSE GROUP
IF JUMP LOC LOCATION
MACRO MIN NAME NODE
OUT PARTNO PIN PINNODE
PRESENT VER REVISION SEQUENCE
SEQUENCED SEQUENCEJK SEQUENCERS SEQUENCET
TABLE

Ms.Eng. Luís M. Pires

lpires@inete.net
4
Programação CUPL (3/32)
Instituto de

Educação Técnica

• Símbolos reservados da Linguagem

& # ( ) -
* + [ ] /
.
: . /* */
.
; , ! ‘ =

@ $ ^

Ms.Eng. Luís M. Pires

lpires@inete.net
5
Programação CUPL (4/32)
Instituto de

Educação Técnica

• Representação dos números

Número Base Valor Decimal


'b'0 Binária 0
'b'1101 Binária 13
'o'663 Octal 435
'D' 92 decimal 92
'h' BA hexadecimal 186
'b'[001..100] binária varia de 1 a 4

Ms.Eng. Luís M. Pires

lpires@inete.net
6
Programação CUPL (5/32)
Instituto de

Educação Técnica

• Tal como na maioria das linguagens de


programação, qualquer instrução deverá ser
terminada com um ponto e vírgula ( ; ).

Ms.Eng. Luís M. Pires

lpires@inete.net
7
Programação CUPL (6/32)
Instituto de

Educação Técnica

Formato de um Programa CUPL


• O ficheiro de descrição de hardware é
dividido em três partes:
– Cabeçalho;
– Declaração de variáveis;
– Descrição Lógica;

Ms.Eng. Luís M. Pires

lpires@inete.net
8
Programação CUPL (7/32)
Instituto de

Educação Técnica

Ms.Eng. Luís M. Pires

lpires@inete.net
9
Programação CUPL (8/32)
Instituto de

Educação Técnica

• Cabeçalho

Ms.Eng. Luís M. Pires

lpires@inete.net
10
Programação CUPL (9/32)
Instituto de

Educação Técnica

• Cabeçalho
Palavra- Descrição
chave
Name Nome do arquivo, truncado a 8 caracteres. Será usado para a
geração dos nomes dos arquivos de saída.
Partno Identificação do dispositivo após a programação. Em alguns
dispositivos pode ser gravado no campo identificação. Não
confundir com o código ou tipo do dispositivo.
Date Data de geração ou modificação do arquivo.
Revision Versão do ficheiro de descrição de hardware, iniciando por 01.
Designer Nome do responsável pelo projecto.
Company Nome da companhia.
Assembly Placa onde será usado o dispositivo.
Ms.Eng. Luís M. Pires Location Localização na placa do dispositivo.
lpires@inete.net Device Localização na placa do dispositivo.
11
Programação CUPL (10/32)
Instituto de

Educação Técnica

• Declaração de Variáveis
– A atribuição de pinos consiste em associar a
variáveis os pinos físicos do dispositivo que se
pretende utilizar.
– É de todo importante ter disponível o pinout do
dispositivo durante esta fase.
– Caso não seja possível, existe a possibilidade do
programador atribuir pinos que não podem ser
utilizados a determinadas variáveis, tal como
pinos de clock ou pinos exclusivos de entrada.
Ms.Eng. Luís M. Pires

lpires@inete.net
12
Programação CUPL (11/32)
Instituto de

Educação Técnica

• Declaração de Variáveis

Ms.Eng. Luís M. Pires

lpires@inete.net
13
Programação CUPL (12/32)
Instituto de

Educação Técnica

• Declaração de Variáveis

Ms.Eng. Luís M. Pires

lpires@inete.net
14
Programação CUPL (13/32)
Instituto de

Educação Técnica

• Declaração de Variáveis – Instruções de Pré-


Processamento.
– Comum neste tipo de linguagem é associar os
termos ON e OFF aos valores lógicos que os
representam:

– Neste exemplo, depois de definidas as


Ms.Eng. Luís M. Pires expressões ON e OFF, podem ser utilizadas ao
lpires@inete.net
15
longo do programa, sempre que forem úteis.
Programação CUPL (14/32)
Instituto de

Educação Técnica

• Descrição Lógica
– Operadores Lógicos

Operador Descrição Exemplo


& AND A & B
! NOT !A
# OR A # B
$ XOR A $ B
: EQUAL A:B

Ms.Eng. Luís M. Pires

lpires@inete.net
16
Programação CUPL (15/32)
Instituto de

Educação Técnica

• Descrição Lógica
– Operadores Lógicos

Ms.Eng. Luís M. Pires

lpires@inete.net
17
Programação CUPL (16/32)
Instituto de

Educação Técnica

• Descrição Lógica
– Operador de Igualdade
Operador Descrição Exemplo

: EQUAL A:B

Ms.Eng. Luís M. Pires

lpires@inete.net
18
Programação CUPL (17/32)
Instituto de

Educação Técnica

• Descrição Lógica
– Operadores Aritméticos

Operador Descrição Exemplo


** Expoente 2**3
* Multiplicaç 3*4
ão
/ Divisão A / B
% Resto de A % 2
divisão
+ Soma A + B
Ms.Eng. Luís M. Pires

lpires@inete.net
- Subtracção A - 8
19
Programação CUPL (18/32)
Instituto de

Educação Técnica

• Descrição Lógica – Operador de


Concatenação:
– Append, permite atribuir diversas expressões a
uma mesma variável.
– Sem este operador, apenas uma única expressão
poderia ser atribuída a uma variável.
– Por exemplo, se se pretender um somatório de
produtos, a melhor maneira de o representar é
usando o append. Se se desejar associar a uma
função Y a seguinte expressão booleana:
Ms.Eng. Luís M. Pires

lpires@inete.net
20
Programação CUPL (19/32)
Instituto de

Educação Técnica

• Descrição Lógica – Operador de


Concatenação:

Ms.Eng. Luís M. Pires

lpires@inete.net
21
Programação CUPL (20/32)
Instituto de

Educação Técnica

• Descrição Lógica – Condições de Teste


– As instruções condicionais utilizam a estrutura
“IF THEN ELSE”, semelhante às linguagens de
programação, para indicar quando uma saída
deverá ser verdadeira.
– Atenção ao facto de não ser necessário prever os
casos em que uma saída seja falsa, mas apenas
aqueles em que se pretende que a saída seja
verdadeira.

Ms.Eng. Luís M. Pires

lpires@inete.net
22
Programação CUPL (21/32)
Instituto de

Educação Técnica

• Descrição Lógica – Condições de Teste

Ms.Eng. Luís M. Pires

lpires@inete.net
23
Programação CUPL (22/32)
Instituto de

Educação Técnica

• Descrição Lógica – Condições de Teste

Ms.Eng. Luís M. Pires

lpires@inete.net
24
Programação CUPL (23/32)
Instituto de

Educação Técnica

• Descrição Lógica – Tabelas de Verdade


– Muitas funções podem ser melhor descritas
através do uso de tabelas de verdade.
– Em CUPL isto é realizado através do comando
TABLE com a sintaxe:

Ms.Eng. Luís M. Pires

lpires@inete.net
25
Programação CUPL (24/32)
Instituto de

Educação Técnica

• Descrição Lógica – Tabelas de Verdade


– Exemplo

Ms.Eng. Luís M. Pires

lpires@inete.net
26
Programação CUPL (25/32)
Instituto de

• Máquinas de Estado
Educação Técnica

– Caso se pretenda usar FF tipo D, tem de se usar a


palavra SEQUENCED em vez de SEQUENCE.
– Na mesma linha de raciocínio, existem as palavras
Ms.Eng. Luís M. Pires
SEQUENCEJK, SQUENCERS e SEQUENCET,
lpires@inete.net
para os flip-flop tipo JK, SR e T, respectivamente.
27
Programação CUPL (26/32)
Instituto de

Educação Técnica

• Máquinas de Estado – Transição


incondicional

Ms.Eng. Luís M. Pires

lpires@inete.net
28
Programação CUPL (27/32)
Instituto de

Educação Técnica

• Máquinas de Estado – Transição condicional

Ms.Eng. Luís M. Pires

lpires@inete.net
29
Programação CUPL (28/32)
Instituto de

Educação Técnica

• Máquinas de Estado – Saída incondicional


Síncrona

Ms.Eng. Luís M. Pires

lpires@inete.net
30
Programação CUPL (29/32)
Instituto de

Educação Técnica

• Máquinas de Estado – Saída condicional


Síncrona

Ms.Eng. Luís M. Pires

lpires@inete.net
31
Programação CUPL (30/32)
Instituto de

Educação Técnica
• Máquinas de Estado – Saída condicional Síncrona

Ms.Eng. Luís M. Pires

lpires@inete.net
32
Programação CUPL (31/32)
Instituto de

Educação Técnica

• Máquinas de Estado – Saída incondicionais


Assíncronas

Ms.Eng. Luís M. Pires

lpires@inete.net
33
Programação CUPL (32/32)
Instituto de

Educação Técnica

• Máquinas de Estado – Saída condicional


Assíncrona

Ms.Eng. Luís M. Pires

lpires@inete.net
34

Você também pode gostar