حلقة التكرار
جزء من قسم الأساسيات في رحلة 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التكرار مقابل حلقة 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 لعدة عبارات | مطلوب لأكثر من سطر واحد |
التحدي
ما المطلوب:
أضف حلقة repeat الناقصة لطباعة "Verilog" 4 مرات.
جرّب بنفسك
module repeat_challenge;
initial begin
$display("Printing 4 times:");
// TODO: أضف حلقة repeat
// كرّر 4 مرات
// داخل الحلقة، اطبع "Verilog"
$finish;
end
endmoduleيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4العوامل الجزء 1
العوامل الحسابيةعامل باقي القسمةعوامل المقارنةمراجعة - الرياضيات البسيطةالعوامل على مستوى البتات7التعيين والبوابات
التعيين المستمرالتعيين باستخدام العواملالعناصر الأساسية المدمجة للبواباتبوابات AND وOR وNOTبوابات XOR وXNORمراجعة - دائرة البوابات المنطقية5المعاملات - الجزء الثاني
المعاملات المنطقيةمعاملات الاختزالمعاملات الإزاحةمعامل الربطالمعامل الشرطيمراجعة - تحدي المعاملات11الحلقات التكرارية
حلقة Forحلقة Whileحلقة التكرارحلقة لا نهائيةتعليمة التعطيلمراجعة - أنماط الحلقات التكرارية3نظام الأعداد
التمثيل الثنائيالأعداد محددة الحجمالأعداد غير محددة الحجمالأعداد السالبةالقيم الخاصة X و Zمراجعة - تنسيقات الأعداد6الوحدات
هيكل الوحدةمنافذ الإدخال والإخراجمنافذ الإدخال والإخراج ثنائية الاتجاهإنشاء مثيل للوحدةربط المنافذ حسب الاسمربط المنافذ حسب الترتيبمراجعة - بناء وحدة9الكتل الإجرائية
كتلة Alwaysكتلة Initialقائمة الحساسيةإسناد حاجزإسناد غير حاجزمراجعة - Always مقابل Initial15متحكّم إشارات المرور
تعريف الحالاتمنطق آلة الحالاتتدرّب بنفسك: مترجم Verilog عبر الإنترنت