fly322 发表于 2011-8-12 11:52:06

简单 串并转换 程序求助

module se_pa(rst,clk,data_in,data_out
    );
input clk,rst;
input data_in;
output data_out;

reg data_out;
reg para_out;
reg 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,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 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


输出不知道为什么不对 请高手 看看程序 指点一二 谢谢了

wyatwl 发表于 2011-8-15 16:14:34

输出是什么?怎么不对了?能说详细点吗?

liujilei311 发表于 2011-8-16 08:02:03

对verilog不太熟悉,学习一下!!!!!!!!

beyond5165897 发表于 2011-8-17 21:39:50

测试代码部分的最后,always #50 clk = ~clk;#50改成#5,估计是你手误,哪有那么大周期的时钟,呵呵,很明显与输入数据周期不一致嘛

fly322 发表于 2011-8-22 15:38:34

回复 4# beyond5165897


    多谢高手指点...问题解决

liujilei311 发表于 2011-8-23 07:53:36

恭喜恭喜啊,呵呵!!!!!!!!!!!

hhq520189 发表于 2011-8-23 09:55:54

就是,仿真的周期也太大了吧,连赋了几个值,周期还没变化一次
页: [1]
查看完整版本: 简单 串并转换 程序求助