Verilog - 从多个 "sensors" 中获取输入,递增 "count"

Verilog - take in input from multiple "sensors", increment "count"

我正在为 class 做一个介绍性的 Verilog 项目。在我的代码中,我使用了多个传感器(Sensor_1、Sensor_2...)。所有传感器开始时都处于空闲状态; Sensor_x == 0。如果传感器感应到移动物体,它会变为 Sensor_x == 1。有没有一种方法可以编写一个 "count" 来跟踪多个传感器变为 1以便我可以根据计数分支到不同的代码?我意识到我可以将嵌套的 'if' 语句与 OR (||) 和 AND (&&) 结合使用,但是,如果我有四个或五个传感器,这就有点多余了。也许我在考虑这个错误的方式,但在一个变量中跟踪多个断言的传感器似乎比许多 'if, 'else if' 语句更有效。如果我错了,请纠正我。这对很多人来说可能非常简单,但 Verilog 中的编码对我来说是新手,所以我有点难过。

... so that I can branch to different code

没有! Verilog 不是一种编程语言,您可以在其中以某种方式重新定向程序计数器来执行不同的操作。

所有代码同时出现并并行执行。
您所能做的就是使用 ifcase 等结构 "enable" 或 "disable" 部分代码

Is there a way to code a "count" that will keep track of multiple sensors changing to 1...

您可以对所有传感器进行计数,但如果两个传感器同时发生变化怎么办?
而不是 就像一个 C 程序,您可以在其中执行以下操作:

   for (s=0; s<NUM_SENSORS; s++)
     if (sensor[s])
        count++;

对于初学者课程,我会为每个传感器使用一个计数器并将它们相加。

最后但同样重要的是:如果要真正在硬件中工作,您可能需要先将传感器与本地时钟同步,然后才能使用它们。询问您的 class 讲师,传感器输入是同步到达还是异步到达。 当心:如果你问这个问题,他可能会怀疑你一直在寻求帮助!