This repository contains the programming assignments we had to submit in the course CS220: Computer Organisation (2021-22 II Sem.) in a team of three.
The languages used in assignments were majorly Verilog and Assembly (MIPS ISA).
The repository doesn't contain .vvp and .vcd files but can be generated by running the commands written here in the directory that contains the corresponding .v file.
- Hello Contains some basic "Hello World" programs (in Verilog and MIPS). Verilog can be run with iVerilog and MIPS with QtSpim. For help, consider Instructions.
- Assignment 1: Implement an
8-bit adder,8-bit comparator,3-to-8 decoder, and an8-to-3 priority encoder. - Assignment 2: Implement an
8-bit carry look-ahead adder, and an8-bit Johnson Counter. - Assignment 3: Implement a
(1010) Sequence Detector, and a3-bit Odd Parity Generatorin the form of anFSM. - Assignment 4: Implement a
3-bit Gray code counterin the form of anFSM, and an8-bit adder/subtractor. - Assignment 5: Implement a
GCD calculatorStein's Algorithm inVerilog, and write code forInsertion Sort, generatingFibonacci Numbers, andalternatively adding/subtractingfloats in a vector of sizepinMIPS. - Quiz 3: Contains my submissions in Quiz 3. MIPS programs to find
quotientandremainder,slopeof a line, andbinary search. The submission for the binary search does not work properly in the case when the key is present in the array.
- Assignment 2: 5 marks deducted in the Report because truth table of Johnson counter not included.
- Assignment 3: 5 marks deducted in the Second Question, no feedback provided.
- Assignment 4: 5 marks deducted, no feedback provided.
- Quiz 3: 20 marks deducted, since binary search did not work properly.
- You may refer to instructions for running verilog codes or MIPS programs.
- You may use this as a glossary or for some common commands in MIPS.
- There was another assignment/ lab session, where we were made to burn an FPGA board to implement a
1-bit Full Adderand a2-to-1 MUX. Unfortunately, I cannot provide the codes used directly. However, we used this for the constraint file. - Most of the students either did not use LaTeX for assignment reports, or imported hand-drawn diagrams. I sticked to LaTeX despite disapproval and/or lack of support. The package used to draw the circuits is
circuitikzandkarnaugh-mapfor K-maps.