Xilinx Vivado: Step-by-Step Guide to Simulating Logic Gates – JNTUH CMOS VLSI LAB 01

88 / 100
Reading Time: 6 minutes
xilinx vivado

CMOS VLSI Lab using Xilinx Vivado

In the vast and evolving field of electronics and communication engineering, practical skills in digital design hold immense value. One such critical skill is the ability to simulate logic gates using sophisticated software like Xilinx Vivado. This blog post offers a step-by-step guide tailored not just for students following the JNTUH syllabus, specifically the CMOS VLSI DESIGN LABORATORY for B.Tech III Year II Semester, but also for enthusiasts and professionals seeking to deepen their understanding of digital logic design.

Thank you for reading this post, don't forget to share! website average bounce rate Buy traffic for your website


Lab report


To design and simulate all basic logic gates (AND, OR, NOT, NAND, NOR, XOR, XNOR) using CMOS technology in Xilinx Vivado environment.

Apparatus / Software required:

  • Computer System: Adequate specifications to run Xilinx Vivado.
  • Software: Xilinx Vivado Design Suite.


Logic gates are the fundamental building blocks of any digital system. Each gate has a unique truth table representing its functionality. In CMOS technology, these gates are realized using a combination of PMOS and NMOS transistors. The list below outlines the core concepts:

  • AND Gate: Outputs high (1) only when both A and B are high (1).
  • OR Gate: Outputs high (1) if at least one input is high (1).
  • NOT Gate (Inverter): Outputs the inverse of input A; here, the table shows NOT A.
  • NAND Gate: Outputs low (0) only when both A and B are high (1).
  • NOR Gate: Outputs high (1) only when both A and B are low (0).
  • XOR Gate: Outputs high (1) when A and B are different.
  • XNOR Gate: Outputs high (1) when A and B are the same.


  1. Launch Xilinx Vivado:
    • Start by opening the Xilinx Vivado Design Suite on your computer.
  2. Create a New Project:
    • Navigate to File > New Project. Follow the wizard to set up your project for logic gate simulation.
  3. Design Entry:
    • Choose “Verilog” as the target language and create a new Verilog file named logic_gates.v for your gate designs.
  4. Implement Logic Gates:
    • Write the Verilog code to implement each logic gate. Ensure to include modules for AND, OR, NOT, NAND, NOR, XOR, and XNOR gates.
  5. Create a Testbench:
    • Develop a testbench logic_gates_tb.v to verify the functionality of your logic gates. The testbench should apply various input combinations and monitor the output for each gate.
  6. Run Simulation:
    • Compile your design and testbench, then run the simulation. Analyze the waveform to verify the functionality of each logic gate.
  7. Analyze Results:
    • Check the output waveforms against the expected truth tables for each logic gate.


RTL File :logic_gates.v

Testbench file: logic_gates_tb.v

Expected Waveform:

  • The waveform will display the input and output signals for each logic gate over time. It should match the expected behavior as defined by the truth tables.
simulation result


Upon successful simulation, all logic gates will exhibit outputs in accordance with their respective truth tables, demonstrating the correct realization of logic gates in a CMOS VLSI design environment using Xilinx Vivado.


This experiment emphasizes the significance of understanding and implementing basic logic gates in the realm of digital design and VLSI. Through the hands-on experience of simulating these gates in Xilinx Vivado, students and researchers gain valuable insights into the intricacies of digital logic and CMOS technology, laying a solid foundation for more complex designs.

Understanding the Basics

Before diving into the technical steps, let’s ensure we have a solid foundation. Logic gates are the building blocks of digital circuits, performing basic logical functions that are fundamental to digital computing. Xilinx Vivado, a state-of-the-art design suite, provides an integrated development environment for designing and simulating logic gates among other advanced digital design tasks.

Preparing Your Workspace

  • Creating a Structured Environment: The importance of organizing your files cannot be overstated. We recommend creating a folder named vivado_simulation and within it, three subfolders: rtltb, and vivado project. This structure will keep your project files neatly organized and easily accessible.
  • Downloading Necessary Files: To get started, you will need Verilog code files for the logic gates and a testbench to simulate them. These files can be typically found in the resources section provided by your instructor or the specific lab manual for the CMOS VLSI DESIGN LABORATORY.

Step-by-Step Guide to Creating and Simulating a Vivado Project

  1. Launch Vivado and Create a New Project: Begin by opening Xilinx Vivado and selecting the option to create a new project. Make sure to navigate to your vivado_simulation folder and create the project within the vivado project subfolder.
  2. Setting Up the Project: Choose ‘RTL Project’ and proceed without specifying sources at this time. This approach allows you to add your source files (the Verilog code for the logic gates) later in the process.
  3. Adding Source Files: Learn how to add your RTL (Register Transfer Level) design source (logic_gates.v) and your testbench (logic_gates_tb.v) to the project. These steps are crucial for preparing your project for simulation.
  4. Running the Simulation: With your source files added, the next step is to run a behavioral simulation. This process involves compiling your Verilog code and executing the simulation to observe the behavior of your logic gates under various input conditions.

Analyzing Simulation Results

  • Interpreting Waveforms: Understanding how to read and interpret the waveforms generated by the simulation is key to verifying the functionality of your logic gates. This section will provide insights into analyzing these waveforms to ensure your design meets the desired specifications.
  • Troubleshooting Common Issues: It’s not uncommon to encounter issues during simulation. We’ll cover some basic troubleshooting steps to help you resolve common problems, such as missing signals or unexpected logic levels.

Beyond the Basics

  • Optimizing Your Design: Once you’re comfortable with basic simulations, you might want to explore more advanced topics, such as optimizing your Verilog code for better performance or lower power consumption.
  • Real-World Applications: Understanding how logic gates can be combined to create more complex digital circuits is crucial. We’ll discuss how the skills you’ve developed can be applied to real-world digital design projects.


This guide aims to demystify the process of simulating logic gates using Xilinx Vivado, making it accessible to students and hobbyists alike. Whether you’re following the JNTUH syllabus or exploring digital design on your own, this tutorial provides a solid foundation for advancing your skills in the fascinating world of digital electronics.

Encouraging Further Exploration

  • Resources for Advanced Learning: For those eager to dive deeper, we’ll recommend additional resources, including textbooks, online courses, and community forums, where you can further explore the subjects of digital design and Verilog coding.
  • Community and Support: The journey of learning digital design is both challenging and rewarding. Joining communities and seeking support from fellow learners and professionals can provide valuable insights and encouragement as you progress.

By following this guide, you’re well on your way to mastering the simulation of logic gates in Vivado, a skill that will serve you well in your studies, hobby projects, or

professional endeavors in electronics and digital design. Happy simulating!

Frequently Asked Questions (FAQ)

  • Can this guide be used by those not following the JNTUH syllabus?
    • Absolutely! While this guide is tailored to the requirements of the CMOS VLSI DESIGN LABORATORY course in the JNTUH syllabus, the skills and techniques are universally applicable in the field of digital design.
  • What if I encounter errors during simulation?
    • Errors are a normal part of the learning process. This guide includes a troubleshooting section to help you identify and resolve common issues. Always start by checking your Verilog code for syntax errors and ensuring your simulation environment is correctly set up.

GitHub repository for the CMOS VLSI DESIGN LABORATORY

Research is Fun – VLSI

Dr. Honey Durgaprasad Tiwari, both the CTO at INKOR Technologies Private Limited, India, and a dedicated academic researcher, brings a wealth of expertise. With a Post-Doctoral stint at Sungkyunkwan University, Ph.D. in Electronic, Information and Communication Engineering from Konkuk University, Seoul, South Korea, and M.Tech in Embedded Electronic Systems from VNIT Nagpur, his research legacy spans wireless power transfer, medical imaging, and FPGA innovation. Notably, he has authored 40+ SCI papers, conference contributions, and patents, leaving an indelible mark on these fields. Holding pivotal Academic Administrative roles, including Head of Department and IQAC Coordinator, he passionately channels his insights into concise and impactful blogs, enriching the tech discourse. 🚀🔬📚

Leave a Comment

Xilinx Vivado: Step-by-Step Guide to Simulating Lo…

by Dr. Honey Durgaprasad Tiwari time to read: 6 min