My research has involved embedded systems design and digital signal processing, especially as implemented in programmable logic devices and FPGAs.
keywords
Embedded Systems Engineering, Programmable Logic Devices, FPGA, SoC, Digital Design, Electrical and Electronics Engineering, Microprocessors, Digital Signal Processing, Microcontrollers, VHDL, Verilog, ARM
Teaching
courses taught
ECEA 5360 - FPGA Design for Embedded Systems: Intro to FPGA Dsgn for ES
Primary Instructor
-
Spring 2020 / Summer 2020 / Fall 2020 / Spring 2021 / Summer 2021 / Fall 2021 / Spring 2022 / Summer 2022 / Fall 2022 / Spring 2023 / Summer 2023 / Fall 2023 / Spring 2024 / Summer 2024 / Fall 2024
The Intro to FPGA Design for Embedded Systems course covers entering and compiling FPGA designs using Quartus Prime, recalling a list of common PLD architectures and the applications for which they are best suited, along with complexities, capabilities and trends of Field Programmable Gate Arrays (FPGA) and Complex Programmable Logic Devices (CPLD).
ECEA 5361 - FPGA Design for Embedded Systems: Hardwr Desc Lang FPGA Dsgn
Primary Instructor
-
Spring 2020 / Summer 2020 / Fall 2020 / Spring 2021 / Summer 2021 / Fall 2021 / Spring 2022 / Summer 2022 / Fall 2022 / Spring 2023 / Summer 2023 / Fall 2023 / Spring 2024 / Summer 2024 / Fall 2024
The Hardware Description Languages for FPGA Design course covers design of programmable logic circuits using both VHDL and Verilog hardware description languages, and recalling the steps in a standard FPGA Design flow.
ECEA 5362 - FPGA Design for Embedded Systems: FPGA Softcore Proc, IP Acq
Primary Instructor
-
Fall 2020 / Spring 2021 / Summer 2021 / Fall 2021 / Spring 2022 / Summer 2022 / Fall 2022 / Spring 2023 / Summer 2023 / Fall 2023 / Spring 2024 / Summer 2024 / Fall 2024
The FPGA Softcore Processors and IP Acquisition course covers evaluating the tradeoff between implementing or acquiring Intellectual Property (IP) cores, understanding the process of creating softcore processors by study and implementation, and describing and demonstrating FPGA design verification techniques, including simulation of test benches using ModelSim.
ECEA 5363 - FPGA Design for Embedded Systems: Building FPGA Projects
Primary Instructor
-
Fall 2020 / Spring 2021 / Summer 2021 / Fall 2021 / Spring 2022 / Summer 2022 / Fall 2022 / Spring 2023 / Summer 2023 / Fall 2023 / Spring 2024 / Summer 2024 / Fall 2024
Building FPGA Projects explores building a working FPGA embedded system by embedding a soft core processor in an Altera MAX10 FPGA, and using onboard analog IP to interface to real variables. This course also emphasizes understanding and practice of all aspects of FPGA development, including conception, design, implementation, and debugging.
ECEN 5623 - Real-Time Embedded Systems
Primary Instructor
-
Spring 2018 / Spring 2019 / Spring 2020 / Spring 2021 / Spring 2022 / Spring 2023 / Spring 2024
Design and build a microprocessor-based embedded system application requiring integration of sensor/actuator devices, a real-time operating system and application firmware and software. Real-time rate monotonic theory and embedded architecture are covered. Prioritized for EEEN graduate students with ESE (Embedded Systems Engineering) sub-plan.
ECEN 5803 - Mastering Embedded Systems Architecture
Primary Instructor
-
Spring 2018 / Fall 2018 / Spring 2019 / Fall 2019 / Summer 2020 / Fall 2020 / Summer 2021 / Fall 2021 / Summer 2022 / Fall 2022 / Summer 2023 / Fall 2023 / Summer 2024 / Fall 2024
Acquire an understanding of embedded systems architectures for the purpose of creating prototypes or products for a variety of applications. The salient issues in the decision making process will be examines, including trade-offs between hardware and software implementations, processor and operating system selection and IP creation or acquisition. Projects will involve the latest software development and tools and hardware platforms.
ECEN 5823 - Internet of Things Embedded Firmware
Primary Instructor
-
Spring 2020
Acquire firmware development skills to meet low energy and internet connectivity demands of embedded systems. Event-driven firmware techniques will be explored through programming assignments, transitioning to programming an Internet of Things RF Network Protocol such as Bluetooth Low Energy or Thread. The coursework will align with the latest industry firmware and embedded wireless protocol trends.
ECEN 5833 - Low Power Embedded Design Techniques
Primary Instructor
-
Fall 2019
The course explores through weekly quizzes, assignments, and a course project, low energy hardware design concepts, selecting components to meet reliability goals, radio implementation, power supply design, product design, and system bring up. The programming of the microcontroller or SoC will most likely be �coding to the metal� to control individual microcontroller peripherals and utilizing them in the most energy efficient ways. Recommended requisites: Students should have knowledge of assembly and C programming, digital logic design, and embedded computer architecture, and have had at least one course in each of these subjects, such as ECEN 5813 or ECEN 5823, students should also have experience using a microcontroller Integrated Development Environment (IDE) and its associated tools including its debugger and register views.
ECEN 5863 - Programmable Logic Embedded System Design
Primary Instructor
-
Spring 2018 / Fall 2018 / Spring 2019 / Fall 2019 / Fall 2020 / Spring 2021 / Fall 2021 / Spring 2022 / Fall 2022 / Spring 2023 / Fall 2023 / Spring 2024 / Fall 2024
Learn to design programmable systems on a chip for the purpose of creating prototypes or products for a variety of applications. Explore complexities, capabilities and trends of Field Programmable Gate Arrays (FPGA) and Complex Programmable Logic Devices (CPLD). Implement synchronization and timing closure in these devices. Projects will involve the latest software and FPGA development tools and hardware platforms.