Esquema detallat del curs
1. Introduction
- VHDL standard
- Examples: AND gate. Full Adder
- Testbench
- GHDL - gtkwave
2. Combinational
- Boolean functions
- Traffic light controller
- BCD to 7 segment decoder
3. Numerics
- Numerics basics
- Unsigned integers Assignments. Resizing unsigned integers
- Adding unsigned integers
- Adders, Fast-carry-chains. Carry lookahead
- VHDL adder. Adder with carry out
- Comparing unsigned integers Substracting unsigned integers
- Signed integers. Two’s complement
- Resizing signed integers
- Adding / substracting signed integers
- Abstract numeric types and conversions
4. Sequential basics
- D Flip-Flop. Process statements
- Clock enable. Synchronous and asynchronous reset
- Shift register. Testbench
- Counter. Testbench
5. Sequential systems: The Sequential Datapath and Control
Section Model
- Datapath
- Control section. Control signal generation
- State machines
- Simulation
6. Timing
- The Register Transfer Level Description
- Synchronous timing Critical Path
- Timing constraints
- Clock skew
- Outside connections. Asynchronous inputs. Metastability.
- Synchronizers. Slow inputs and bouncing
7. Memories
- Introduction
- Elementary Memory in VHDL
- Memory types
- Bidirectional ports. VHDL description. Testbench
- Memory with Tristate Ports
- Examples
8. Mini AVR in VHDL
- Processor basics. Architecture
- Instructions: NOP, LDI, ADC, MOV
- Registers
- Program ROM
- Status Register
- Control Unit
- ALU
- Completing the First Processor : NOP, LDI, ADC, MOV
9. Enhancing the processor
- Implementing the RJMP instruction
- Implementing the BREQ instruction
- Implementing the AND, OR, EOR instructions
- Adding some RAM
- Addressing RAM: Two-cycle instructions vs Indirect addressing
- Implementing the LD and ST instructions
- VHDL implementation. VHDL coding styles and effects on
- synthesis
- Implementing IO instructions: IN, OUT. Synchronizers.
- Implementing a timer