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 Generator
in the form of anFSM
. - Assignment 4: Implement a
3-bit Gray code counter
in the form of anFSM
, and an8-bit adder/subtractor
. - Assignment 5: Implement a
GCD calculator
Stein's Algorithm inVerilog
, and write code forInsertion Sort
, generatingFibonacci Numbers
, andalternatively adding/subtracting
floats in a vector of sizep
inMIPS
. - Quiz 3: Contains my submissions in Quiz 3. MIPS programs to find
quotient
andremainder
,slope
of 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 Adder
and 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
circuitikz
andkarnaugh-map
for K-maps.