module se_pa(rst,clk,data_in,data_out 
    ); 
input clk,rst; 
input data_in; 
output[3:0] data_out; 
 
reg[3:0] data_out; 
reg[3:0] para_out; 
reg[1:0] count; 
 
always@(posedge clk) 
begin 
        if(rst) 
                begin 
                        count <= 2'b00; 
                end 
        else 
                begin 
                        count <= count + 2'b01; 
                end 
end 
 
always@(posedge clk) 
begin 
        if(rst) 
                begin 
                        para_out <= 4'b0000; 
                end 
        else  
                begin 
                        para_out <= {para_out[2:0],data_in}; 
                end 
end 
                 
always@(posedge clk) 
begin  
        if(rst) 
                begin 
                        data_out <= 0; 
                end 
        else if(count == 2'b11) 
                begin                         
                        data_out <= para_out; 
                end 
end 
endmodule 
 
 
 
 
module t; 
 
        // Inputs 
        reg rst; 
        reg clk; 
        reg data_in; 
 
        // Outputs 
        wire [3:0] data_out; 
 
        // Instantiate the Unit Under Test (UUT) 
        se_pa uut ( 
                .rst(rst),  
                .clk(clk),  
                .data_in(data_in),  
                .data_out(data_out) 
        ); 
 
        initial begin 
                // Initialize Inputs 
                rst = 1; 
                clk = 0; 
                data_in = 0; 
 
                // Wait 100 ns for global reset to finish 
                #10 rst = 0; 
                #10 data_in = 1; 
                #10 data_in = 0; 
                #10 data_in = 1; 
                #10 data_in = 1; 
                #10 data_in = 0; 
                #10 data_in = 1; 
                #10 data_in = 0; 
                #10 data_in = 1; 
                #10 data_in = 1; 
                #10 data_in = 1; 
                #10 data_in = 0; 
                // Add stimulus here 
 
        end 
always #50 clk = ~clk;       
endmodule 
  
 
输出不知道为什么不对 请高手 看看程序 指点一二 谢谢了 |