Verilog4位2选1多路选择器

题目描述

通过使用ISE软件进行4位2选1多路选择器的设计与实现。

题目解读

这是一个很基本的Verilog语法,4位就是指输入的数是一个四位2进制的数,具体表达为4‘b1000等等

代码

`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date:    00:22:11 11/04/2015 
// Design Name: 
// Module Name:    lab2 
// Project Name: 
// Target Devices: 
// Tool versions: 
// Description: 
//
// Dependencies: 
//
// Revision: 
// Revision 0.01 - File Created
// Additional Comments: 
//
//////////////////////////////////////////////////////////////////////////////////
module lab2(input [3:0] d0,d1,
                input s,
                output [3:0] y
    );
     assign y = s?d0 : d1;


endmodule

仿真代码

`timescale 1ns / 1ps

////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer:
//
// Create Date:   00:29:04 11/04/2015
// Design Name:   lab2
// Module Name:   D:/ISE/workplace/lab2/lab2_test.v
// Project Name:  lab2
// Target Device:  
// Tool versions:  
// Description: 
//
// Verilog Test Fixture created by ISE for module: lab2
//
// Dependencies:
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
////////////////////////////////////////////////////////////////////////////////

module lab2_test;

    // Inputs
    reg [3:0] d0;
    reg [3:0] d1;
    reg s;

    // Outputs
    wire [3:0] y;

    // Instantiate the Unit Under Test (UUT)
    lab2 uut (
        .d0(d0), 
        .d1(d1), 
        .s(s), 
        .y(y)
    );

    initial begin
        // Initialize Inputs
        d0 = 0;
        d1 = 0;
        s = 0;

        // Wait 100 ns for global reset to finish
        #100;
        #100
        d0 = 4'b0010;
        d1 = 4'b1101;
        s = 0;
        #100
        d0 = 4'b1100;
        d1 = 4'b1111;
        s = 1;
        #100
        d0 = 4'b1000;
        d1 = 4'b0101;
        s = 1;

        // Add stimulus here

    end

endmodule

你可能感兴趣的:(Verilog)