التحقق من One-Hot
جزء من قسم تصميم RTL والتحقق منه في رحلة Verilog على Coddy. الدرس 3 من 38.
تحتوي بيانات one-hot على بت واحد مؤكَّد تمامًا. ينشئ مفكِّك الترميز هذه البيانات، بينما يتحقق التحقّق من صحة البيانات الواردة قبل استخدامها. بالنسبة إلى القيم الثنائية المعروفة، تكون القيمة غير الصفرية one-hot عندما يكون bits & (bits - 1) صفرًا. لا يستخدم هذا القسم ذلك الاختصار لتصنيف X أو Z.
مقتطف ذو صلة؛ يتم توفير التصريحات والاتصالات المحيطة في التحدي.
assign one_hot = (bits != 0) && ((bits & (bits - 1)) == 0);يستبعد التحقق من عدم الصفر حالة الخمول؛ وترفض حيلة البتات وجود عدة بتات مضبوطة.
ميّز بين الصفر، وبتّ واحد مضبوط تمامًا، وعدة بتات مضبوطة عند التحقق من صحة الطلبات.
التحدي
متوسطبالنسبة إلى بتات إدخال معروفة بعرض 4 بت، اجعل valid يساوي true فقط عندما يكون بت واحد فقط مرتفعًا تمامًا. استخدم فحص القيمة غير الصفرية مع bits & (bits - 1). أعمدة الإخراج: valid. جميع قيم التحفيز هي قيم ثنائية معروفة.
أكمل design.v وحافظ على أسماء الوحدات والمنافذ الخاصة به. يوفّر testbench.v المقفَل تغييرات الإدخال ويطبع المخرجات بعد استقرارها. ويختار سيناريو باستخدام وسيط للمحاكي مثل +CASE=1؛ ولا يلزم إدخال قياسي. لا تضف طباعة أو تأخيرات أو إنهاءً للمحاكاة إلى التصميم. الناتج المتوقع هو صف واحد من القيم العشرية لكل ملاحظة، مفصولة بمسافة واحدة وتنتهي بسطر جديد.
جرّب بنفسك
module dut (input [3:0] bits, output valid);
// استبدل هذا العنصر النائب بتصميمك.
assign valid = 0;
endmoduleيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس تصميم RTL والتحقق منه
1دوائر RTL التوافقية الموثوقة
القيم الافتراضية تمنع المزالجمشفّرات الأولويةالتحقق من One-Hotفك ترميز Case الآمنمراجعة - موجّه الطلبات4RTL تسلسلي متحكَّم فيه
أولوية إعادة الضبط والتمكينالعدادات التشبُّعيةتسلسل البيانات والإشارة الصالحةاكتشاف الحواف المُعايَنةمراجعة - عداد الأحداث7المشروع - مراقب العينات
تجميع العيناتقبول العينات المفعّلة2الأحجام والحساب الموقّع
الحفاظ على بتّات الحملالمقارنات الموقّعةالإزاحات الحسابية إلى اليمينالتجاوز والتشبّعمراجعة - الفرق الموقّع3وحدات RTL قابلة لإعادة الاستخدام
دوال توافقيةمعلمات آمنة العرضحلقات التوليدالتوليد الشرطيمراجعة - قناع بتات قابل لإعادة الاستخدامتدرّب بنفسك: مترجم Verilog عبر الإنترنت