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