Created by gh-md-toc
This project aims to provide a fully open-source alternative to the Open CourseWare Digital Computers 2 Laboratories taught at Politehnica University of Bucharest, during the first semester of the university year 2021-2022.
The official guideline recommends using either the Xilinx ISE or Vivado. Since, both of them are memory heavy (tens of Gb) and closed-source, this repository was born in order to prove a change is possible.
Here is the list of the improvements I brought:
Makefile
with Icarus Simulator support- Verilator for linting with all warnings managed
- Some of the members of the PUB team felt like not all Verilator warnings
were relevant, for example
WIDTH
ones in test benches, but I would like to cite other guidelines from Cornell UniversityIt is a very good idea to control width. [...] Pay attention to warnings
- But from
lab-05
and up I chose to invest my time in better activities than fixingWIDTH
warnings
- But from
- Some of the members of the PUB team felt like not all Verilator warnings
were relevant, for example
- Correct use of both nonblocking and blocking assignments
- Coding style (as best as I could)
- Improved checkers
- Removed unsynthesizable
initial
blocks which were not used for simulation purposes only - Provided information about open-source tools
- Synthesis script (only for some laboratory tasks)
For more information or a syllabus check out the course description page here . This course was taught by Dan-Ștefan Tudose.
I encourage you to watch the online lectures here .
Given that this is a follow up project to the Digital Computers 1 repo, all the requirements and usage instruction can be read on it's description. Like this repository, it aims to provide a fully open-source alternative to the Open CourseWare Digital Computers 1 Laboratories (PUB).
I would like to thank our teaching assistant Ștefan-Dan Ciocîrlan for all his support, this repository would not be possible without him.
Although, I frequently used the pronoun I in this README, I would like to thank Dimitrie David for helping me with it!