Prerequisites
(none)
Objectives
- Use binary number systems and binary arithmetic. - Derive, manipulate and minimize boolean functions. - Implement boolean functions with circuits with logic gates. - Understand the operation of the fundamental building blocks of combinational circuits. - Understand the operation of basic memory elements, and work with registers and counters. - Specify and synthesize synchronous sequential circuits. - Understand basic timing issues, including clocking, timing constraints, and propagation delays. - Design low-complexity digital systems with both combinational and sequential components.
Program
Binary, octal and hexadecimal number systems, arithmetic operations, decimal and alphanumeric codes. Logic circuits: binary logic and gates, Boolean algebra, logic functions, standard forms, incompletely specified functions, algebraic and map minimization, circuits with NAND and NOR gates. Elementary technology elements: logic families, tri-state gates, propagation delays. Combinational circuits: encoders, decoders, multiplexers, demultiplexers, comparators, adders and subtractors. Sequential circuits: latches and flip-flops, timing analysis and timing synchronization. Registers and Counters: registers, shift registers, counters, counter interconnection and expansion. Synchronous sequential circuits: Mealy and Moore models, state diagrams and state tables, state encoding, classical synthesis, alternative synthesis methods, state minimization. Memories: RAM, ROM and PROM.
Evaluation Methodology
50% continuous evaluation / 50% non-continuous evaluation
Cross-Competence Component
The course covers the development of transversal competences in Critical and Innovative Thinking, Interpersonal and Intrapersonal Competences (oral, organizational and teamwork, self-discipline, perseverance, self-motivation) and Information and media literacy (ability to locate and access information) in the laboratory component. The grading weight associated with these skills is of around 10%.
Laboratorial Component
The curricular unit involves weekly laboratory work aiming at the monitoring and deepening of the topics taught in theoretical lectures. The evaluation of the laboratory work comprises the demonstration of the performed work, the reports, and the discussion.
Programming and Computing Component
Considering that “Digital Systems” is taught at the beginning of the degree, before the other courses related to programming methodologies and technologies, the offered skills in this domain are related to Boole's logic and algebra, numbering and representation systems (binary), and the elementary principles of sequential procedures, often defined through state machines and/or flowcharts. These skills provide support for the subsequent teaching of formal programming languages (e.g. conditional structures, data types and algorithm implementation). The evaluation of these skills is weighted at least with 50% over all the considered evaluation elements.
More information at: https://fenix.tecnico.ulisboa.pt/cursos/lerc/disciplina-curricular/845953938490007