حلقات التوليد
جزء من قسم تصميم RTL والتحقق منه في رحلة Verilog على Coddy. الدرس 13 من 38.
تنشئ حلقة generate-for عتادًا متكررًا أثناء التوسيع. فمؤشر genvar فيها ليس سجلًا يتغير أثناء التشغيل. وتوفر كتل generate المُسمّاة أسماءً هرمية متوقعة للمثيلات أو التعيينات المُنشأة. يجب أن تكون حدود الحلقة ثوابت معروفة وقت التوسيع.
مقتطف ذو صلة؛ يتم توفير التصريحات والتوصيلات المحيطة في التحدي.
genvar i;
generate
for(i=0;i<WIDTH;i=i+1) begin: bitcell
assign y[i] = a[i] ^ b[i];
end
endgenerateتُفصّل كل تكرارية عمليةً منفصلة على مستوى البِت، بدلًا من استهلاك دورة ساعة.
استخدم genvar مع حدود ثابتة لوصف البنية المتكررة أثناء التوسيع.
التحدي
متوسطاستخدم حلقة generate-for مُسمّاة مع genvar i لإنشاء إسناد مستمر واحد لكل بت، بحيث تنتج y[i] = a[i] XOR b[i]. قيمة WIDTH موجبة. ينشئ مقعد الاختبار المقفل مثيلات بقيم WIDTH تساوي 1 و4 و8، باستخدام البتات الأقل من a وb للمثيلات الأضيق. أعمدة الخرج هي y1 وy4 وy8 بالنظام العشري.
أكمل design.v وحافظ على أسماء وحداته ومنافذه. يوفّر testbench.v المقفل تغييرات الإدخال ويطبع المخرجات بعد استقرارها. ويختار سيناريو باستخدام وسيط للمحاكي مثل +CASE=1؛ ولا يلزم إدخال قياسي. لا تضف طباعة أو تأخيرات أو إنهاءً للمحاكاة إلى التصميم. الخرج المتوقع هو صف واحد من القيم العشرية لكل ملاحظة، تفصل بينها مسافة واحدة وينتهي بسطر جديد.
جرّب بنفسك
module dut #(parameter WIDTH=4) (input [WIDTH-1:0] a,b, output [WIDTH-1:0] y);
// نفّذ الدائرة ذات المعاملات.
assign y = 0;
endmoduleيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس تصميم RTL والتحقق منه
1دوائر RTL التوافقية الموثوقة
القيم الافتراضية تمنع المزالجمشفّرات الأولويةالتحقق من One-Hotفك ترميز Case الآمنمراجعة - موجّه الطلبات4RTL تسلسلي متحكَّم فيه
أولوية إعادة الضبط والتمكينالعدادات التشبُّعيةتسلسل البيانات والإشارة الصالحةاكتشاف الحواف المُعايَنةمراجعة - عداد الأحداث7المشروع - مراقب العينات
تجميع العيناتقبول العينات المفعّلة2الأحجام والحساب الموقّع
الحفاظ على بتّات الحملالمقارنات الموقّعةالإزاحات الحسابية إلى اليمينالتجاوز والتشبّعمراجعة - الفرق الموقّع3وحدات RTL قابلة لإعادة الاستخدام
دوال توافقيةمعلمات آمنة العرضحلقات التوليدالتوليد الشرطيمراجعة - قناع بتات قابل لإعادة الاستخدامتدرّب بنفسك: مترجم Verilog عبر الإنترنت