Welcome to DV200, your go-to repository for exploring, learning, and mastering RTL design and verification. Whether you're a seasoned hardware engineer or a curious beginner, DV200 offers a variety of simple yet illustrative digital designs and their corresponding verification code. Let's dive into the fascinating world of digital logic, flip some bits, and learn through hands-on experimentation. Let's make circuits and have fun! 🚀🔧
The structure of the DV200 repository is designed for clarity and ease of use:
Important
-
▣ Combinational 🔻
- 1 . Half Adder
- 2 . Full Adder
- 3 . Half Subtractor
- 4 . Full Subtractor
- 5 . Adder cum Subtractor
- 6 . 2 to 1 MUX
- 7 . 4 to 1 MUX
- 8 . 8 to 1 MUX
- 9 . 2 to 4 Decoder
- 10 . 3 to 8 Decoder
- 11 . 1 to 4 DEMUX
- 12 . 1 to 8 DEMUX
- 13 . Bidirectional Buffer
- 14 . Binary to Gray Converter
- 15 . Gray to Binary Converter
- 16 . Priority Encoder
-
▣ Arithematic Circuits 🔻
- 1 . Ripple Carry Adder
- 2 . Carry Look Ahead Adder
- 3 . Carry Save Adder
-
▣ Memory Elements 🔻
- 1 . Synchronous Dual-Port RAM
- 2 . Asynchronous Dual-Port RAM
- 3 . FIFO
- 4 . Singleport RAM
DV200 is more than just a collection of RTL designs. It's an educational playground:
- Learn by Doing: Hands-on examples of digital circuits. 🚀
- End-to-End Projects: Each design comes with a testbench, promoting a thorough understanding of both design and verification. 📚
- Community Driven: Contributions are welcome, making it a collaborative effort. 🤝
Follow these steps to dive into the DV200 universe:
Ensure you have the following tools:
- Verilog/SystemVerilog compiler (e.g., Synopsys VCS, Cadence Xcelium, ModelSim)
- A simulator (e.g., Synopsys VCS, Cadence Xcelium, ModelSim)
- Make (optional, for running scripts)
git clone https://github.com/Nidhinchandran47/DV200.git
cd DV200
Make sure your environment is equipped with:
- Verilog/SystemVerilog Compiler: Tools like Synopsys VCS, Cadence Xcelium, or ModelSim.
- Simulator: To run the compiled designs.
Or you can use online tools like EDA Playground
Join the DV200 community and help us grow! Here's how:
- Fork the repository: Create your own copy on GitHub. 🍴
- Create a branch:
git checkout -b my-feature-branch
🌿 - Make your changes: Improve designs, add features, new designs, fix bugs. 🔧
- Commit your changes:
git commit -m 'Add some feature'
📝 - Push to your branch:
git push origin my-feature-branch
🚀 - Open a pull request: We'll review and merge your changes. 🔍
Have questions or feedback or do you find and mistake here? I love to hear from you! Reach out at ...💬.
DV200 isn't just a repository—it's a community and a learning resource. Dive in, explore the designs, run simulations, and become a part of the DV200 journey. Let's design the future, one module at a time. 🛠️✨