Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

أولوية إعادة الضبط والتمكين

جزء من قسم تصميم RTL والتحقق منه في رحلة Verilog على Coddy. الدرس 16 من 38.

يمكن لكتلة متزامنة مع الساعة الاحتفاظ بسجل من خلال حذف الإسناد عند الحواف المعطَّلة. يختلف هذا التخزين المقصود عن مزلاج توافقي عرضي. اكتب أولوية صريحة بين إعادة الضبط والتحميل والتمكين. تكون عمليات إعادة الضبط هنا متزامنة: إذ لا تسري إلا عند حافة الساعة الصاعدة.

مقتطف ذو صلة؛ يتم توفير التصريحات والاتصالات المحيطة في التحدي.

always @(posedge clk) begin
    if(rst) q <= 0;
    else if(en) q <= data;
end

تكون إعادة الضبط لها الأولوية عند تفعيل كلا عنصري التحكم، وتحافظ الحواف المعطَّلة غير الخاصة بإعادة الضبط على q.

استخدم سلسلة أولوية واحدة متزامنة، وحدد سلوك إعادة الضبط والتحميل والتمكين والاحتفاظ بدقة.

challenge icon

التحدي

متوسط

نفّذ مسجّلًا بعرض 8 بت باسم q مع إعادة ضبط متزامنة فعّالة بالمستوى المرتفع rst وتمكين en. عند الحافة الصاعدة، تكون إعادة الضبط لها الأولوية وتمسح q؛ وإلا فإن الحواف التي يكون فيها التمكين مفعّلًا تحمّل a، بينما تحتفظ الحواف التي يكون فيها التمكين معطّلًا بقيمة q. أعمدة الخرج: q. تكون جميع إشارات التحكم والبيانات مستقرة قبل كل حافة صاعدة للساعة؛ وتُرصد النتائج بعدها.

أكمل design.v وحافظ على أسماء الوحدات والمنافذ الخاصة بها. يوفّر testbench.v المقفل تغييرات الإدخال ويطبع المخرجات بعد استقرارها. ويختار سيناريو باستخدام وسيط للمحاكي مثل +CASE=1؛ ولا يلزم إدخال قياسي. لا تضف طباعة أو تأخيرات أو إنهاءً للمحاكاة إلى التصميم. يجب أن يكون الخرج المتوقع صفًا واحدًا من القيم العشرية لكل ملاحظة، تفصل بينها مسافة واحدة وينتهي بسطر جديد.

جرّب بنفسك

module dut (input clk, input rst, input en, input [7:0] a, output reg [7:0] q);
    // استبدل هذا العنصر النائب بتصميمك.
    initial q = 0;
endmodule
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس تصميم RTL والتحقق منه

تدرّب بنفسك: مترجم Verilog عبر الإنترنت