Instructions
  • Please read the PROCEDURE section carefully before starting the simulation for the experiment.
  • The verilog module and testbench code are partially filled and divided into code blocks.
  • Drag and drop these code blocks to arrange them in the correct order for the code to work.
  • Complete the partially filled code blocks.
  • Once you have completed the code and rearranged the blocks as required, click on validate. This will give the output truth table as per the code and will also give a success/failure message accordingly.
  • Clicking on reset will reset the experiment and you can start your practice again.
Verilog Module
  • // Define module name, inputs and outputs

    module (

       ,

      input [1:0]    ,

      output[3:0]

    );

  •  // Define the functionality of this module.

    assign        

  • // End of the module
    endmodule
Verilog Testbench

`timescale 1ns/1ns
  • // Define Test Bench name

    module ;

  • // Declare the input and output variables

      reg [1:0] ;

      reg [1:0] ;

      wire [3:0] ;

  •   // Instantiate the Multiplier module

       uut (

         ,

         ,

         ,

  • // Initial Block

      initial begin

        // Defining the input waves A, B

        A = 2'b00; B = 2'b00;
        #1
        A = 2'b00; B = 2'b11;
        #1
        A = 2'b01; B = 2'b01;
        #1
        A = 2'b10; B = 2'b01;
        #1
        A = 2'b11; B = 2'b11;
        #1
        A = 2'b00; B = 2'b01;
        #1
        A = 2'b10; B = 2'b10;
        #1
        A = 2'b11; B = 2'b10
        #1


        $finish;
      end

  • // End of the module
    endmodule
Observations