Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Verilog:使用加法器设计计数器_Verilog - Fatal编程技术网

Verilog:使用加法器设计计数器

Verilog:使用加法器设计计数器,verilog,Verilog,下面是一个简单的4位计数器verilog代码,我使用4位加法器verilog代码制作了一个工作文件,经过测试。当我包含加法器实例化时,时钟停止工作,因此整个代码停止工作。有什么可能出错的建议吗 module four_bit_counter( output reg [3:0] a ); reg clock ; reg [3:0] temp; initial begin a = 4'b0000; clock =0 ; temp = 4'b0000; // Rem

下面是一个简单的4位计数器verilog代码,我使用4位加法器verilog代码制作了一个工作文件,经过测试。当我包含加法器实例化时,时钟停止工作,因此整个代码停止工作。有什么可能出错的建议吗

module four_bit_counter(
output reg [3:0] a
);
 reg clock ;
 reg [3:0] temp;
 initial
 begin
    a = 4'b0000;
    clock =0 ;
    temp = 4'b0000;   // Remove this
 end

 four_bit_adder add(.a(temp), .b(4'b0001), .s(a));   //  four_bit_adder add(.a(a), .b(4'b0001), .s(temp));

 always  begin 
    #10 clock = ~clock;
 end

 always @(posedge clock) 
    begin 
        assign temp = a;  // a<=temp;
    end

endmodule

endmodule发现了错误。我们认为verilog代码是一个带变量的普通C代码。可以在硬件级别解决此问题。我已经对需要进行的更改进行了评论,以使其正常工作。

请告诉我如何以适当的方式添加代码…为什么我们不能将s连接到a???我正在使用xiling工具。。。存在此并发分配或输出端口连接应为网络类型的警告目标。
 input  [3:0] a, 
 input  [3:0] b,
output reg [3:0] s  // Type wire
); 
 wire [3:0] sum;   
 wire [3:0] c ; 
    full_adder f1( .a(a[0]) , .b(b[0]), .cin(1'b0), .s(sum[0]), .c(c[0]) );
    full_adder f2( .a(a[1]) , .b(b[1]), .cin(c[0]), .s(sum[1]), .c(c[1]) );
    full_adder f3( .a(a[2]) , .b(b[2]), .cin(c[1]), .s(sum[2]), .c(c[2]) ); 
    full_adder f4( .a(a[3]) , .b(b[3]), .cin(c[2]), .s(sum[3]), .c(c[3]) );

    always begin 
        assign s = sum;
    end