Verilog - 从多个“传感器”接收输入,增加“计数”

问题描述 投票:-1回答:1

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

verilog fpga hdl
1个回答
0
投票

...所以我可以分支到不同的代码

没有! Verilog不是一种编程语言,你可以用某种方式重新指导程序计数器做一些不同的事情。

所有代码同时存在并且并行执行。 您所能做的就是使用ifcase等结构“启用”或“禁用”部分代码。

有没有办法编码“计数”,将跟踪多个传感器变为1 ...

您可以保留所有传感器的计数,但如果两个传感器同时更改,您会怎么做? 它不像C程序,你可以做:

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.