Educational guide 2014_15
Escola de Enxeñaría de Telecomunicación
Grao en Enxeñaría de Tecnoloxías de Telecomunicación
 Subjects
  Programmable Electronic Circuits
   Contents
Topic Sub-topic
LESSON 1 THEORY (1 h.). INTRODUCTION TO FPGAs. 1.1.- Introduction.
1.2.- Definition of FPGA. FPGA classification.
1.3.- FPGA architectures.
1.3.1.- Logical resources.
1.3.1.1.- Configurable Logic Blocks.
1.3.1.2.- Internal Logic Blocks.
1.3.1.3.- Input/Output Blocks.
1.3.1.4.- Embedded circuits. Memories. PLL digital circuits. Arithmetical circuits. Multipliers. DSP blocks. Serial transceivers.
1.3.2.- Interconnection resources.
1.3.2.1.- Interconnection lines.
1.3.2.2.- Configurable connection points.
1.3.3.- Examples of commercial FPGAs.
1.4.- FPGA technologies.
1.4.1.- FPGA manufacturing technologies (LVTTL, LVCMOS, etc.).
1.4.2.- FPGA configuration technologies.
1.4.2.1.- Static RAM technology (SRAM).
1.4.2.2.- Antifuse technology.
1.4.2.3.- Non-volatile memory technology (EEPROM).
1.4.3.- FPGA configuration. Methods. External programmer. In System Programmable (ISP).
1.5.- General characteristic of the FPGAs.
1.6.- Advantages of the FPGAs.
1.7.- Stages of the design of digital systems with FPGAs.
1.7.1.- Design implementation with FPGAs.
1.8.- FPGA CAD tools.
1.9.- FPGA applications.
1.10.- FPGAs versus other circuits. Comparative analysis.
LESSON 2 THEORY (1 h.). XILINX SPARTAN 3 FPGA FAMILY. ARCHITECTURE. 2.1.- Introduction.
2.2.- Xilinx Virtex 2 family architecture.
2.2.1.- Logical resources. CLBs. “Slices”. RAM-based shift registers.
2.2.2.- Internal memories. Distributed memory. Embedded memory.
2.2.3.- Clock circuits.
2.2.4.- Hardware multipliers.
2.2.5.- Input / Output technologies.
2.3.- Spartan 3 vs. Virtex 2.
2.4.- Spartan 3E vs. Spartan 3.
2.5.- Synthesis guidelines.
LESSON 3 THEORY (2 h.). INTRODUCTION TO MICROCONTROLLERS. 3.1.- Introduction. Definition of microcontroller.
3.2.- Internal architecture. Harvard. Von Neumann.
3.2.1.- Control Unit.
3.2.2.- ALU.
3.2.3.- Instruction set. RISC. CISC.
3.3.- External architecture.
3.3.1.- Access to memory. Program memory. Data memory.
3.3.2.- Access to peripherals. Input / Output ports.
3.3.3.- Interrupt control.
3.4.- Integrated peripherals.
3.4.1.- Timers.
3.4.2.- Serial communication. UART RS232. SPI. I2C.
3.4.3.- A/D and D/A converters.
3.5.- Examples of commercial microcontrollers.
3.6.- Microcontroller applications.
3.7.- Tools for programming and verification.
LESSON 4 THEORY (2 h.). XILINX PICOBLAZE MICROPROCESSOR (I). 4.1.- Introduction.
4.2.- Versions of the Xilinx Picoblaze microprocessor.
4.3.- Internal architecture of the Picoblaze microprocessor.
4.4.- Instruction set of the Picoblaze microprocessor.
LESSON 5 THEORY (1 h.). SOFTWARE DEVELOPMENT FOR XILINX PICOBLAZE MICROPROCESSOR. 5.1.- Introduction.
5.2.- Syntax of an assembler program for the Picoblaze microprocessor.
5.3.- Program development with pBlazeIDE environment for Picoblaze .
LESSON 6 THEORY (3 h.). XILINX PICOBLAZE MICROPROCESSOR (II). 6.1.- Introduction.
6.2.- External architecture.
6.2.1.- Input / Output instructions.
6.2.2.- Connection of input peripherals.
6.2.3.- Connection of output peripherals.
6.2.4.- Initial state.
6.2.5.- External interrupts.
6.3.- Design of peripherals for the Picoblaze microprocessor.
LESSON 7 THEORY (1 h.). INTRODUCTION TO SYSTEMS ON CHIP (SOC). 7.1.- Introduction to digital design methods.
7.1.1.- Software method.
7.1.2.- Hardware method.
7.2.- Systems On Chip (SOC).
7.3.- Systems On a Programmable Chip (PSOC). Microprocessors embedded in FPGAs.
7.3.1.- Hardware Microprocessors.
7.3.2.- Software Microprocessors.
7.4.- Embedded microprocessor applications.
LESSON 8 THEORY (3 h.). HARDWARE / SOFTWARE CODESIGN. 8.1.- Introduction.
8.2.- Software design.
8.3.- Hardware design.
8.4.- Stages of hardware / software codesign.
8.5.- Hardware / software partition.
8.6.- Examples hardware / software codesign.
8.7.- Peripheral design. How to split functions between “hardware” and “software”.
LESSON 9 THEORY (4 h.). DESIGN OF COMPLEX SYSTEMS. 9.1.- Introduction.
9.2.- Previous analysis of the most suitable solution.
9.3.- Application specific peripherals. Design methods.
9.3.1.- Practical examples.
LESSON 10 THEORY (2 h.). INTRODUCTION TO CORRECT DESIGN METHODS. 10.1.- Introduction.
10.2.- Design of digital systems with FPGAs.
10.2.1.- Hierarchical design.
10.2.2.- Independent technology design.
10.2.3.- Timing design.
LESSON 11 THEORY (4 h.). SYNCHRONOUS DIGITAL SYSTEM DESIGN. 11.1.- Introduction.
11.2.- Synchronous design.
11.3.- Synchronous sequential systems. FPGA design tips.
11.4.- Synchronisation of input variables.
LESSON 1 LABORATORY (2 h.). STAGES OF DIGITAL SYSTEM DESIGN WITH FPGAs. 1.1.- Introduction. Xilinx ISE tool flow diagram.
1.2.- VHDL description.
1.3.- Behavioural simulation.
1.4.- Synthesis.
1.5.- Implementation.
1.6.- Implementation options for the Xilinx Spartan 3E FPGA family.
1.7.- FPGA Editor.
1.8.- Timing simulation.
1.9.- Timing analysis report.
1.10.- Technology and configuration methods for Xilinx FPGAs.
1.11.- Development boards based on FPGAs of Xilinx.
1.12.- Configuration file (.BIT).
1.13.- FPGA programming. ‘iMPACT’.
1.14.- Digital system testing. Frequent problems.
1.15.- Examples.
LESSON 2 LABORATORY (2 h.). PERIPHERAL CIRCUIT DESIGN FOR THE PICOBLAZE MICROPROCESSOR. 2.1.- Introduction.
2.2.- Guidelines on synchronous design with VHDL.
2.3.- Basic register in VHDL.
2.4.- Data memory in VHDL.
2.5.- Timer in VHDL.
LESSON 3 LABORATORY (2 h.). PERIPHERALS INTERFACE CIRCUIT DESIGN FOR THE PICOBLAZE MICROPROCESSOR. 3.1.- Introduction.
3.2.- Input peripheral interface circuit in VHDL.
3.3.- Output peripheral interface circuit in VHDL.
3.4.- Interrupt storing circuit in VHDL.
LESSON 4 LABORATORY (2 h.). XILINX PICOBLAZE MICROPROCESSOR SOFTWARE TOOLS. 4.1.- Introduction.
4.2.- Program assembler and simulator in Mediatronix. Picoblaze IDE.
4.3.- Basic examples.
LESSON 5 LABORATORY (6 h.). DESIGN OF DIGITAL SYSTEMS BASED ON THE PICOBLAZE MICROPROCESSOR. 5.1.- Introduction.
5.2.- Picoblaze microprocessor source files.
5.3.- Design stages for digital systems based on the Picoblaze microprocessor.
5.3.1.- Choosing the right Picoblaze microcontroller.
5.3.2.- Picoblaze program design.
5.3.3.- Picoblaze program simulation.
5.3.4.- Generation of the necessary VHDL files for the implementation of the
Picoblaze Microprocessor in Xilinx Spartan 3E FPGA family.
5.3.5.- Peripheral circuit design for the Picoblaze microcontroller. Additional circuits needed.
5.3.6.- Simulation of the peripheral and additional circuits.
5.3.7.- Implementation of the complete digital system.
5.3.8.- Test of the complete digital system.
5.4.- Design of a basic example with use of interrupts, based on the Picoblaze microprocessor.
LESSON 6 LABORATORY (12 h.). PROJECTS. DESIGN OF DIGITAL SYSTEMS BASED ON THE PICOBLAZE MICROPROCESSOR. 6.1.- Design and implementation of a medium-complexity digital system based on the Picoblaze 3 microprocessor, according to the instructions supplied by the teacher through FaiTIC website.
Universidade de Vigo            | Reitoría | Campus Universitario | C.P. 36.310 Vigo (Pontevedra) | Spain | Tlf: +34 986 812 000