Verilog - принимать данные от нескольких «датчиков», увеличивать «счет» - PullRequest
0 голосов
/ 02 марта 2019

Я делаю вводный проект Verilog для класса.В моем коде я использую несколько датчиков (Sensor_1, Sensor_2 ...).Все датчики начинаются в нерабочем состоянии;Sensor_x == 0. Если датчик обнаруживает движущийся объект, он изменяется на Sensor_x == 1. Есть ли способ кодировать «счет», который будет отслеживать изменение нескольких датчиков на 1, чтобы я мог переходить к другому коду в зависимости откакой счет?Я понимаю, что мог бы использовать вложенные операторы if в сочетании с OR (||) и AND (&&), но если у меня четыре или пять датчиков, это становится немного избыточным.Может быть, я думаю об этом неправильно, но отслеживание нескольких заявленных датчиков в одной переменной кажется более эффективным, чем многие операторы «если, еще если».Пожалуйста, поправьте меня, если я ошибаюсь.Для многих это может быть очень просто, но кодирование в Verilog для меня ново, поэтому я немного озадачен.

1 Ответ

0 голосов
/ 02 марта 2019

... чтобы я мог переходить на другой код

Нет!Verilog не является языком программирования, где вы можете перенаправить счетчик программ, чтобы сделать что-то другое.

Весь код присутствует одновременно и выполняется параллельно.
Все, что вы можете сделать, это «включить» или «отключить» части кода, используя такие структуры, как if, caseи т. д.

Существует ли способ кодирования "счета", который будет отслеживать изменение нескольких датчиков на 1 ...

Вы можете вести подсчет для всехдатчики, но что делать, если два датчика меняются одновременно?
Это , а не , как C-программа, в которой вы можете выполнять:

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

Для курса для начинающих я бы использовал счетчик на датчик и суммировал их.

И последнее, но не менее важное: если это действительно нужно для аппаратной работы, вам может потребоваться синхронизировать датчики с местными часами до того, какВы можете использовать их.Спросите своего преподавателя класса, поступает ли вход датчика синхронный или асинхронный. Остерегайтесь : вы рискуете, что он может заподозрить, что вы обращались за помощью, если зададите этот вопрос!

...