Objectivos

Mestrado Integrado em Engenharia Electrotécnica e de Computadores

No final da cadeira os alunos deverão ser capazes de: •Utilizar sistemas de numeração binária e aritmética binária. •Derivar, manipular e simplificar funções booleanas. •Concretizar funções booleanas com circuitos com portas lógicas simples. •Compreender o funcionamento dos componentes fundamentais dos circuitos combinatórios. •Compreender o funcionamento dos elementos básicos de memória, e utilizar registos e contadores. •Especificar e sintetizar circuitos sequenciais síncronos. •Compreender os conceitos básicos de sincronismo temporal e de análise de tempos de propagação. •Projectar sistemas digitais de pequena complexidade utilizando componentes combinatórios e sequenciais.

Licenciatura (5 anos) em Engenharia Electrotécnica e de Computadores

Objectivos Gerais

{pt_PT=<ul> <li>Domínio de técnicas formais de especificação e representação de circuitos digitais de pequena complexidade, quer combinatórios, quer sequenciais.</li> <li>Domínio das metodologias elementares de utilização de circuitos integrados digitais e o conhecimento dos tipos mais frequentes de circuitos SSI e MSI</li> <li>Domínio das metodologias elementares de projecto e teste utilizando lógica programável VLSI.</li> <li>Compreensão da inter-relação entre os modelos formais de especificação e representação de circuitos digitais e a sua implementação.</li> <li>Domínio de técnicas simples de detecção de falhas.</li> </ul>, en_GB=<ul> <li>Understand techniques for low-complexity digital logic specification and representation of both combinatiorial and sequential circuits.</li> <li>Learn how to use basic digital integrated circuits. Get acquainted with the most frequent types of SSI and MSI circuits.</li> <li>Learn basic design and test methodologies for VLSI programmable logic.</li> <li>Understand the relations between formal specification and representation models of digital circuits and their actual implementation.</li> <li>Learn simple hardware debugging techniques.</li> </ul>}

Objectivos Operacionais

{pt_PT=<ul> <li>Obter uma especificação formal de uma função combinatória descrita por linguagem informal.</li> <li>Realizar transformações entre tipos de especificação formal.</li> <li>Simplificar funções lógicas de até 5 variáveis, com indiferenças, usando o método de Karnaugh.</li> <li>Especificar um circuito sequencial síncrono pelo modelo de Mealy ou de Moore, conforme for mais adequado, a partir de uma descrição informal da funcionalidade pretendida.</li> <li>Especificar formalmente um circuito sequencial síncrono descrito pelo seu logigrama.</li> <li>Calcular os tempos de reacção máximos de um circuito combinatório a uma alteração nas suas entradas.</li> <li>Calcular a frequência máxima de funcionamento de circuitos sequenciais síncronos, tendo em conta os tempos de atraso, de preparação e de manutenção dos componentes.</li> <li>Desenhar diagramas temporais detalhados descritivos da reacção de um circuito a alterações nas suas entradas.</li> <li>Explicar qualitativamente o funcionamento de diferentes andares de saída em lógica TTL.</li> <li>Implementar, a partir dos esquemas eléctricos, pequenos sistemas digitais usando circuitos comerciais, resistências, "breadboards" e fios.</li> <li>Usar ferramentas de software para simular circuitos digitais simples a partir dos seus logigramas. Implementá-los em lógica programável (FPGA).</li> <li>Projectar, de forma heurística, pequenos sistemas baseados em multiplexers, descodificadores, flip-flops, registos e contadores.</li> <li>Usando contadores ou registos de deslocamento integrados, projectar sistemas com uma sequência de contagem especificada.</li> <li>Projectar, partindo de registos integrados, registos com modos de funcionamento diferentes dos presentes nos dispositivos de partida.</li> <li>Projectar circuitos combinatórios descritos por qualquer método formal, usando circuitos integrados comerciais (portas lógicas elementares, multiplexers, descodificadores e memórias ROM).</li> <li>Projectar, usando circuitos integrados comerciais, circuitos sequenciais síncronos com as seguintes arquitecturas: máquina de estados clássica baseada em flip-flops, um flip-flop por estado, contadores e ROMs.</li> <li>Identificar num circuito combinatório a porta lógica que corresponde a cada implicante (ou implicado) primo usado no método de Karnaugh para simplificar a função que ele implementa, assinalando o laço no mapa ou indicando a sua expressão, e vice-versa.</li> <li>Identificar, num circuito sequencial síncrono, a configuração de estados dos flip-flops, o flip-flop ou o estado do contador que corresponde a cada estado do circuito, descrito por um modelo formal e vice-versa.</li> <li>Identificar e corrigir o erro de projecto, de implementação ou a falha que provoca num circuito eléctrico um funcionamento não compatível com o especificado.</li> <li>Desenvolver estratégias de simulação de sistemas digitais usando ferramentas de software para detecção de erros de projecto ou implementação, antes da realização física do circuito usando lógica programável VLSI ou circuitos integrados SSI/MSI.</li> </ul>, en_GB=<ul> <li>Formally specify a combinational logic function from an informal description.</li> <li>Convert between different types of formal specification.</li> <li>Use Karnaugh maps to simplify logic functions of up to five variables.</li> <li>Specify a synchronous sequential circuit according to the Moore or Mealy models, as best suited to an informal description of the required functionality.</li> <li>Formally specify a synchronous sequential circuit from its logic diagram.</li> <li>Calculate input-output propagation delays in a combinational circuit.</li> <li>Calculate the maximum operating frequency of a synchronous sequential circuit based on the propagation delays, setup and hold times of its various components.</li> <li>Draw detailed timing diagrams that show the response of a circuit to variations in its inputs.</li> <li>Qualitatively explain the operating principle of different output stages in TTL logic.</li> <li>From logic diagrams, implement simple digital circuits using standard integrated circuits, resistors, breadbords and wires.</li> <li>Use software tools to simulate simple digital circuits from their logic diagrams, and implement them in programmable logic (FPGA).</li> <li>Heuristically design simple digital systems using multiplexers, decoders, flip-flops, registers and counters.</li> <li>Design counters with any specified counting sequence from standard integrated counters and registers.</li> <li>Using standard integrated registers, design registers with different specified operating modes.</li> <li>Based on any formal specification method, design combinational circuits using standard integrated circuits (elementary logic gates, multiplexers, decoders and ROMs).</li> <li>Using standard integrated circuits, design synchronous sequential circuits based on the following architectures: classical state machine, one flip-flop per state, counter, ROM.</li> <li>Given an arbitrary logic function, identify the correspondence between logic gates in a combinational circuit that implements it and prime implicants in its Karnaugh map.</li> <li>Identify, in a synchronous sequential circuit, the flip-flop or counter configuration that corresponds to any of the states in a formal specification, and vice-versa.</li> <li>Identify and correct design or implementation flaws in logic circuits.</li> <li>Develop simulation strategies using software tools to detect design flaws in logic circuits prior to their implementation using programmable VLSI logic or standard SSI/MSI integrated circuits.</li> </ul>}