فك ترميز Case الآمن
جزء من قسم تصميم RTL والتحقق منه في رحلة Verilog على Coddy. الدرس 4 من 38.
استخدم عبارة case عادية لرموز التحكم الدقيقة. وفّر سلوك default للرموز غير المدعومة، وأسند جميع المخرجات باستخدام assign. يمكن لفك الترميز باستخدام أحرف البدل عبر casex أن يخفي بتات التحكم غير المعروفة في المحاكاة، لذا فهو غير مناسب عندما ينبغي أن تظل القيم غير المعروفة ظاهرة أثناء تصحيح الأخطاء.
مقتطف ذو صلة؛ تُوفَّر التصريحات والتوصيلات المحيطة في التحدي.
always @* begin
y = 0;
invalid = 0;
case (op)
0: y = a & b;
1: y = a | b;
default: invalid = 1;
endcase
endتُنتج الرموز غير المدعومة حالةً صريحةً بدلًا من الإبقاء على مخرج سابق.
عرّف رموز التحكم غير المدعومة بشكل صريح، وتجنّب إخفاء رموز التحكم غير المعروفة باستخدام casex.
التحدي
متوسطنفّذ وحدة منطقية بحجم 8 بت: يحسب op 0 قيمة AND بين a و b، ويحسب op 1 قيمة OR بين a و b، ويحسب op 2 قيمة XOR بين a و b، بينما يعيد op 3 قيمة صفر مع ضبط invalid إلى واحد. تكون قيمة invalid صفراً للعمليات المدعومة. أعمدة الإخراج: y، invalid. جميع قيم التحفيز هي قيم ثنائية معروفة.
أكمل design.v وحافظ على أسماء وحداته ومنافذه. يزوّد testbench.v المقفل تغييرات الإدخال ويطبع المخرجات بعد استقرارها. ويختار سيناريو باستخدام وسيطة للمحاكي مثل +CASE=1؛ ولا يلزم إدخال قياسي. لا تضف طباعة أو تأخيرات أو إنهاءً للمحاكاة إلى التصميم. الناتج المتوقع هو صف واحد من القيم العشرية لكل ملاحظة، تفصل بينها مسافة واحدة وتنتهي بحرف سطر جديد.
جرّب بنفسك
module dut (input [1:0] op, input [7:0] a, input [7:0] b, output reg [7:0] y, output reg invalid);
// استبدل هذا العنصر النائب بتصميمك.
initial y = 0;
initial invalid = 0;
endmoduleيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس تصميم RTL والتحقق منه
1دوائر RTL التوافقية الموثوقة
القيم الافتراضية تمنع المزالجمشفّرات الأولويةالتحقق من One-Hotفك ترميز Case الآمنمراجعة - موجّه الطلبات4RTL تسلسلي متحكَّم فيه
أولوية إعادة الضبط والتمكينالعدادات التشبُّعيةتسلسل البيانات والإشارة الصالحةاكتشاف الحواف المُعايَنةمراجعة - عداد الأحداث7المشروع - مراقب العينات
تجميع العيناتقبول العينات المفعّلة2الأحجام والحساب الموقّع
الحفاظ على بتّات الحملالمقارنات الموقّعةالإزاحات الحسابية إلى اليمينالتجاوز والتشبّعمراجعة - الفرق الموقّع3وحدات RTL قابلة لإعادة الاستخدام
دوال توافقيةمعلمات آمنة العرضحلقات التوليدالتوليد الشرطيمراجعة - قناع بتات قابل لإعادة الاستخدامتدرّب بنفسك: مترجم Verilog عبر الإنترنت