Reconfigurable Computing SE 461, Semester 1, 2005 
Link  Synopsis 

Lecture Notes (SE461)  
VHDL  Fundamentals of VHDL History  derivation from Ada Basic syntax Entities and architectures Modeling styles  behavioural and structural 
VHDL  Types and statements  Basic Types Subtypes Libraries and packages IEEE 1164 standard logic Attributes Procedural statements  PROCESS blocks IF .. THEN .. ELSE LOOPS WAIT CASE 
VHDL  Signals, Generics, etc 
Facilities in VHDL for hardware design

Design Flow with VHDL 

Resolution Functions  When a signal has multiple drivers, VHDL requires you to define a resolution function which defines how conflicts are resolved. 
Type Conversions  VHDL (like its parent, Ada) is a strongly typed language: when a value of one type is assigned to a value of another, a type conversion function must be explicitly invoked. 
FPGA structures  Architectures of some commercially available FPGAs Implementation issues  tradeoffs

Verifying Circuits  Testing circuit functions; Determining the test cases; Equivalence Classes; Random testing; Running tests 
Adders  Adders Implementation issues  tradeoffs

Multipliers  Multipliers Implementation issues  tradeoffs

Design Options  Design Issues 
Number Systems  Number Systems

Floating Point Numbers  Floating Point Numbers

CORDIC  CORDIC Arithmetic

Pipelining  Pipelines

Synthesizer Optimizations  Synthesizer optimizations

Lecture Notes (ChungAng University)  
Link  Synopsis 
VHDL  Fundamentals of VHDL History  derivation from Ada Basic syntax Entities and architectures Modeling styles  behavioural and structural 
VHDL  Types and statements  Basic Types Subtypes Libraries and packages IEEE 1164 standard logic Attributes Procedural statements  PROCESS blocks IF .. THEN .. ELSE LOOPS WAIT CASE 
VHDL  Signals, Generics, etc 
Facilities in VHDL for hardware design

Designing and Testing  Design flow for VHDL models 
FPGA structures  Architectures of some commercially available FPGAs Implementation issues  tradeoffs

Circuit Options  Circuit design styles, focussing on adders
due to their importance in almost all digital circuits

Circuit Options (Part B)  Multipliers

Multipliers  Performance and resource tradeoffs are illustrated
by studying several ways to implement multipliers

Verifying Circuits  Testing circuit functions; Determining the test cases; Equivalence Classes; Random testing; Running tests 
Circuit Performance  Measuring circuit performance Experimental techniques Need for experimental hypothesis Test benches 
Clocks  Clock skew Phaselocked loops Simple, imprecise clocks 
Advanced VHDL  
Resolution Functions  When a signal has multiple drivers, VHDL requires you to define a resolution function which defines how conflicts are resolved. 
Type Conversions  VHDL (like its parent, Ada) is a strongly typed language: when a value of one type is assigned to a value of another, a type conversion function must be explicitly invoked. 
Table Driven Code  Efficient, maintainable code Table driven code Test benches 
Implementations  
CORDIC Arithmetic  Calculation of trig functions using the CORDIC (Coordinate Rotation by DIgital Computer) technique 
CORDIC Implementation  Implementations of CORDIC circuits Space and performance tradeoffs 
Memory  Memory in FPGAs Memory Organization

Pipelines  Pipeline fundamentals Pipelines in high performance processors
Example: Pipelined multipliers 
Applications  A review of applications suitable for reconfigurable computing 
Other resources  
Example source  All VHDL code examples 
test_bench.vhdl  Altera test bench skeleton 