Какова ваша желаемая функциональность? Я предполагаю: сдвиг светодиода на каждые 2 секунды, удерживая все остальные светодиоды? «Скользящий светодиод» ...
Кроме того, я предполагаю, что ваша цель - панель типа FPGA.
В мире FPGA нет бесплатного «ожидания X времени». Ключ к тому, что вы пытаетесь сделать, подсчитывая тактовые циклы. Вам нужно знать тактовую частоту часов, которые вы используете для этого блока. Как только вы это узнаете, вы можете подсчитать, сколько краев тактовых импульсов вам нужно подсчитать, прежде чем «действие» необходимо предпринять.
Я рекомендую два процесса. В одном вы увидите нарастающий фронт часов и запустите счетчик достаточного размера, чтобы он перевернулся через каждые две секунды. Каждый раз, когда ваш счетчик равен 0, вы устанавливаете «флаг» для одного такта.
Другой процесс будет просто следить за появлением «флага». Когда флаг появляется, вы переключаете этот светодиод и выключаете все остальные светодиоды.
Можете уточнить? В этом коде есть только одно задание. –
Я бы предложил использовать встроенное решение (микроконтроллер) вместо ASIC/FPGA, но если вы все еще хотите использовать решение Verilog/FPGA, тогда вам, возможно, придется продолжать работу, поскольку @Josh указала ИЛИ использовать некоторые FPGA и C-библиотеку для реализации мигания/сдвига СВЕТОДИОД – wisemonkey