الحفاظ على بتّات الحمل
جزء من قسم تصميم RTL والتحقق منه في رحلة Verilog على Coddy. الدرس 6 من 38.
يحدد عرض الإشارة وحدات البِت التي يمكن تمثيلها. اجعل القصد الحسابي واضحًا بتمديد المعاملات قبل إجراء العملية. قد تتطلب إضافة قيمتين غير موقعتين من 8 بِت تسع بِتات للنتيجة؛ ويؤدي إسناد ثمانية بِتات فقط إلى الاحتفاظ بالبِتات الثمانية الدنيا وفقدان الحمل.
مقتطف ذو صلة؛ تم توفير التصريحات والاتصالات المحيطة في التحدي.
wire [8:0] total;
assign total = {1'b0,a} + {1'b0,b};كل مُعامل بعرض تسع بتات صراحةً، بما يتطابق مع المجموع الكامل.
اختر عرض النتيجة المطلوب ومدّد المعاملات قبل إجراء العمليات الحسابية.
التحدي
متوسطاجمع a وb غير الموقَّعين ذوي 8 بت من دون فقدان الحمل. أعد المجموع الكامل ذي 9 بت في total. مدِّد المعاملين بوضوح إلى تسع بتات. أعمدة الإخراج: total. جميع قيم التحفيز هي قيم ثنائية معروفة.
أكمل design.v وحافظ على أسماء الوحدة ومنافذها. يزوّد testbench.v المقفَل تغييرات الإدخال ويطبع المخرجات بعد استقرارها. ويختار سيناريو باستخدام وسيط للمحاكي مثل +CASE=1؛ ولا يُطلب إدخال قياسي. لا تضف طباعة أو تأخيرات أو إنهاءً للمحاكاة إلى التصميم. الناتج المتوقع هو صف واحد من القيم العشرية لكل ملاحظة، مفصولة بمسافة واحدة ومنتهية بسطر جديد.
جرّب بنفسك
module dut (input [7:0] a, input [7:0] b, output [8:0] total);
// استبدل هذا العنصر النائب بتصميمك.
assign total = 0;
endmoduleيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس تصميم RTL والتحقق منه
1دوائر RTL التوافقية الموثوقة
القيم الافتراضية تمنع المزالجمشفّرات الأولويةالتحقق من One-Hotفك ترميز Case الآمنمراجعة - موجّه الطلبات4RTL تسلسلي متحكَّم فيه
أولوية إعادة الضبط والتمكينالعدادات التشبُّعيةتسلسل البيانات والإشارة الصالحةاكتشاف الحواف المُعايَنةمراجعة - عداد الأحداث7المشروع - مراقب العينات
تجميع العيناتقبول العينات المفعّلة2الأحجام والحساب الموقّع
الحفاظ على بتّات الحملالمقارنات الموقّعةالإزاحات الحسابية إلى اليمينالتجاوز والتشبّعمراجعة - الفرق الموقّع3وحدات RTL قابلة لإعادة الاستخدام
دوال توافقيةمعلمات آمنة العرضحلقات التوليدالتوليد الشرطيمراجعة - قناع بتات قابل لإعادة الاستخدامتدرّب بنفسك: مترجم Verilog عبر الإنترنت