عظم الترقوة المشتركة حافلة الأمثلة اتصال "بوين مسلسل"

عظم الترقوة ناقل مشترك متصلا نقطة اتصال مهمة على حد سواء. في تجسيد الحالي، سواء الماجستير واثنين من العبيد الأجهزة متصلة بواسطة الأدوات ناقل مشترك في SYSCON، في الأجزاء اللاحقة، وسوف نستخدم مثال التحقق Or1200 RTL الأساسي. بعد إعادة تعيين، واحد أو أكثر من أجهزة سيد طلبات لاستخدام الحافلات، والحكم من خلال تأكيدها على CYC_O عالية (مناقشته لاحقا) حدد # ضعف الجهاز الرئيسي (X بين 0 و N)، إلا أن الجهاز الرئيسي المقابلة تم تعيين إشارة GNTX عالية، في حين أن إشارة أخرى هي منخفضة مجموعة لإشعار INTERCON GNT التي يمكن الماجستير استخدام الحافلة.

مرة واحدة الجهاز الرئيسي المحدد، إشارة خرج من بالإضافة إلى مختلف الأجهزة إلى ناقل مشترك عن طريق محدد. على سبيل المثال، إذا كان الجهاز الرئيسي # 0 يمكن استخدامها في الحافلة، الجهاز ADR، DAT_O، SEL_O، سيتم إرسال WE_O STB_O إشارة من وإلى كل جهاز. في الأجهزة الأخرى نفس الوقت يطلب الحافلة، لم يتم تلقي دورة حافلة لن ينتهي أبدا إشارة ACK_I / ERR_I / RTY_I.

فكيف يتم تحديد الجهاز الرقيق "من الجهاز إذا كان هناك M، وتنقسم عنوان فك خطوط عنوان إلى أجزاء M، كل يمثل مساحة عنوان لكل جهاز من هذا النظام. STB_I المرحلة إشارة من الجهاز المقابلة ل#Y إشارة خرج فك المشتركة للحافلات، وإذا كان الناتج فك إشارة إشارة STB_I من الجهاز المقابلة لنفس الوقت #Y عالية، فإنه يبدأ ردا من عملية الجهاز الرئيسي #Y جهاز .

ويتم تغذية كل دورة حافلة من نهاية خرج من الجهاز ACK_O / ERR_O / RTY_O من خلال البوابة أو من كل الجهاز الرئيسي ACK_I / ERR_I / RTY_I. DAT_O من جهاز الإخراج من خلال محطة الإدخال لمحدد للجهاز الرئيسي منها، واختيار الدخل للحافلة العناوين المشتركة.

عظم الترقوة سبيل المثال اتصال استنادا محدد ناقل مشترك 22 من FIG.

انتركونتيننتال وحدة المصدر على النحو التالي:

intercon2M2S حدة (clk_i، rst_i، wb0s_data_i،

wb0s_data_o، wb0_addr_i، wb0_sel_i،

wb0_we_i، wb0_cyc_i، wb0_stb_i، wb0_ack_o،

wb0_err_o، wb0_rty_o، wb0m_data_i،

wb0m_data_o، wb0_addr_o، wb0_sel_o،

wb0_we_o، wb0_cyc_o، wb0_stb_o، wb0_ack_i،

wb0_err_i، wb0_rty_i، wb1s_data_i،

wb1s_data_o، wb1_addr_i، wb1_sel_i،

wb1_we_i، wb1_cyc_i، wb1_stb_i، wb1_ack_o،

wb1_err_o، wb1_rty_o، wb1m_data_i،

wb1m_data_o، wb1_addr_o، wb1_sel_o،

wb1_we_o، wb1_cyc_o، wb1_stb_o، wb1_ack_i،

wb1_err_i، wb1_rty_i

تجاهل // ...... تعريف المنفذ هنا

// الحكم، وهما سيد، وهما من الجهاز

سلك GNT0، GNT1، CYC.

arbiter2M2S arbiter2M2S (.CLK (clk_i). RST (rst_i). CYC0 (wb0_cyc_i). CYC1 (wb1_cyc_i)،

.GNT0 (GNT0)، GNT1 (GNT1)، CYC (CYC))؛.

// عنوان فك

سلك ACMP0، ACMP1.

الأسلاك shared_address.

address_decoder2S

address_decoder2S (.addr_i (shared_address)، ACMP0 (ACMP0)، ACMP1 (ACMP1))؛

// ناقل مشترك دورات إشارة صالحة CYC من كل الجهاز الرئيسي إلى الجهاز المعني من إسناد wb0_cyc_o = CYC.

إسناد wb1_cyc_o = CYC.

// إشارة العناوين المشتركة

إسناد shared_address = GNT1 wb1_addr_i: wb0_addr_i ؛؟

إسناد wb0_addr_o = shared_address.

إسناد wb1_addr_o = shared_address.

// كل جهاز من الحافلة البيانات المشتركة من الجهاز الرئيسي للفيما يخصه

الأسلاك shared_data_m2s = GNT1 wb1m_data_i: wb0m_data_i ؛؟

إسناد wb0s_data_o = shared_data_m2s.

إسناد wb1s_data_o = shared_data_m2s.

// البيانات من كل من ناقل مشترك من الجهاز الرئيسي إلى الجهاز المعني

الأسلاك shared_data_s2m = ACMP1 wb1s_data_i: wb0s_data_i ؛؟

إسناد wb0m_data_o = shared_data_s2m.

إسناد wb1m_data_o = shared_data_s2m.

// من كل من إشارة اختيار منها إلى الجهاز الرئيسي من الجهاز مشترك

سلك shared_sel = GNT1 wb1_sel_i: wb0_sel_i ؛؟

إسناد wb0_sel_o = shared_sel.

إسناد wb1_sel_o = shared_sel.

// كل من كل الجهاز الرئيسي إلى الكتابة من الأجهزة المشتركة تمكين إشارة

سلك shared_we = GNT1 wb1_we_i: wb0_we_i ؛؟

إسناد wb0_we_o = shared_we.

إسناد wb1_we_o = shared_we.

// من كل من الجهاز الرئيسي للإشارة المشتركة لكل من جهاز مختارة من مجموعة

سلك shared_stb = GNT1 wb1_stb_i: wb0_stb_i ؛؟

إسناد wb0_stb_o = ACMP0 shared_stb: 1'b0 ؛؟

إسناد wb1_stb_o = ACMP1 shared_stb: 1'b1 ؛؟

// إشارة استجابة من كل جهاز الرقيق إلى كل من رئيسي

سلك shared_ack = ACMP0 wb0_ack_i: wb1_ack_i ؛؟

إسناد wb0_ack_o = shared_ack.

إسناد wb1_ack_o = shared_ack.

سلك shared_err = ACMP0 wb0_err_i: wb1_err_i ؛؟

إسناد wb0_err_o = shared_err.

إسناد wb1_err_o = shared_err.

سلك shared_rty = ACMP0 wb0_rty_i: wb1_rty_i ؛؟

إسناد wb0_rty_o = shared_rty.

إسناد wb1_rty_o = shared_rty.

endmodule

مجد V204800 ميجا مدى وضوح؟ نحن نعيش تشريح كل 10000 بكسل!

اختيار التحقيق واستخدام مفصلة

OpenAI الاكتشاف الأخير: زيادة في الضوضاء الفضاء المعلمة، وسهلة لتنفيذ، ويمكن بسهولة تسريع التعلم

الشكل شو بدء الباص المائي وإعادة التأهيل تشونغتشينغ جيالينغ التلفريك ...... "نهرين وأربعة بنوك" لتعزيز الحكم، لا تزال هذه الخطوة الكبيرة القادمة

"الحق في السفر 8" إطلاق كثيف! هذه التفاصيل تستحق التأمل الدقيق، وحذف المحتوى أكثر من الخبر

وداعا لتنظيف الغبار مربع متاعب، اي روبوت I7 + تنظيف الروبوت ونظام جمع الغبار التلقائي تجربة | التيتانيوم حالا

إنجاز العمر جائزة! شهد بلاي بوي صعود وهبوط من الأفلام هونغ كونغ، ولكن بعض الناس لا يعرفون سوى ابنه

تأثير من اي فون تباع تسلا موديل 3، ألقى أخيرا أول 30 سيارة مالكي

الصندوق الأسود يمكن فتح بسهولة؟ أقفال الذكية التي نستخدمها ما آمن

A مطيع "ضربة منظمة العفو الدولية": تلك السنوات سوفت بانك النفاق

"نداء ضخمة" المقطورة العرض النهائي في بكين الافراج عن التعرض 1208 في نهاية العام الوطني لمكافحة الغش تهب الرياح

البخار سراح "2018 السنة" القائمة، لعبت عدد قليل؟