سمارت فيوجن 2
وحدة تحكم DDR وجهاز التحكم التسلسلي عالي السرعة
منهجية التهيئة
دليل المستخدم
مقدمة
عند إنشاء تصميم باستخدام جهاز SmartFusion2 ، إذا كنت تستخدم أحد جهازي تحكم DDR (FDDR أو MDDR) أو أي من كتل وحدة التحكم التسلسلية عالية السرعة (SERDESIF) ، يجب تهيئة سجلات التكوين لهذه الكتل في وقت التشغيل قبل يمكن استخدامها. على سبيل المثالample ، بالنسبة لوحدة التحكم DDR ، يجب عليك تعيين وضع DDR (DDR3 / DDR2 / LPDDR) وعرض PHY ووضع الاندفاع و ECC.
وبالمثل ، بالنسبة للكتلة SERDESIF المستخدمة كنقطة نهاية PCIe ، يجب عليك ضبط PCIE BAR على نافذة AXI (أو AHB).
يصف هذا المستند الخطوات اللازمة لإنشاء تصميم Libero يقوم تلقائيًا بتهيئة وحدة التحكم DDR وكتل SERDESIF عند التشغيل. يصف أيضًا كيفية إنشاء رمز البرنامج الثابت من Libero SOC المستخدم في تدفق التصميم المضمن.
يتم تقديم وصف مفصل لنظرية العمليات أولاً.
يصف القسم التالي كيفية إنشاء مثل هذا التصميم باستخدام Libero SoC System Builder ، وهي أداة تصميم قوية تعمل ، من بين ميزات أخرى ، على إنشاء حل "التهيئة" لك إذا كنت تستخدم كتل DDR أو SERDESIF في تصميمك.
يصف القسم التالي كيفية وضع حل "تهيئة" كامل معًا دون استخدام SmartFusion2 System Builder. يساعد هذا في توضيح ما يجب القيام به إذا كنت لا ترغب في استخدام System Builder ، كما يصف أيضًا ما تولده لك أداة System Builder بالفعل. يتناول هذا القسم:
- إنشاء بيانات التكوين لوحدة تحكم DDR وسجلات تكوين SERDESIF
- يتطلب إنشاء منطق FPGA لنقل بيانات التكوين إلى سجلات تكوين ASIC المختلفة
أخيرًا وصفنا المولد fileق تتعلق بـ:
- إنشاء حل "تهيئة" البرامج الثابتة.
- محاكاة تصميم حل "تهيئة" DDR.
للحصول على تفاصيل حول وحدة تحكم DDR وسجلات تكوين SERDESIF ، راجع ملف دليل مستخدم Microsemi SmartFusion2 التسلسلي عالي السرعة وواجهات DDR.
نظرية التشغيل
يستخدم حل التهيئة الطرفية المكونات الرئيسية التالية:
- وظيفة CMSIS SystemInit () ، التي تعمل على Cortex-M3 وتنظم عملية التهيئة.
- CoreConfigP soft IP core ، الذي يقوم بتهيئة سجلات تكوين الأجهزة الطرفية.
- CoreResetP soft IP core ، الذي يدير تسلسل إعادة تعيين وحدات تحكم MSS و DDR وكتل SERDESIF ..
تعمل عملية التهيئة الطرفية على النحو التالي:
- عند إعادة التعيين ، يقوم Cortex-M3 بتشغيل وظيفة CMSIS SystemInit (). يتم تنفيذ هذه الوظيفة تلقائيًا قبل تنفيذ الوظيفة الرئيسية () للتطبيق.
يتم تأكيد إشارة خرج CoreResetP MSS_HPMS_READY في بداية عملية التهيئة ، مما يشير إلى أن MSS وجميع الأجهزة الطرفية (باستثناء MDDR) جاهزة للاتصال. - تكتب وظيفة SystemInit () بيانات التكوين إلى وحدات تحكم DDR وسجلات تكوين SERDESIF عبر ناقل MSS FIC_2 APB3. هذه الواجهة متصلة بنواة CoreConfigP الناعمة التي تم إنشاؤها في نسيج FPGA.
- بعد تكوين جميع السجلات ، تكتب الدالة SystemInit () إلى سجلات التحكم CoreConfigP للإشارة إلى اكتمال مرحلة تكوين السجل ؛ يتم بعد ذلك تأكيد إشارات خرج CoreConfigP CONFIG1_DONE و CONIG2_DONE.
هناك مرحلتان من تكوين السجل (CONFIG1 و CONFIG2) اعتمادًا على الأجهزة الطرفية المستخدمة في التصميم. - إذا تم استخدام أحد MDDR / FDDR أو كليهما ، ولم يتم استخدام أي من كتل SERDESIF في التصميم ، فهناك مرحلة تكوين تسجيل واحدة فقط. يتم تأكيد كل من إشارات خرج CoreConfigP CONFIG1_DONE و CONIG2_DONE واحدة تلو الأخرى دون أي انتظار / تأخير.
إذا تم استخدام واحدة أو أكثر من كتل SERDESIF في وضع غير PCIe في التصميم ، فهناك مرحلة واحدة فقط من تكوين السجل. يتم تأكيد CONFIG1_DONE و CONIG2_DONE واحدًا تلو الآخر دون أي انتظار / تأخير.
إذا تم استخدام واحدة أو أكثر من كتل SERDESIF في وضع PCIe في التصميم ، فهناك مرحلتان من تكوين السجل. يتم تأكيد CONFIG1_DONE بعد اكتمال المرحلة الأولى من تكوين السجل. يتم تكوين نظام SERDESIF وسجلات الممر في هذه المرحلة. إذا تم تكوين SERDESIF في وضع غير PCIE ، فسيتم أيضًا تأكيد إشارة CONFIG2_DONE على الفور. - ثم تتبع المرحلة الثانية من تكوين السجل (إذا تم تكوين SERDESIF في وضع PCIE). فيما يلي الأحداث المختلفة التي تحدث في المرحلة الثانية:
- يقوم CoreResetP بإلغاء تأكيدات إشارات PHY_RESET_N و CORE_RESET_N المقابلة لكل من فدرات SERDESIF المستخدمة. كما يؤكد أيضًا وجود إشارة خرج SDIF_RELEASED بعد أن تكون جميع كتل SERDESIF خارج إعادة التعيين. تُستخدم إشارة SDIF_RELEASED هذه للإشارة إلى CoreConfigP أن جوهر SERDESIF خارج إعادة التعيين وجاهز للمرحلة الثانية من تكوين السجل.
- بمجرد تأكيد إشارة SDIF_RELEASED ، تبدأ وظيفة SystemInit () في الاستقصاء لتأكيد PMA_READY على حارة SERDESIF المناسبة. بمجرد تأكيد PMA_READY ، يتم تكوين / كتابة المجموعة الثانية من سجلات SERDESIF (سجلات PCIE) بواسطة وظيفة SystemInit (). - بعد تكوين جميع سجلات PCIE ، تكتب وظيفة SystemInit () إلى سجلات التحكم CoreConfigP للإشارة إلى اكتمال المرحلة الثانية من تكوين السجل ؛ ثم يتم تأكيد إشارة خرج CoreConfigP CONIG2_DONE.
- بصرف النظر عن تأكيدات الإشارة / إلغاء التأكيدات أعلاه ، تدير CoreResetP أيضًا تهيئة الكتل المختلفة عن طريق أداء الوظائف التالية:
- إلغاء تأكيد إعادة تعيين النواة FDDR
- إلغاء تأكيد كتل SERDESIF إعادة تعيين PHY و CORE
- مراقبة إشارة قفل FDDR PLL (FPLL). يجب أن يكون FPLL مغلقًا لضمان اتصال واجهة بيانات FDDR AXI / AHBLite ونسيج FPGA بشكل صحيح.
- مراقبة إشارات قفل PLL (SPLL) SERDESIF block PLL. يجب أن يكون SPLL مغلقًا لضمان أن SERDESIF كتل واجهة AXI / AHBLite (وضع PCIe) أو واجهة XAUI يمكنها الاتصال بشكل صحيح بنسيج FPGA.
- في انتظار استقرار ذاكرة DDR الخارجية وتكون جاهزة للوصول إليها بواسطة وحدات تحكم DDR. - عند اكتمال تهيئة جميع الأجهزة الطرفية ، يؤكد CoreResetP إشارة INIT_DONE ؛ ثم يتم تأكيد السجل الداخلي لـ CoreConfigP INIT_DONE.
إذا تم استخدام أحد MDDR / FDDR أو كليهما ، وتم الوصول إلى وقت تهيئة DDR ، يتم تأكيد إشارة خرج CoreResetP DDR_READY. يمكن مراقبة تأكيد هذه الإشارة DDR_READY كمؤشر على أن DDR (MDDR / FDDR) جاهز للاتصال.
في حالة استخدام كتلة SERDESIF واحدة أو أكثر ، وتم إكمال المرحلة الثانية من تكوين السجل بنجاح ، يتم تأكيد إشارة خرج CoreResetP SDIF_READY. يمكن مراقبة تأكيد هذه الإشارة SDIF_READY كمؤشر على أن جميع كتل SERDESIF جاهزة للاتصال. - تكتمل وظيفة SystemInit () ، التي كانت تنتظر تأكيد INIT_DONE ، ويتم تنفيذ الوظيفة الرئيسية () للتطبيق. في ذلك الوقت ، تمت تهيئة جميع وحدات تحكم DDR وكتل SERDESIF ، ويمكن لتطبيق البرامج الثابتة ومنطق النسيج FPGA التواصل معها بشكل موثوق.
تعتمد المنهجية الموضحة في هذا المستند على تنفيذ Cortex-M3 لعملية التهيئة كجزء من رمز تهيئة النظام المنفذ قبل الوظيفة الرئيسية () للتطبيق.
انظر مخططات التدفق في الشكل 1-1 والشكل 1-2 والشكل 1-3 للاطلاع على خطوات التهيئة لـ FDDR / MDDR و SERustain (الوضع غير PCIe) و SERDES (وضع PCIe).
يوضح الشكل 1-4 مخطط توقيت التهيئة الطرفية.
![]() |
![]() |
الشكل 1-3 • مخطط تدفق التهيئة SERDESIF (PCIe)
يتطلب إجراء التهيئة الموضح في هذا المستند تشغيل Cortex-M3 أثناء عملية التهيئة ، حتى إذا كنت لا تخطط لتشغيل أي رمز على Cortex-M3. يجب عليك إنشاء تطبيق برنامج ثابت أساسي لا يفعل شيئًا (حلقة بسيطة ، على سبيل المثالample) وتحميل هذا الملف القابل للتنفيذ في الذاكرة غير المتطايرة المضمنة (eNVM) حتى تتم تهيئة وحدات تحكم DDR وكتل SERDESIF عند بدء تشغيل Cortex-M3.
استخدام System Builder لإنشاء تصميم باستخدام كتل DDR و SERDESIF
يُعد SmartFusion2 System Builder أداة تصميم قوية تساعدك على تلبية متطلبات مستوى النظام لديك وإنتاج تصميم يطبق تلك المتطلبات. تتمثل إحدى الوظائف المهمة جدًا لمنشئ النظام في الإنشاء التلقائي للنظام الفرعي لتهيئة المحيط. يصف "استخدام SmartDesign لإنشاء تصميم باستخدام كتل DDR و SERDESIF" في الصفحة 17 بالتفصيل كيفية إنشاء مثل هذا الحل بدون منشئ النظام.
إذا كنت تستخدم System Builder ، فيجب عليك تنفيذ المهام التالية لإنشاء تصميم يقوم بتهيئة وحدات تحكم DDR وكتل SERDESIF عند التشغيل:
- في صفحة ميزات الجهاز (الشكل 2-1) ، حدد وحدات تحكم DDR المستخدمة وعدد كتل SERDESIF المستخدمة في التصميم الخاص بك.
- في صفحة الذاكرة ، حدد نوع DDR (DDR2 / DDR3 / LPDDR) وبيانات التكوين لذاكرة DDR الخارجية. راجع قسم صفحة الذاكرة للحصول على التفاصيل.
- في صفحة الأجهزة الطرفية ، أضف أساتذة نسيج تم تكوينها على أنها AHBLite / AXI إلى النظام الفرعي Fabric DDR و / أو MSS DDR FIC Subsystem (اختياري).
- في صفحة إعدادات الساعة ، حدد ترددات الساعة لأنظمة DDR الفرعية.
- أكمل مواصفات التصميم الخاصة بك وانقر فوق "إنهاء". يؤدي هذا إلى إنشاء تصميم منشئ النظام ، بما في ذلك المنطق الضروري لحل "التهيئة".
- إذا كنت تستخدم كتل SERDESIF ، فيجب عليك إنشاء مثيل لكتل SERDESIF في التصميم الخاص بك وتوصيل منافذ التهيئة الخاصة بها بتلك الموجودة في مركز System Builder الذي تم إنشاؤه.
صفحة ميزات جهاز منشئ النظام
في صفحة ميزات الجهاز ، حدد وحدات تحكم DDR (MDDR و / أو FDDR) المستخدمة وعدد كتل SERDESIF المستخدمة في التصميم الخاص بك (الشكل 2-1).
الشكل 2-1 • صفحة ميزات جهاز منشئ النظام
صفحة ذاكرة منشئ النظام
لاستخدام MSS DDR (MDDR) أو Fabric DDR (FDDR) ، حدد نوع الذاكرة من القائمة المنسدلة (الشكل 2-2).
الشكل 2-2 • الذاكرة الخارجية MSS
يجب عليك أن:
- حدد نوع DDR (DDR2 أو DDR3 أو LPDDR).
- حدد وقت ضبط ذاكرة DDR. راجع مواصفات ذاكرة DDR الخارجية لتعيين وقت إعداد الذاكرة الصحيح. قد تفشل ذاكرة DDR في التهيئة بشكل صحيح إذا لم يتم ضبط وقت ضبط الذاكرة بشكل صحيح.
- يمكنك إما استيراد بيانات تكوين سجل DDR أو تعيين معلمات ذاكرة DDR. لمزيد من التفاصيل ، يرجى الرجوع إلى دليل مستخدم Microsemi SmartFusion2 التسلسلي عالي السرعة وواجهات DDR.
تُستخدم هذه البيانات لإنشاء سجل DDR BFM وتكوين البرامج الثابتة files كما هو موضح في "إنشاء وترجمة تطبيق البرنامج الثابت" في الصفحة 26 و "BFM Files المستخدمة لمحاكاة التصميم "في الصفحة 27. للحصول على تفاصيل حول سجلات تكوين وحدة تحكم DDR ، ارجع إلى دليل مستخدم Microsemi SmartFusion2 التسلسلي عالي السرعة وواجهات DDR.
على سبيل المثالampلو من التكوين file يظهر بناء الجملة في الشكل 2-3. أسماء التسجيل المستخدمة في هذا file هي نفس تلك الموضحة في دليل مستخدم Microsemi SmartFusion2 التسلسلي عالي السرعة وواجهات DDR
الشكل 2-3 • التكوين File مثال على النحوample
صفحة ملحقات منشئ النظام
في صفحة الأجهزة الطرفية ، يتم إنشاء نظام فرعي منفصل لكل وحدة تحكم DDR (النظام الفرعي Fabric DDR لـ FDDR و MSS DDR FIC Subsystem for MDDR). يمكنك إضافة نواة Fabric AMBA Master (تم تكوينها على أنها AXI / AHBLite) إلى كل من هذه الأنظمة الفرعية لتمكين الوصول الرئيسي للنسيج إلى وحدات التحكم DDR. عند التوليد ، يقوم System Builder تلقائيًا بإنشاء نوى ناقل (اعتمادًا على نوع AMBA Master المضافة) ويكشف BIF الرئيسي لنواة الناقل والساعة وإعادة تعيين دبابيس الأنظمة الفرعية المقابلة (FDDR / MDDR) ضمن مجموعات الدبوس المناسبة ، إلى قمة. كل ما عليك فعله هو توصيل BIFs بأنوية Fabric Master المناسبة التي ستنشئها في التصميم. في حالة MDDR ، يكون اختياريًا إضافة نواة Fabric AMBA Master إلى النظام الفرعي MSS DDR FIC ؛ Cortex-M3 هو المعلم الافتراضي لهذا النظام الفرعي. يوضح الشكل 2-4 صفحة ملحقات منشئ النظام.
الشكل 2-4 • صفحة ملحقات منشئ النظام
صفحة إعدادات ساعة منشئ النظام
في صفحة إعدادات الساعة ، لكل وحدة تحكم DDR ، يجب عليك تحديد ترددات الساعة المتعلقة بكل نظام فرعي DDR (MDDR و / أو FDDR).
بالنسبة إلى MDDR ، يجب عليك تحديد:
- MDDR_CLK - تحدد هذه الساعة تردد التشغيل لوحدة التحكم DDR ويجب أن تتطابق مع تردد الساعة الذي ترغب في تشغيل ذاكرة DDR الخارجية به. يتم تعريف هذه الساعة على أنها مضاعفات M3_CLK (Cortex-M3 و MSS Main Clock ، الشكل 2-5). يجب أن يكون MDDR_CLK أقل من 333 ميجا هرتز.
- DDR_FIC_CLK - إذا اخترت أيضًا الوصول إلى MDDR من نسيج FPGA ، فأنت بحاجة إلى تحديد DDR_FIC_CLK. يتم تعريف تردد الساعة هذا على أنه نسبة MDDR_CLK ويجب أن يتطابق مع التردد الذي يعمل به النظام الفرعي النسيج FPGA الذي يصل إلى MDDR.
الشكل 2-5 • الساعة الرئيسية Cortex-M3 و MSS ؛ ساعات MDDR
بالنسبة إلى FDDR ، يجب عليك تحديد:
- FDDR_CLK - يحدد تردد التشغيل لوحدة التحكم DDR ويجب أن يتطابق مع تردد الساعة الذي ترغب في تشغيل ذاكرة DDR الخارجية. لاحظ أن هذه الساعة مُعرَّفة على أنها من مضاعفات M3_CLK (MSS و Cortex-M3 ، الشكل 2-5). يجب أن يكون FDDR_CLK في نطاق 20 ميجاهرتز و 333 ميجاهرتز.
- FDDR_SUBSYSTEM_CLK - يُعرَّف تردد الساعة هذا على أنه نسبة FDDR_CLK ويجب أن يتطابق مع التردد الذي يعمل به النظام الفرعي النسيج FPGA الذي يصل إلى FDDR.
الشكل 2-6 • ساعات قماش DDR
تكوين SERDESIF
لا يتم إنشاء مثيل لكتل SERDESIF في التصميم الذي تم إنشاؤه بواسطة "منشئ النظام". ومع ذلك ، بالنسبة لجميع فدرات SERDESIF ، تتوفر إشارات التهيئة في واجهة نواة System Builder ويمكن توصيلها بنوى SERDESIF في المستوى التالي من التسلسل الهرمي ، كما هو موضح في الشكل 2-7.الشكل 2-7 • اتصال تهيئة الأجهزة الطرفية SERDESIF
على غرار سجلات تكوين DDR ، تحتوي كل مجموعة SERDES أيضًا على سجلات تكوين يجب تحميلها في وقت التشغيل. يمكنك إما استيراد قيم التسجيل هذه أو استخدام مكون الواجهة التسلسلية عالية السرعة (الشكل 2-8) لإدخال معلمات PCIe أو EPCS ويتم حساب قيم التسجيل تلقائيًا نيابة عنك. لمزيد من التفاصيل ، يرجى الرجوع إلى دليل مستخدم تهيئة SERDES.الشكل 2-8 • مكون الواجهة التسلسلية عالية السرعة
بمجرد دمج منطق المستخدم الخاص بك مع كتلة System Builder وكتلة SERDES ، يمكنك إنشاء SmartDesign الخاص بك على أعلى مستوى. هذا يولد كل HDL و BFM fileضرورية لتنفيذ ومحاكاة التصميم الخاص بك. يمكنك بعد ذلك متابعة بقية تدفق التصميم.
استخدام SmartDesign لإنشاء تصميم باستخدام كتل DDR و SERDESIF
يصف هذا القسم كيفية وضع حل "تهيئة" كامل معًا دون استخدام SmartFusion2 System Builder. الهدف هو مساعدتك على فهم ما يجب عليك فعله إذا كنت لا ترغب في استخدام منشئ النظام. يصف هذا القسم أيضًا ما توفره لك أداة System Builder بالفعل. يصف هذا القسم كيفية:
- أدخل بيانات التكوين لوحدة تحكم DDR وسجلات تكوين SERDESIF.
- قم بإنشاء وتوصيل النوى القماشية المطلوبة لنقل بيانات التكوين إلى وحدات تحكم DDR وسجلات تكوين SERDESIF.
تكوين تحكم DDR
يجب تكوين وحدات التحكم MSS DDR (MDDR) و Fabric DDR (FDDR) ديناميكيًا (في وقت التشغيل) لمطابقة متطلبات تكوين ذاكرة DDR الخارجية (وضع DDR ، وعرض PHY ، ووضع الاندفاع ، و ECC ، وما إلى ذلك). تتم كتابة البيانات التي تم إدخالها في مكون MDDR / FDDR إلى سجلات تكوين وحدة تحكم DDR بواسطة وظيفة CMSIS SystemInit (). يحتوي Configurator على ثلاث علامات تبويب مختلفة لإدخال أنواع مختلفة من بيانات التكوين:
- البيانات العامة (وضع DDR ، عرض البيانات ، تردد الساعة ، ECC ، واجهة النسيج ، قوة المحرك)
- بيانات تهيئة الذاكرة (طول الاندفاع ، ترتيب الاندفاع ، وضع التوقيت ، الكمون ، إلخ.)
- بيانات توقيت الذاكرة
راجع مواصفات ذاكرة DDR الخارجية الخاصة بك وقم بتكوين وحدة التحكم DDR لتتوافق مع متطلبات ذاكرة DDR الخارجية.
للحصول على تفاصيل حول تكوين DDR ، راجع ملف دليل مستخدم تكوين SmartFusion2 MSS DDR.
تكوين SERDESIF
انقر نقرًا مزدوجًا فوق مجموعة SERDES في لوحة SmartDesign لفتح Configurator لتكوين SERDES (الشكل 3-1). يمكنك إما استيراد قيم التسجيل هذه أو استخدام مكون SERDES لإدخال معلمات PCIe أو EPCS ويتم حساب قيم التسجيل تلقائيًا نيابة عنك. لمزيد من التفاصيل ، يرجى الرجوع إلى دليل مستخدم تهيئة SERDES.الشكل 3-1 • مكون الواجهة التسلسلية عالية السرعة
إنشاء النظام الفرعي لتهيئة تصميم FPGA
لتهيئة كتل DDR و SERDESIF ، يجب إنشاء نظام التهيئة الفرعي في نسيج FPGA. يقوم النظام الفرعي لتهيئة النسيج FPGA بنقل البيانات من Cortex-M3 إلى سجلات تكوين DDR و SERDESIF ، ويدير تسلسل إعادة التعيين المطلوب لتشغيل هذه الكتل والإشارات عندما تكون هذه الكتل جاهزة للتواصل مع بقية التصميم الخاص بك. لإنشاء نظام التهيئة الفرعي ، يجب عليك:
- تكوين FIC_2 داخل MSS
- إنشاء وتكوين نوى CoreConfigP و CoreResetP
- إنشاء مذبذب RC 25 / 50MHz على الرقاقة
- إنشاء مثيل الماكرو System Reset (SYSRESET)
- قم بتوصيل هذه المكونات بواجهات التكوين لكل طرف ، والساعات ، وإعادة التعيين ومنافذ قفل PLL
تكوين MSS FIC_2 APB
لتكوين MSS FIC_2:
- افتح مربع حوار مُكوِّن FIC_2 من مُكوِّن MSS (الشكل 3-2).
- حدد تهيئة الأجهزة الطرفية باستخدام Cortex-M3.
- بناءً على نظامك ، حدد أحد مربعي الاختيار التاليين أو كليهما:
- MSS DDR
- كتل النسيج DDR و / أو كتل SERDES - انقر فوق "موافق" وتابع لإنشاء MSS (يمكنك تأجيل هذا الإجراء حتى تقوم بتكوين MSS بالكامل لمتطلبات التصميم الخاصة بك). يتم الآن عرض منافذ FIC_2 (FIC_2_APB_MASTER و FIC_2_APB_M_PCLK و FIC_2_APB_M_RESET_N) في واجهة MSS ويمكن توصيلها بنواة CoreConfigP و CoreResetP.
الشكل 3-2 • مكون MSS FIC_2
التكوين الأساسيP
لتكوين CoreConfigP:
- قم بإنشاء مثيل CoreConfigP في SmartDesign الخاص بك (عادةً ما يتم إنشاء مثيل MSS فيه).
يمكن العثور على هذا اللب في كتالوج Libero (تحت Peripherals). - انقر نقرًا مزدوجًا فوق النواة لفتح أداة التهيئة.
- قم بتكوين النواة لتحديد الأجهزة الطرفية التي يجب تهيئتها (الشكل 3-3)
الشكل 3-3 • مربع حوار CoreConfigP
CoreResetP
لتكوين CoreResetP:
- مثيل CoreResetP في SmartDesign الخاص بك (عادةً ما يتم إنشاء MSS فيه).
يمكن العثور على هذا اللب في كتالوج Libero ، ضمن Peripherals. - انقر نقرًا مزدوجًا فوق النواة داخل SmartDesign Canvas لفتح Configurator (الشكل 3-4).
- تكوين النواة من أجل:
- حدد سلوك إعادة التعيين الخارجي (تم تأكيد EXT_RESET_OUT). اختر أحد الخيارات الأربعة:
o لا يتم التأكيد على EXT_RESET_OUT مطلقًا
o يتم تأكيد EXT_RESET_OUT إذا تم تأكيد إعادة تعيين الطاقة (POWER_ON_RESET_N)
o يتم تأكيد EXT_RESET_OUT إذا تم تأكيد FAB_RESET_N
o يتم تأكيد EXT_RESET_OUT في حالة إعادة تعيين الطاقة (POWER_ON_RESET_N) أو تأكيد FAB_RESET_N
- حدد حجم الجهازtagه. يجب أن تتطابق القيمة المحددة مع المجلدtage الذي حددته في مربع الحوار Libero Project Settings.
- حدد مربعات الاختيار المناسبة للإشارة إلى الأجهزة الطرفية التي تستخدمها في تصميمك.
- تحديد وقت ضبط ذاكرة DDR الخارجية. هذه هي القيمة القصوى لجميع ذاكرات DDR المستخدمة في تطبيقك (MDDR و FDDR). راجع ورقة بيانات بائع ذاكرة DDR الخارجية لتكوين هذه المعلمة. 200us هي قيمة افتراضية جيدة لذاكرة DDR2 و DDR3 التي تعمل بسرعة 200 ميجاهرتز. هذه معلمة مهمة للغاية لضمان محاكاة عمل ونظام عمل على السيليكون. قد تؤدي القيمة غير الصحيحة لوقت التثبيت إلى حدوث أخطاء في المحاكاة. ارجع إلى ورقة بيانات بائع ذاكرة DDR لتكوين هذه المعلمة.
- لكل مجموعة SERDES في تصميمك ، حدد المربعات المناسبة للإشارة إلى ما إذا كان:
o يتم استخدام PCIe
o مطلوب دعم لـ PCIe Hot Reset
o مطلوب دعم PCIe L2 / P2
ملحوظة: إذا كنت تستخدم 090 die (M2S090) وكان تصميمك يستخدم SERDESIF ، فلا يتعين عليك تحديد أي من مربعات الاختيار التالية: "Used for PCIe" و "Include PCIe HotReset support" و "Include PCIe L2 / P2 support". إذا كنت تستخدم أي جهاز بخلاف 090 وتستخدم واحدة أو أكثر من كتل SERDESIF ، فيجب عليك تحديد جميع خانات الاختيار الأربعة ضمن قسم SERDESIF المناسب.
ملحوظة: للحصول على تفاصيل حول الخيارات المتاحة لك في هذا المكون ، راجع CoreResetP Handbook.
الشكل 3-4 • CoreResetPConfigurator
25 / 50MHz مذبذب مثيل
يتم تسجيل CoreConfigP و CoreResetP بواسطة مذبذب RC 25 / 50MHz على الرقاقة. يجب إنشاء مثيل مذبذب 25/50 ميجاهرتز وتوصيله بهذه النوى.
- قم بإنشاء جوهر Chip Oscillators في SmartDesign الخاص بك (عادةً ما يتم إنشاء مثيل MSS فيه). يمكن العثور على هذا النواة في كتالوج Libero ضمن الساعة والإدارة.
- قم بتكوين هذا النواة بحيث يقوم مذبذب RC بتشغيل نسيج FPGA ، كما هو موضح في الشكل 3-5.
الشكل 3-5 • مكون مذبذبات الرقاقة
إعادة تعيين النظام (SYSRESET) مثيل
يوفر ماكرو SYSRESET وظيفة إعادة تعيين مستوى الجهاز لتصميمك. يتم تأكيد / إلغاء تأكيد إشارة الخرج POWER_ON_RESET_N عندما يتم تشغيل الشريحة أو تأكيد / إلغاء تأكيد الدبوس الخارجي DEVRST_N (الشكل 3-6).
إنشاء مثيل الماكرو SYSRESET في SmartDesign الخاص بك (عادةً ما يتم إنشاء MSS فيه). يمكن العثور على هذا الماكرو في كتالوج Libero ضمن مكتبة الماكرو. لا يلزم تكوين هذا الماكرو.
الشكل 3-6 • SYSRESET ماكرو
التوصيل العام
بعد أن تقوم بإنشاء وتكوين نوى MSS و FDDR و SERDESIF و OSC و SYSRESET و CoreConfigP و CoreResetP في التصميم الخاص بك ، فإنك تحتاج إلى توصيلها لتشكيل النظام الفرعي تهيئة الأجهزة الطرفية. لتبسيط وصف الاتصال في هذا المستند ، يتم تقسيمه إلى اتصال مسار بيانات التكوين المتوافق مع APB3 المرتبط بـ CoreConfigP والتوصيلات المرتبطة بـ CoreResetP.
تكوين اتصال مسار البيانات
يوضح الشكل 3-7 كيفية توصيل CoreConfigP بإشارات MSS FIC_2 وواجهات التكوين المتوافقة مع APB3 للأجهزة الطرفية.
الجدول 3-1 • تكوين مسار بيانات المنفذ / اتصالات BIF
من واجهة المنفذ / الحافلة (BIF) / مكون |
ل واجهة المنفذ / الناقل (BIF) / المكون |
||
الإعداد المسبق APB S N / CoreConfig | APB S PRESET N / SDIF <0/1/2/3> | APB S الإعداد المسبق N / اف دي دي ار |
MDDR APB S PRESE TN / MSS |
APB S PCLK / CoreConfigP | APB S PCLK / SDIF | APB S PCLK / FDDR | MDDR APB S POLK / MSS |
MDDR APBmslave / CoreConfig | MDDR APB SLAVE (BIF) / MSS | ||
SDIF <0/1/2/3> APBmslave / Config | APB SLAVE (BIF) / SDIF <0/1/2/3> | ||
FDDR APBmslave | APB SLAVE (BIF) / FDDR | ||
FIC 2 APBmmaster / CoreConfigP | FIC 2 APB MASTER / MSS |
الشكل 3-7 • اتصال النظام الفرعي FIC_2 APB3
الساعات وإعادة ضبط الاتصال
يوضح الشكل 3-8 كيفية توصيل CoreResetP بمصادر إعادة الضبط الخارجية وإشارات إعادة الضبط الأساسية للأجهزة الطرفية. كما يوضح كيفية توصيل CoreResetP بإشارات حالة مزامنة الساعة للأجهزة الطرفية (إشارات قفل PLL). بالإضافة إلى ذلك ، يوضح كيفية اتصال CoreConfigP و CoreResetP.
الشكل 3-8 • Core SF2Reset Sub-System Connectivity
إنشاء وترجمة تطبيق البرامج الثابتة
عند تصدير البرنامج الثابت من LiberoSoC (نافذة تدفق التصميم> تصدير البرامج الثابتة> تصدير البرامج الثابتة) ، يقوم Libero بإنشاء ما يلي fileق في مجلد / firmware / drivers_config / sys_config:
- sys_config.c - يحتوي على هياكل البيانات التي تحتوي على قيم السجلات الطرفية.
- sys_config.h - يحتوي على العبارات #define التي تحدد الأجهزة الطرفية المستخدمة في التصميم وتحتاج إلى التهيئة.
- sys_config_mddr_define.h - يحتوي على بيانات تكوين وحدة تحكم MDDR التي تم إدخالها في مربع حوار تكوين التسجيلات.
- sys_config_fddr_define.h - يحتوي على بيانات تكوين وحدة تحكم FDDR التي تم إدخالها في مربع حوار تكوين التسجيلات.
- sys_config_mss_clocks.h - هذا file يحتوي على ترددات ساعة MSS على النحو المحدد في مكون MSS CCC. يتم استخدام هذه الترددات بواسطة كود CMSIS لتوفير معلومات الساعة الصحيحة للعديد من برامج تشغيل MSS التي يجب أن يكون لها وصول إلى تردد الساعة المحيطية (PCLK) (على سبيل المثال ، تعد مقسمات معدل الباود MSS UART دالة لمعدل البث بالباود وتردد PCLK ).
- sys_config_SERDESIF_ .c - يحتوي على SERDESIF_ تسجيل بيانات التكوين المقدمة أثناء SERDESIF_ تكوين الكتلة في إنشاء التصميم.
- sys_config_SERDESIF_ .h - يحتوي على عبارات #define التي تحدد عدد أزواج تكوين السجل ورقم المسار الذي يجب استقصائه لـ PMA_READY (فقط في وضع PCIe).
هؤلاء files مطلوبة لكي يتم تجميع كود CMSIS بشكل صحيح ويحتوي على معلومات تتعلق بتصميمك الحالي ، بما في ذلك بيانات التكوين المحيطي ومعلومات تكوين الساعة لـ MSS.
لا تقم بتحرير هذه fileيدويا ؛ يتم إنشاؤها للمكونات / الدلائل الطرفية المقابلة في كل مرة يتم فيها إنشاء مكونات SmartDesign التي تحتوي على الأجهزة الطرفية المعنية. إذا تم إجراء أي تغييرات على بيانات التكوين الخاصة بأي من الأجهزة الطرفية ، فأنت بحاجة إلى إعادة تصدير مشاريع البرامج الثابتة بحيث يتم تحديث البرامج الثابتة files (انظر القائمة أعلاه) يتم تصديرها إلى ملف مجلد / firmware / drivers_config / sys_config.
عندما تقوم بتصدير البرنامج الثابت ، تقوم Libero SoC بإنشاء مشاريع البرامج الثابتة: مكتبة حيث يتم تكوين التصميم الخاص بك fileيتم تجميع ق والسائقين.
إذا قمت بتحديد إنشاء مشروع مربع الاختيار عند تصدير البرنامج الثابت ، يتم إنشاء مشروع SoftConsole / IAR / Keil الخاص بالبرنامج لعقد مشروع التطبيق حيث يمكنك تحرير main.c والمستخدم C / H fileس. افتح مشروع SoftConSole / IAR / Keil لتجميع كود CMSIS بشكل صحيح وتهيئة تطبيق البرنامج الثابت الخاص بك بشكل صحيح لمطابقة تصميم أجهزتك.
بي اف ام Fileتستخدم لمحاكاة التصميم
عندما تقوم بإنشاء مكونات SmartDesign التي تحتوي على الأجهزة الطرفية المرتبطة بتصميمك ، فإن المحاكاة fileيتم إنشاء ق المقابلة للأطراف المعنية في / دليل المحاكاة:
- اختبار - أعلى مستوى BFM file يتم تنفيذها لأول مرة أثناء أي محاكاة تستخدم معالج SmartFusion2 MSS Cortex-M3. يقوم بتنفيذ peripheral_init.bfm و user.bfm ، بهذا الترتيب.
- MDDR_init.bfm - إذا كان تصميمك يستخدم MDDR ، فإن Libero يولد هذا file؛ يحتوي على أوامر كتابة BFM تحاكي عمليات الكتابة لبيانات تسجيل تكوين MSS DDR التي أدخلتها (باستخدام مربع الحوار تحرير التسجيلات أو في MSS_MDDR GUI) في سجلات وحدة تحكم MSS DDR.
- FDDR_init.bfm - إذا كان تصميمك يستخدم FDDR ، فإن Libero يولد هذا file؛ يحتوي على أوامر كتابة BFM تحاكي عمليات الكتابة لبيانات تسجيل تكوين Fabric DDR التي أدخلتها (باستخدام مربع الحوار Edit Registers أو في FDDR GUI) في سجلات Fabric DDR Controller.
- SERDESIF_ _init.bfm - إذا كان التصميم الخاص بك يستخدم واحدًا أو أكثر من كتل SERDESIF ، فإن Libero يولد هذا file لكل من SERDESIF_ الكتل المستخدمة يحتوي على أوامر كتابة BFM تحاكي عمليات الكتابة لبيانات تسجيل تكوين SERDESIF التي أدخلتها (باستخدام مربع الحوار تحرير التسجيلات أو في SERDESIF_ GUI) في SERDESIF_ السجلات. إذا تم تكوين كتلة SERDESIF على أنها PCIe ، فسيتم ذلك file يحتوي أيضًا على بعض العبارات #define التي تتحكم في تنفيذ مرحلتي تكوين السجل بترتيب مثالي.
- user.bfm - يحتوي على أوامر المستخدم. يتم تنفيذ هذه الأوامر بعد اكتمال peripheral_init.bfm. قم بتحرير هذا file لإدخال أوامر BFM الخاصة بك.
- SERDESIF_ _user.bfm - يحتوي على أوامر المستخدم. قم بتحرير هذا file لإدخال أوامر BFM الخاصة بك. استخدم هذا إذا قمت بتكوين SERDESIF_ كتلة في وضع محاكاة BFM PCIe وكسيد AXI / AHBLite. إذا قمت بتكوين SERDESIF_ منع في وضع محاكاة RTL ، فلن تحتاج إلى هذا file.
عندما تستدعي محاكاة في كل مرة ، فإن المحاكيتين التاليتين fileيتم إعادة إنشاء s إلى / دليل المحاكاة بمحتويات محدثة:
- النظام الفرعي - يحتوي على العبارات #define لكل طرف مستخدم في التصميم الخاص بك ، والتي تحدد قسمًا معينًا من peripheral_init.bfm ليتم تنفيذه المطابق لكل طرف طرفي.
- operipheral_init.bfm - يحتوي على إجراء BFM الذي يحاكي وظيفة CMSIS :: SystemInit () التي تعمل على Cortex-M3 قبل إدخال الإجراء الرئيسي (). يقوم بنسخ بيانات التكوين لأي جهاز طرفي مستخدم في التصميم إلى سجلات التكوين المحيطي الصحيحة ثم ينتظر حتى تكون جميع الأجهزة الطرفية جاهزة قبل التأكيد على أنه يمكنك استخدام هذه الأجهزة الطرفية. يقوم بتنفيذ MDDR_init.bfm و FDDR_init.bfm.
باستخدام هذه ولدت files ، يتم تكوين وحدات التحكم DDR في تصميمك تلقائيًا ، لمحاكاة ما يمكن أن يحدث على جهاز SmartFusion2. يمكنك تحرير ملف user.bfm file لإضافة أي أوامر مطلوبة لمحاكاة تصميمك (Cortex-M3 هو الرئيسي). يتم تنفيذ هذه الأوامر بعد تهيئة الأجهزة الطرفية. لا تقم بتحرير test.bfm ، Subsystem.bfm ، peripheral_init.bfm ، MDDR_init.bfm ، FDDR_init.bfm fileق و SERDESIF_ _init.bfm files.
دعم المنتج
تدعم مجموعة منتجات Microsemi SoC منتجاتها بخدمات دعم متنوعة ، بما في ذلك خدمة العملاء ، ومركز الدعم الفني للعملاء ، أ webالموقع والبريد الإلكتروني ومكاتب المبيعات في جميع أنحاء العالم.
يحتوي هذا الملحق على معلومات حول الاتصال بـ Microsemi SoC Products Group واستخدام خدمات الدعم هذه.
خدمة العملاء
اتصل بخدمة العملاء للحصول على دعم غير تقني للمنتجات ، مثل تسعير المنتج وترقيات المنتج ومعلومات التحديث وحالة الطلب والتفويض.
اتصل من أمريكا الشمالية 800.262.1060
اتصل من بقية العالم 650.318.4460
الفاكس ، من أي مكان في العالم ، 408.643.6913
مركز الدعم الفني للعملاء
تعمل مجموعة منتجات Microsemi SoC على تزويد مركز الدعم الفني للعملاء بمهندسين ذوي مهارات عالية يمكنهم المساعدة في الإجابة على أسئلة الأجهزة والبرامج والتصميمات الخاصة بمنتجات Microsemi SoC. يقضي مركز الدعم الفني للعملاء قدرًا كبيرًا من الوقت في إنشاء ملاحظات التطبيق ، والإجابات على أسئلة دورة التصميم الشائعة ، وتوثيق المشكلات المعروفة ، والأسئلة الشائعة المتنوعة. لذا ، قبل الاتصال بنا ، يرجى زيارة مواردنا عبر الإنترنت. من المحتمل جدًا أننا قد أجبنا بالفعل على أسئلتك.
الدعم الفني
قم بزيارة دعم العملاء webموقع (www.microsemi.com/soc/support/search/default.aspx) لمزيد من المعلومات والدعم. العديد من الإجابات المتاحة على البحث web تتضمن الموارد الرسوم البيانية والرسوم التوضيحية وروابط لمصادر أخرى على webموقع.
Webموقع
يمكنك تصفح مجموعة متنوعة من المعلومات الفنية وغير الفنية على الصفحة الرئيسية لشركة نفط الجنوب ، على www.microsemi.com/soc.
الاتصال بمركز الدعم الفني للعملاء
يعمل في مركز الدعم الفني مهندسون ذوو مهارات عالية. يمكن الاتصال بمركز الدعم الفني عن طريق البريد الإلكتروني أو من خلال Microsemi SoC Products Group webموقع.
بريد إلكتروني
يمكنك توصيل أسئلتك الفنية إلى عنوان البريد الإلكتروني الخاص بنا وتلقي الإجابات عن طريق البريد الإلكتروني أو الفاكس أو الهاتف. أيضًا ، إذا كانت لديك مشكلات في التصميم ، يمكنك إرسال تصميمك بالبريد الإلكتروني fileلتلقي المساعدة.
نحن نراقب حساب البريد الإلكتروني باستمرار على مدار اليوم. عند إرسال طلبك إلينا ، يرجى التأكد من تضمين اسمك الكامل واسم الشركة ومعلومات الاتصال الخاصة بك لمعالجة طلبك بكفاءة.
عنوان البريد الإلكتروني للدعم الفني هو soc_tech@microsemi.com.
حالاتي
يمكن لعملاء Microsemi SoC Products Group إرسال الحالات الفنية وتتبعها عبر الإنترنت من خلال الانتقال إلى حالاتي.
خارج الولايات المتحدة
يمكن للعملاء الذين يحتاجون إلى مساعدة خارج المناطق الزمنية للولايات المتحدة إما الاتصال بالدعم الفني عبر البريد الإلكتروني (soc_tech@microsemi.com) أو اتصل بمكتب مبيعات محلي. يمكن العثور على قوائم مكتب المبيعات في www.microsemi.com/soc/company/contact/default.aspx.
ITAR الدعم الفني
للحصول على الدعم الفني بشأن RH و RT FPGAs التي تنظمها لوائح التجارة الدولية في الأسلحة (ITAR) ، اتصل بنا عبر soc_tech_itar@microsemi.com. بدلاً من ذلك ، ضمن حالاتي ، حدد نعم في القائمة المنسدلة إيتار. للحصول على قائمة كاملة من Microsemi FPGAs الخاضعة لتنظيم ITAR ، قم بزيارة ITAR web صفحة.
تقدم شركة Microsemi Corporation (NASDAQ: MSCC) مجموعة شاملة من حلول أشباه الموصلات من أجل: الفضاء والدفاع والأمن ؛ المؤسسة والاتصالات ؛ وأسواق الطاقة الصناعية والبديلة. تشمل المنتجات أجهزة تناظرية و RF عالية الأداء وعالية الموثوقية وإشارات مختلطة ودوائر متكاملة للترددات الراديوية و SoCs قابلة للتخصيص و FPGAs وأنظمة فرعية كاملة. يقع المقر الرئيسي لشركة Microsemi في أليسو فيجو ، كاليفورنيا. تعرف على المزيد على www.microsemi.com.
© 2014 شركة Microsemi. كل الحقوق محفوظة. Microsemi وشعار Microsemi هما علامتان تجاريتان لشركة Microsemi Corporation. جميع العلامات التجارية وعلامات الخدمة الأخرى مملوكة لأصحابها المعنيين.
5-02-00384-1/08.14المقر الرئيسي لشركة Microsemi
One Enterprise، Aliso Viejo CA 92656 USA
داخل الولايات المتحدة الأمريكية: +1 949-380-6100
المبيعات: +1 949-380-6136
الفاكس: +1 949-215-4996
المستندات / الموارد
![]() |
وحدة تحكم Microsemi SmartFusion2 DDR وجهاز تحكم تسلسلي عالي السرعة [بي دي اف] دليل المستخدم وحدة تحكم SmartFusion2 DDR ووحدة تحكم تسلسلية عالية السرعة ، SmartFusion2 DDR ، وحدة تحكم ووحدة تحكم تسلسلية عالية السرعة ، وحدة تحكم عالية السرعة |