Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.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,目前,我正在尝试查看verilog中的响铃计数器。 但我好奇的是,打电话的目的是什么? 我不太听懂。有人知道响铃计数器的用途吗?使用四个触发器可以创建一个四态,无需额外的逻辑。传统的状态机需要2个触发器和下一个状态逻辑。维基百科指出,环形计数器将更简单,合成面积更小 我希望加法器和下一状态逻辑的大小与环形计数器中使用的两个额外触发器的大小相似,从而使任何一种类型的四状态机大致相等。环形计数器也将快速增长,每个额外的状态都需要一个额外的触发器。国家必须始终遵循线性模式。大多数FSM都有分支并对输入

目前,我正在尝试查看verilog中的响铃计数器。 但我好奇的是,打电话的目的是什么? 我不太听懂。有人知道响铃计数器的用途吗?

使用四个触发器可以创建一个四态,无需额外的逻辑。传统的状态机需要2个触发器和下一个状态逻辑。维基百科指出,环形计数器将更简单,合成面积更小

我希望加法器和下一状态逻辑的大小与环形计数器中使用的两个额外触发器的大小相似,从而使任何一种类型的四状态机大致相等。环形计数器也将快速增长,每个额外的状态都需要一个额外的触发器。国家必须始终遵循线性模式。大多数FSM都有分支并对输入做出反应,从而最大限度地减少了使用环形计数器的机会

环形计数器的优点是其状态为。这可能会简化输出逻辑

环形计数器FSM:

module ring_counter(
  input clk,
  input rst_n,

  //outputs ...
);
reg state0;
reg state1;
reg state2;
reg state3;

always @(posedge clk, negedge rst_n) begin
  if (~rst_n) begin
    state0 <= 1'b1;
    state1 <= 1'b0;
    state2 <= 1'b0;
    state3 <= 1'b0;
  end
  else begin
    state0 <= state3;
    state1 <= state0;
    state2 <= state1;
    state3 <= state2;
  end
end
endmodule

它将在州内迭代
00
->
01
->
10
->
11

非常感谢。关于FSM的环形计数器是否有参考示例代码?我几乎能理解,但我需要一些示例参考来完全理解。再次感谢先生。
reg [1:0] state;

always @(posedge clk, negedge rst_n) begin
  if (~rst_n) begin
    state <= 'b0;
   end
   else begin
     state <= state + 1;
   end
 end