كيف لتصميم الدوائر 4bit المفرق؟

N

nanoYasser

Guest
مرحبا الخبراء..
لقد aproblem في تصميم أولي باستخدام حاسبة منطق بوابات جيم 's
لا توجد مشكلة حول وعلاوة على ذلك ، ودون ضرب
يمكن لأي أحد أن تخبرنا من فضلك كيفية desing دائرة التي يمكن divid 4 بت على 4bit؟

ويرجع الفضل في ذلك مسبقا..
Yassorty ،

 
ياه
أعتقد أنكم لا يمكن تقسيم 4bit بها دون استخدام 4bit السجل.ستحتاج إلى تسجيل واحد لتخزين قيمة القسمة وغيرها لتخزين ما تبقى.
هناك algorithmsfor ذلك والتي تستخدم لنقل بت (يمكنك العثور عليها في نظام الحاسب الآلي من قبل منظمة موريس مانو)

تمنيات
tronix

 
إذا كان عدد غير موقعة ، وتحويل الأرباح التي خلفتها المفرق.شيء مثل هذا ؛

سلك [4:0] النتائج ؛
تخصيص نتائج = عائد <<المفرق ؛

إذا كان التوقيع على عدد فالامر اكثر تعقيدا.القيام بشيء من هذا القبيل ؛

شعبة وحدة (أ ، ب ، د) ؛
مدخلات [3:0] (أ) (ب ؛
الناتج [7:0] د ؛

ريج [3:0] دي في دي ، dvr
، not_dvr ؛
ريج [7:0] د ؛
ريج [3:0] واقع ، والعينية ؛
ريج توقيع ؛
ط integer ؛

دائما @ (*)
يبدأ
إذا كان ([3]) == 1'b1) / / تغيير 4 بت وقعت لغير موقعة ، على حد سواء ، وقاسم
، وعائد.
دي في دي أ = ~ 4'b1 ؛
أيضا
دي في دي = أ ؛
اذا ب ([3]) == 1'b1)
dvr ~ = ب 4'b1 ؛
أيضا
dvr ب = ؛
not_dvr = ~ dvr 4'b1 ؛
توقيع = أ ([3] ^ ب [3] ؛ / / توقع قليلا للمنتج.
إذا كان (ب == 4'b0) / / للاطلاع على الحالة التي يكون فيها هو قاسم 0 ،
/ / نجعل الأمر الواقع على حد سواء العينية & الصفر.
يبدأ
= 1'b0 الأمر الواقع ؛
أ = العينية ؛
نهاية
أيضا
يبدأ
= 1'b0 الراهن ؛ / / وضعت خارج القسمة على 0.
لط = 1 ؛ ط <= 8
، ط = ط 1) / / التقسيم الفعلي لتقسيم الخوارزمية.
إذا كان (دي في دي> = dvr)
يبدأ
دي في دي دي في دي not_dvr = ؛
القائم = ط ؛
نهاية
دي في دي = العينية ؛
نهاية
إذا كان ([3]) == 1'b1) / / نفس علامات
عيني = ~ 4'b1 العينية ؛
إذا كان (توقيع == 1'b1) / / القسمة إيجابي إلا إذا كان كل من
/ / عائد & المقسوم لها نفس التوقيع.
واقع الأمر الواقع
= ~ 4'b1 ؛
د = \ (الأمر الواقع العيني \) ؛ / / السلسلة للحصول على النتيجة.
نهاية

endmodule

 

Welcome to EDABoard.com

Sponsor

Back
Top