| 1. VHDL Building Blocks |
| |
1.1 Modeling Digital Circuits Using VHDL |
| |
1.2 VHDL if Statement |
| |
|
Example 1 - 2-to-1 Multiplexer |
| |
|
Example 2 - Registers |
| |
|
Example 3 - Debounce Pushbuttons |
| |
|
Example 4 - Clock Pulse |
| |
|
Example 5 - Counters |
| |
|
Example 6 - Clock Divider |
| |
|
Example 7 - Comparators |
| |
1.3 VHDL case Statement |
| |
|
Example 8 - 4-to-1 Multiplexer |
| |
|
Example 9 - 7-Segment Decoder |
| |
|
Example 10 - Arithmetic Logic Unit (ALU) |
| |
1.4 VHDL for Loops |
| |
|
Example 11 - 4-Input Gates |
| |
|
Example 12 - Binary-to-BCD Converter |
| |
|
Example 13 - Gray Code Converters |
| |
|
Example 14 - Multiplier |
| |
|
Example 15 - Divider |
| |
|
Example 16 - 3-to-8 Decoder |
| |
1.5 State Machines |
| |
|
Example 17 - A Moore Machine Sequence Detector |
| |
|
Example 18 - A Mealy Machine Sequence Detector |
| |
|
Example 19 - Door Lock Code |
| |
1.6 VHDL Package |
| |
|
Example 20 - Door Lock Code - Package |
| |
1.7 Multiple-Process VHDL Programs |
| |
|
Example 21 - The 7-Segment Display Module, x7segb |
| |
1.8 VHDL while Statement |
| |
|
Example 22 - GCD Algorithm - Part 1 |
| |
|
|
| 2. Datapaths and Control Units |
| |
Example 23 - GCD Algorithm - Part 2 |
| |
Example 24 - Square Root Algorithm - Part 1 |
| |
|
|
| 3. Integrating the Datapath and Control Unit |
| |
Example 25 - GCD Algorithm - Part 3 |
| |
Example 26 - Square Root Algorithm - Part 2 |
| |
|
|
| 4. Memory |
| |
Example 27 - A VHDL ROM |
| |
Example 28 - Distributed RAM/ROM |
| |
Example 29 - A Stack |
| |
Example 30 - Block RAM |
| |
Example 31 - External RAM |
| |
Example 32 - External Flash Memory |
| |
|
|
| 5. UART |
| |
Example 33 - Transmit Module |
| |
Example 34 - Receive Module |
| |
|
|
| 6. VGA Controller |
| |
Example 35 - VGA Stripes |
| |
Example 36 - VGA PROM |
| |
Example 37 - Sprites in Block ROM |
| |
Example 38 - Screen Saver |
| |
Example 39 - External Video RAM |
| |
Example 40 - External Video Flash |
| |
|
|
| 7. PS/2 Port |
| |
Example 41 - Keyboard |
| |
Example 42 - Mouse |
| |
|
|
| 8. Graphics |
| |
Example 43 - Clearing the Screen |
| |
Example 44 - Plotting a Dot |
| |
Example 45 - Plotting a Line |
| |
Example 46 - Plotting a Star |
| |
Example 47 - Plotting a Circle |
| |
|
|
| 9. Forth Core for FPGAs |
| |
Example 48 - FC16 Forth Core |
| |
Example 49 - Data Stack |
| |
Example 50 - Function Unit |
| |
Example 51 - Return Stack |
| |
Example 52 - FC16 Controller |
| |
Example 53 - GCD Forth Program |
| |
Example 54 - Square Root Forth Program |
| |
|
|
| Appendix A – Aldec Active-HDL Tutorial - Simulations |
| Appendix B – Test Bench and XPower Tutorial |
| Appendix C – Making a Turnkey System |
| Appendix D – VHDL Quick Reference Guide |
| |
|
|