Menu
CoddyTech

Цикл повторения

Часть раздела Основы путешествия по Verilog на Coddy. Урок 60 из 90.

Цикл repeat выполняет блок кода фиксированное количество раз. В отличие от цикла for, он не использует переменную-счётчик цикла.

Цикл repeat выполняется заданное количество раз. Ему передают константу или выражение, определяющее, сколько итераций нужно выполнить.

Синтаксис:

repeat (number) begin
  // Code to repeat
end

Простой пример

repeat (5) begin
  $display("Hello");
end

Вывод:

Hello
Hello
Hello
Hello
Hello

Сообщение выводится ровно 5 раз.

Повторение с выражением

integer count = 3;

repeat (count) begin
  $display("Looping");
end

Вывод:

Looping
Looping
Looping

Цикл repeat и цикл for

 Цикл forЦикл repeat
Переменная-счётчикДа (явно)Нет
Когда использоватьНужно значение индексаНужно только повторение
Примерfor (i=0; i<5; i=i+1)repeat (5)

Генерация нескольких тактовых циклов

initial begin
  clk = 0;
  repeat (20) begin
    #5 clk = ~clk;
  end
end

Это генерирует 20 перепадов тактового сигнала (10 полных циклов).

Важные правила

ПравилоОбъяснение
При значении счётчика 0 или меньше тело цикла пропускаетсяrepeat (-5) компилируется и выполняется ноль раз
Можно использовать константу или выражениеrepeat (10) или repeat (count)
Переменная цикла недоступнаНельзя отслеживать номер итерации
Для нескольких инструкций используйте begin/endОбязательно, если нужно больше одной строки
challenge icon

Задание

Что нужно сделать:

Добавь недостающий цикл repeat, чтобы вывести "Verilog" 4 раза.

Попробуйте сами

module repeat_challenge;
  
  initial begin
    $display("Printing 4 times:");
    
    // TODO: Добавьте цикл repeat
    // Повторите 4 раза
    // Внутри выведите "Verilog"
    
    $finish;
  end
endmodule
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Verilog