我有一个带有fowling输入和输出的Verilog模块
module Foo
#(
parameter DATA_BITS = 32,
parameter ENUM_BITS = 8,
parameter LED_BITS = 8
)
(
//Module IO declarations
input logic Clk_i,
input logic Reset_i,
input logic NoGoodError_i,
input logic EncoderSignal_i,
input logic [DATA_BITS-1:0]DistanceCount_i,
//Enable the gate
output logic GateEnable_o
)
总体设计思想如下。当我接收到NoGoodError_i的正沿时,启动一个计数器,并通过EncoderSignal_i信号的正沿向上计数到DistanceCount_i计数。这看起来非常简单,然而我的设计挑战变成了我可以在完成前一次计数之前获得另一个NoGoodError_i。因此,我需要一种方法在行和开始计数器中获得高达10 NoGoodError_i的信号。然后,一旦计数器过期(滚动),就重新使用它们。请任何设计技巧将非常感谢。
https://stackoverflow.com/questions/50687209
复制相似问题