Projects
Extending the RISC-V ISA
- Custom synthesizable Verilog implementation of RV32-IM core and memory hierarchy
- Added ISA + Microarchitectural extensions to accelerate:
- Searching in Linear-Probed Hashsets (up to 10x speedup on high load-factors)
- Breadth-First Search (average 2x speedup)
Presentation
| Design
| Code
| Team of 2
Processing-In-Memory: Sorting Algorithms
- Surveyed the ability of PIM to accelerate sorting techniques
- Two base algorithms -- insertion/radix sort + merge -- showed similar results
- PIM performed slower than C/C++ quicksort
- Effect of PIM parameters (DPU-CPU tradeoffs, cache size) are analyzed
Presentation
| Code
| Team of 5
XC2064 FPGA Design
- Fully-synthesizable Verilog design of the XC2064 from 1985
- Created tooling for demonstration
- Unit tests for LUT and CLB
- Web GUI for interconnect bitstream generation
Reference Article
| Code
| Team of 3
1D Cellular Automata Theory
- Brief survey of local pattern formation in 1D Cellular Automata Theory
Paper
| Solo
RTOS Design
- Built a bare-metal RTOS on TM4C123 microcontroller with basic features:
- Real-time priority scheduler with thread/process management
- FAT32 file system and memory management
- Wireless remote-procedure calls and user interpreter
- Demonstrated OS robustness with two-player remote battleship application
Demo
| Team of 2
JASP Cellular Phone
- Supports call+text functionality with total cost under $50
- Integrates a LCD, real-time clock, and numpad on a TM4C123 microcontroller
- Uses LittlevGL library for graphical rendering
- Voted best project during class (EE 445L) project showcase
Code
| Team of 4
Enrich: PennApps 2019
- Prototype for an interactive course organization and lecturing platform
- Allows for messaging service, speech-to-text translation, and a "learning ratio" statistic to get anonymous real-time feedback about the lecture
RecycleMe: CreateAThon 2019
- Smart autonomous trash-sorter to sort Recyclable, Landfill, and Compostable materials
- Raspberry Pi controls movable compartment with camera to detect new objects
- A trained CNN runs on offsite server to process data in real-time
- Built a mobile app to crowd-source the gathering and labelling of real-world dataset
Presentation
| System Code
| Mobile App
| Team of 5
Home-Unity: HackDFW 2019
- Mobile app for homeless users to receive notifications about provisions from the City of Dallas
- Data-visualization web platform for City of Dallas to better understand the urban geography of homelessness
- Awarded first place from City of Dallas and OmniSci under social good category
ChairIoT: CreateAThon 2018
- Prototype for a self-organizing chair platform
- Raspberry Pi used for processing pipeline and motor control
- Uses IMU to gather time-series acceleration data and gyroscope data
- Implemented Kalman filter to compute net displacement
- Power management components mounted below the platform