Combinatorial logics. Sequential logics. Design of digital circuits and VHDL syntax. Arduino microcontroller. Synchronous and asynchronous logic machines, problems of signal timings. Logic errors and their treatment. Use of a board with FPGA, DAC and RS232 serial interface. Measurement of ADC non-linearity through sampling with triangolar wave generated by DAC.
D. Naylor and S. Jones, “VHDL: a logic synthesis approach”, Chapman & Hall, 1997
Z. Navabi, “VHDL. Analysis and modeling of digital systems”, McGraw-Hill, 1993
S. Rajan, “Essential VHDL: RTL synthesis done right”, CL Books, 1997
Learning Objectives
Knowledge and understanding of: combinatorial and sequential logics, integrated digital circuits (FPGA and ASIC), their formal description in VHDL language, proper project coding and verification methodologies, cases of logic errors and their treatment.
Ability to apply knowledge and understanding for: implementation of typical examples of digital circuits of various complexity on FPGA, from the VHDL coding phase to the simulation phase and finally to the laboratory test of the configured FPGA device; implementation of digital interfaces with Arduino system.
Judgement making: choices of optimization of the formal description of a digital circuit, of minimization of potential logic errors, of control of circuit timing and amount of data managed.
Prerequisites
Elements of analog electronics, including: electrical circuits, structor of semiconductors and main transistor types. Use of text and window PC applications and of basic instrumentation of electronics laboratory (oscilloscope, soldering station).
Teaching Methods
Lesson with screen presentation, written notes, laboratory activity with practical exercises, circuit implementation and test.
Type of Assessment
Oral examination. Discussion of one of the logic projects implemented by the student in laboratory, description of the features of the logic structure, of the missing optimizations in view of the intended application, of the problems found and how they could be solved. Generalization from the specific case found to the general one.
Evaluation criteria: ability to organize the knowledge; ability to critically and analitically discuss on the implemented project; competence in using the technical terms involved; ability of abstraction from the specific case to the general case.
Course program
- Lessons.
Combinatorial logics. Elementary ports. Boolean algebra. Encoder and decoder. XOR port, parity circuit, comparator. Adder. Look ahead logics.
Sequential logics. Latch. Flip-flop. Counter and shift register.
Outline of the structure of digital integrated circuits (FPGA and ASIC). Functional description of logic circuits. Hierarchic block design. Basic elements of VHDL syntax.
Compilation and verification of an HDL project: synthesis of the logic circuit, device configuration, functional and time simulation, laboratory tests.
Examples of advanced VHDL design. Concept of synchronous and asynchronous logic machine. Time behaviour of circuit signals and relation with setup/hold time. Presentation of the main application cases.
Upset and logic error in a synchronous circuit. Upset in asynchronous circuit and resynchronization without logic error. Upset from external perturbations, examples of logic redundancy and of methods to detect the logic error.
DAC, elements of operational circuits. ADC, conversion error. Differential and integral non-linearity of ADC, method of measurement with triangular wave.
Arduino microcontroller. Description of components and of programming software.
- Laboratory.
Implementation of a board with FPGA, DAC and RS232 serial interface. Design of the state machine on FPGA. Use of the board to generate a triangular wave as input to the ADC integrated in the Arduino microcontroller.