This repository contains my practice and learning projects in Verilog and MIPS Assembly language. It includes a collection of code examples, exercises, and solutions to deepen understanding of low-level programming concepts. The primary focus is on learning the fundamentals of computer architecture, digital design, and assembly programming through hands-on implementation and experimentation.
Verilog Projects: A series of Verilog code examples covering topics such as combinational and sequential logic, finite state machines, data path design, and more. MIPS Assembly Exercises: MIPS assembly programs that demonstrate core concepts in computer organization, including memory management, registers, loops, system calls, and basic arithmetic operations. Documentation & Comments: Each project is accompanied by detailed comments and explanations to help understand the design decisions, algorithms, and challenges faced during implementation. Solutions to Exercises: Solutions for various exercises that help consolidate knowledge of computer architecture concepts.
Gain a practical understanding of hardware design using Verilog. Improve proficiency in low-level programming using MIPS Assembly. Develop problem-solving skills in the context of digital systems and computer architecture. Explore and implement key concepts such as memory hierarchy, instruction execution, pipelining, and more. Feel free to explore, contribute, or suggest improvements to the code! This repository is a work in progress, and I am continuously adding new content and refining the existing code to better showcase computer architecture principles.