DV200
A go-to repository for exploring, learning, and mastering RTL design and verification.
Install / Use
/learn @Nidhinchandran47/DV200README
🎉 DV200: The Ultimate RTL Design and Verification Playground 🛠️
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! 🚀🔧
Table of Contents
Repository Layout 🗂️
The structure of the DV200 repository is designed for clarity and ease of use:
[!IMPORTANT]
▣ <a href="https://github.com/Nidhinchandran47/DV200/tree/main/DESIGNS/0.%20How%20to%20code%20in%20Verilog"> <b>How to write Verilog Code</b> </a>
- <details> <summary> ▣ <a href="https://github.com/Nidhinchandran47/DV200/tree/main/DESIGNS/1.%20Basic"> <b>Basic</b> </a> 🔻 </summary> </details>
- <details> <summary> ▣ <a href="https://github.com/Nidhinchandran47/DV200/tree/main/DESIGNS/2.%20Combinational"> <b>Combinational </b> </a> 🔻 </summary>
</details>
- 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
- <details> <summary> ▣ <a href="https://github.com/Nidhinchandran47/DV200/tree/main/DESIGNS/4.%20Arithematic%20Circuits"> <b>Arithematic Circuits </b> </a> 🔻 </summary>
3 . Carry Save Adder
- <details> <summary> ▣ <a href="https://github.com/Nidhinchandran47/DV200/tree/main/DESIGNS/5.%20Memory"> <b>Memory Elements </b> </a> 🔻 </summary>
3 . FIFO
4 . Singleport RAM
Why DV200? 🤔
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. 🤝
Getting Started 🏁
Follow these steps to dive into the DV200 universe:
Prerequisites 🛠️
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)
Clone the Repository 🖥️
git clone https://github.com/Nidhinchandran47/DV200.git
cd DV200
Toolchain Requirements 🧰
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
Contribute 💡
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. 🔍
Contact Me 📬
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. 🛠️✨
