Computer-Architecture-Reflection

As I always wanted to be a Hardware Engineer in my life, Computer Architecture proved to be one of the most important and helpful courses for. Also, throughout my undergraduate, I completed many microcomputer architecture subjects and further wanted to enhance my knowledge in this zone. The coursework was comprised of the architectural design, designing steps, and various modelling styles of the ASIC flow and these things interests me the most. The key focus of CSE-590 was to design a low-level handmade computer while considering parameters such as performance, power, and speed of operation. Acquiring the programming skills in VHDL and Verilog, a hardware description language, I optimized the design at the hardware level.

TThe subject started basic explanation of binary system and how things and mathematics change as we move from decimal to hexadecimal and binary system. On this basis, concepts of arithmetic operations, finite state machine, K-maps, and BCD_7Seg was taught. Things got pretty exciting when we were given our first mini-project, which was supposed to be done on Basys3 board utilizing all the concepts taught so far. The board displayed numbers according to input given by us using the switches on the board.

We also encountered various theories like pipelining fundamentals, Memory & I/O storage, superscalar architectures, and hazards of practically applying this concept. The concept of Pipelining showed me that speed is the primary concern of computer architectures. It can be greatly improved by using instruction-level parallelism. I gained detailed, step-by-step understanding of data path and control path which in turn helped me a lot in the final project that I worked on later in the course There are various kinds of hazards such as structural, data and control hazards which deteriorate the performance, and hence, should be avoided. To overcome these issues, we learned how to implement workarounds such as scheduling, branch prediction, forwarding, and using stalls.

For the final project, I designed a calculator which can do basic operations such as addition subtraction and rotation. VHDL as language in Vivado tool was used for this project. I found this project very much self-enlightening as all the theoretical concepts were applied practically and it made me Industry ready. You can find the project report, its working video, and other details by going to projects at SUNY Buffalo section of my portfolio or Click Here. It was a great learning experience for me and I’m glad that I took this subject.
</div>

Profile Image