مراجعة - بنك القراءة المزدوجة
جزء من قسم تصميم RTL والتحقق منه في رحلة Verilog على Coddy. الدرس 25 من 38.
التحدي
متوسطنفّذ أربع كلمات بعرض 8 بت مع كتابة واحدة متزامنة مع الساعة ومخرجي قراءة مسجلين للبيانات القديمة، وهما qa و qb. تقوم we بالكتابة عند waddr. يقوم rst المتزامن بمسح qa و qb فقط. بخلاف ذلك، تُمكّن re كلتا عمليتي القراءة من raddr_a و raddr_b؛ وعند تعطيل القراءة، تحتفظ المخرجات بقيمها. لا تغيّر عمليات الكتابة الواقعة على الحافة الزمنية نفسها القيم القديمة التي تلتقطها عمليتا القراءة. تهيّئ الاختبارات الكلمات قبل القراءة. أعمدة الخرج: qa، qb. تكون جميع إشارات التحكم والبيانات مستقرة قبل كل حافة صاعدة للساعة؛ وتتم ملاحظة النتائج بعدها.
أكمل design.v وحافظ على أسماء الوحدات ومنافذها. يوفّر testbench.v المقفل تغييرات الإدخال ويطبع المخرجات بعد استقرارها. ويختار سيناريو باستخدام وسيطة للمحاكي مثل +CASE=1؛ ولا يلزم إدخال قياسي. لا تضف طباعة أو تأخيرات أو إنهاءً للمحاكاة إلى التصميم. يجب أن يكون الخرج المتوقع صفًا واحدًا من القيم العشرية لكل ملاحظة، تفصل بينها مسافة واحدة وينتهي بحرف سطر جديد.
جرّب بنفسك
module dut (input clk, input rst, input we, input re, input [1:0] waddr, input [1:0] raddr_a, input [1:0] raddr_b, input [7:0] data, output reg [7:0] qa, output reg [7:0] qb);
// استبدل هذا العنصر النائب بتصميمك.
initial qa = 0;
initial qb = 0;
endmoduleجميع دروس تصميم RTL والتحقق منه
1دوائر RTL التوافقية الموثوقة
القيم الافتراضية تمنع المزالجمشفّرات الأولويةالتحقق من One-Hotفك ترميز Case الآمنمراجعة - موجّه الطلبات4RTL تسلسلي متحكَّم فيه
أولوية إعادة الضبط والتمكينالعدادات التشبُّعيةتسلسل البيانات والإشارة الصالحةاكتشاف الحواف المُعايَنةمراجعة - عداد الأحداث7المشروع - مراقب العينات
تجميع العيناتقبول العينات المفعّلة2الأحجام والحساب الموقّع
الحفاظ على بتّات الحملالمقارنات الموقّعةالإزاحات الحسابية إلى اليمينالتجاوز والتشبّعمراجعة - الفرق الموقّع5الذاكرة وجداول البحث
جداول ROM التوافقيةتخزين مصفوفة السجلاتمنافذ القراءة المسجّلةتمرير القراءة والكتابةمراجعة - بنك القراءة المزدوجة3وحدات RTL قابلة لإعادة الاستخدام
دوال توافقيةمعلمات آمنة العرضحلقات التوليدالتوليد الشرطيمراجعة - قناع بتات قابل لإعادة الاستخدامتدرّب بنفسك: مترجم Verilog عبر الإنترنت