usb_device_programming_class_project
the mbed main and custom SPI code, as well as the Tk/Python, verilog & CPU machine-code-program files, are available via the following link.
there is a defect in the mercurial revision control system - I can't push updates into the same repository - need to use forks
Import programRTOS_project_fork_02
embedded RTOS class project.
Introduction
A combined project for 'USB Device Programming' and 'Embedded RTOS' classes for UCSC-extension.
Goal
Provide a Tk/Python GUI used for monitoring and control of a toy CPU running in an FPGA.
Features
- GUI-based CPU register read/write.
- GUI-based CPU main-memory read/write.
- GUI-based CPU machine-code file upload/download.
- GUI-controlled lock-step execution of the CPU program.
- GUI-controlled end-to-end fully automatic test.
Implementation
- Tk GUI on a PC host.
- Python programming on a PC host.
- PC host <-> MBED applications board serial-over-USB connection.
- multi-threaded MBED main program using serial-device USB library.
- custom SPI MBED library used to interface with an FPGA.
- verilog-based toy CPU programmed into the FPGA.
- machine-code programming files for the toy CPU programmed into the FPGA.
Indicators
- MBED: the four LEDs are heartbeats for the four threads.
- MBED: the LCD display shows SPI and CPU cumulative clock-counts.
Equipment
- Linux host PC.
- USB cable.
- MBED LPC1768 CPU board.
- MBED application board.
- twisted-pair SPI lines.
- Altera development board.
Tools & Libraries
- Tk & Python interpreters.
- Python serial library.
- MBED compiler.
- MBED libraries.
- Altera Quartus, including use of Signal-Tap.
Link to pdf Presentation
/media/uploads/gatedClock/presentation.pdf
video made before speed improvement
video made before speed improvement
video made before speed improvement
Please log in to post comments.