Dispositivos lógicos programáveis (DLP) Organização: Princípio de funcionamento dos DLP Arquitectura de um componente típico: A 22V10 Metodologia de projecto com o PALASM A aplicação PALASM Um dado electrónico
Princípio de funcionamento dos DLP O princípio de funcionamento dos DLP baseia-se numa matriz programável de termos de produto (que valor apresenta a saída F, para o caso apresentado?)
Arquitectura de um DLP simples: Exemplo A título de exemplo, quantas ligações seria necessário interromper para criar um mux de 2:1? (entradas de dados A e B, entrada de controlo C)
DLPs: Extensão para circuitos sequenciais A presença de um FF D a jusante do termo de soma permite a implementação de circuitos sequenciais (o plano AND / OR realiza a geração do estado seguinte)
Arquitectura de um exemplo típico: A 22V10 A flexibilidade da 22V10 destaca-a entre os DLP de uso comum
A arquitectura da 22V10 A propósito da arquitectura da 22V10, repare-se que: Pode dispor de até 10 saídas, em simultâneo com as 12 entradas, podendo no limite suportar até 22 (21) entradas O controlo de estado dos buffers de saída é feito através de um termo de produto (permitindo pinos bidireccionais)
A arquitectura da 22V10 (cont.) Ainda a propósito da arquitectura da 22V10: Todas as saídas são realimentadas para o plano de AND Existe um limite máximo de entre 8 e 16 termos de produto, por saída Cada saída é precedida por uma macro-célula
A arquitectura da 22V10 (cont.) A estrutura da macro-célula lógica de saída, disponível em cada pino, permite diversas configurações de funcionamento:
A arquitectura da 22V10 (cont.) As quatro configurações possíveis para a macro-célula lógica de saída são as seguintes:
Metodologia de projecto (com o PALASM) A metodologia de projecto segue as mesmas etapas já nossas conhecidas (especificação, síntese, verificação de projecto, implementação e validação), mas com existem aspectos específicos do PALASM Esta aplicação recebe como entrada uma descrição funcional do circuito pretendido, com os respectivos vectores para a simulação lógica, e realiza (quase-) automaticamente as etapas pós-especificação
Fluxo de dados no PALASM O fluxo de dados associado a esta aplicação de apoio ao projecto é o seguinte:
PALASM: Especificação do ficheiro de entrada Secção declarativa:
PALASM: Especificação do ficheiro de entrada (cont.) Secção funcional: (esta secção recorre a comandos com baixo nível de abstracção para efectuar a descrição funcional do circuito pretendido)
PALASM: Especificação do ficheiro de entrada (cont.) Secção de simulação (para a verificação de projecto):
PALASM: Menus principais Menu File:
PALASM: Menus principais (cont.) Menu Edit:
PALASM: Menus principais (cont.) Menu Run:
PALASM: Menus principais (cont.) Menu View:
PALASM: Menus principais (cont.) Simulação (View / Waveforms):
PALASM: Menus principais (cont.) Menu Help:
PALASM: Menus principais (cont.) Help: Exemplo para o caso do comando FOR
Exemplo de projecto: Um dado electrónico VCC Pretende-se simular o funcionamento de um dado electrónico com as seguintes características: Visualização por 7 LEDs (quantas saídas são precisas?) Funcionamento em ciclo permanente a centenas de Hz Deve existir um botão de paragem para fixar o resultado do “lançamento” Deve existir um botão de batota para aumentar a probabilidade associada a resultados pré-especificados OUT[x]
O dado electrónico (cont.) Diagrama de transição de estados:
O dado electrónico (cont.) VCC OUT[x] Organização das saídas:
O dado electrónico (cont.) Ficheiro dado.pds: Secção declarativa
O dado electrónico (cont.) Secção funcional:
O dado electrónico (cont.) Secção de simulação:
O dado electrónico (cont.) Resultados da simulação:
Conclusão Objectivo principal do capítulo: Introduzir os princípios do projecto de sistemas digitais com base em dispositivos lógicos programáveis Pistas para a continuação do estudo: Sistemas de apoio ao projecto (e.g. Altera e Xilinx) Arquitectura e recursos dos dispositivos de média e elevada complexidade