Как НЕ использовать циклы while () в verilog (для синтеза)?

У меня есть привычка разрабатывать множество тестовых программ и использовать циклы for () и while () для целей тестирования. Все в порядке. Проблема в том, что я приобрел эту привычку для кодирования схем, которые должны быть синтезируемыми. XST и другие отказываются синтезировать код (без дополнительной модификации параметров синтеза), такие как:

while (num < test_number) 
     begin 
     . 
     . 
     . 
     num = num+1; 
     end

Это плохой стиль кодирования, потому что для синтезатора test_num - это int со значением 2 ^ 32! или он видит это как неограниченный параметр. В любом случае, это плохая привычка кодирования. Но я так привык делать это на Си и тестовых стендах. Что было бы эквивалентно синтезируемому коду из вышеуказанного сегмента кода?

Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос