شعار MICROCHIP محاكاة Libero SoC
تعليمات إعداد المكتبة

مقدمة

(اطرح سؤالا)

الغرض من هذه الوثيقة هو وصف الإجراء الخاص بإعداد بيئة المحاكاة باستخدام مشروع Libero SoC كمدخل. تتوافق هذه الوثائق مع المكتبات المجمعة مسبقًا المتوفرة للاستخدام مع Libero SoC v11.9 وإصدارات البرامج الأحدث. يتم تجميع المكتبات المتوفرة لـ Verilog. يحتاج مستخدمو VHDL إلى ترخيص يسمح بمحاكاة الوضع المختلط.
تتوفر مكتبات المحاكاة المجمعة للأدوات التالية:

  • ألديك أكتيف-HDL
  • الديك ريفييرا برو
  • مؤسسة الإيقاع الحاسمة و Xcelium
  • سيمنز كويستاسيم
  • سينوبسيس VCS

لطلب مكتبة لجهاز محاكاة مختلف، اتصل الدعم الفني للرقائق الدقيقة.

تكامل Libero SoC

(اطرح سؤالا)

يدعم Libero SoC المحاكاة باستخدام ModelSim ME عن طريق إنشاء ملف run.do file. هذا file يتم استخدامه بواسطة ModelSim ME/ModelSim Pro ME لإعداد وتشغيل المحاكاة. لاستخدام أدوات محاكاة أخرى، يمكنك إنشاء ModelSim ME/ModelSim Pro ME run.do وتعديل البرنامج النصي Tcl file لاستخدام الأوامر المتوافقة مع جهاز المحاكاة الخاص بك.
1.1 ليبيرو شركة نفط الجنوب تي سي إل File جيل (اطرح سؤالا)
بعد إنشاء وإنشاء التصميم في Libero SoC، ابدأ محاكاة ModelSim ME/ModelSim Pro ME في جميع مراحل التصميم (ما قبل التركيب، وما بعد التركيب، وما بعد التخطيط). تقوم هذه الخطوة بإنشاء ملف run.do file لـ ModelSim ME/ModelSim Pro ME لكل مرحلة تصميم.
برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة مهم: بعد بدء كل عملية تشغيل للمحاكاة، قم بإعادة تسمية الملف run.do الذي تم إنشاؤه تلقائيًا file ضمن دليل المحاكاة لمنع Libero SoC من الكتابة فوق ذلك file. على سبيل المثالample، the fileيمكن إعادة تسمية s إلى presynth_run.do، وpostsynth_run.do، وpostlayout_run.do.

إعداد Aldec لـ Active-HDL وRiviera-Pro (اطرح سؤالا)

تشغيل.do file المستخدمة بواسطة ModelSim ME/ModelSim Pro ME يمكن تعديلها واستخدامها للمحاكاة باستخدام محاكيات Aldec.
2.1 متغير البيئة (اطرح سؤالا)
قم بتعيين متغير البيئة الخاص بك إلى الترخيص الخاص بك file موقع:
LM_LICENSE_FILE: يجب أن يتضمن مؤشرًا إلى خادم الترخيص.
2.2 تنزيل المكتبة المجمعة (اطرح سؤالا)
قم بتنزيل مكتبات Aldec Active-HDL وAldec Riviera-PRO من Microchip webموقع.
2.3 تحويل run.do لمحاكاة Aldec (اطرح سؤالا)
تشغيل.do fileيمكن استخدام البيانات التي تم إنشاؤها بواسطة Libero SoC لعمليات المحاكاة باستخدام أداة Active-HDL وRiviera-Pro لعمليات المحاكاة باستخدام Active-HDL وRiviera-Pro مع تغيير واحد. يسرد الجدول التالي أوامر Aldec المكافئة لتعديلها في ModelSim run.do file.
الجدول 2-1. أوامر ألديك المكافئة

نموذج سيم نشط-HDL
مدونة فيديو ALOG
فيكوم أكوم
vlib عذر
فيسيم عاصم
خريطة أماب

ما يلي هوample run.do يتعلق بمحاكيات Aldec.

  1. قم بتعيين موقع دليل العمل الحالي.
    تعيين دي اس ان
  2. قم بتعيين اسم مكتبة العمل، وقم بتعيين موقعها، ثم قم بتعيين موقع عائلة Microchip FPGA
    المكتبات المترجمة مسبقًا (على سبيل المثالample، SmartFusion2) الذي تقوم بتشغيل التصميم الخاص بك عليه.
    alib presynth
    amap presynth presynth
    أماب SmartFusion2
  3. تجميع كافة HDL اللازمة fileالمستخدمة في التصميم مع المكتبة المطلوبة.
    alog – العمل presynth temp.v (لفيريلوج)
    alog – العمل presynth testbench.v
    acom – العمل presynth temp.vhd (لـ Vhdl)
    acom – العمل presynth testbench.vhd
  4. محاكاة التصميم.
    عاصم –L SmartFusion2 –L presynth –t 1ps presynth.testbench
    تشغيل 10us

2.4 المشكلات المعروفة (اطرح سؤالا)
يسرد هذا القسم المشكلات والقيود المعروفة.

  • المكتبات التي تم تجميعها باستخدام Riviera-PRO مخصصة للمنصة (أي لا يمكن تشغيل مكتبات 64 بت على منصة 32 بت والعكس صحيح).
  • بالنسبة للتصميمات التي تحتوي على SERDES/MDDR/FDDR، استخدم الخيار التالي في ملف run.do الخاص بك fileأثناء تشغيل عمليات المحاكاة بعد تجميع تصميماتها:
    – أكتيف-HDL: عاصم –o2
    - Riviera-PRO: asim –O2 (لمحاكاة ما قبل وبعد التخطيط) وasim –O5 (لمحاكاة ما بعد التخطيط)
    يحتوي إعداد Aldec لـ Active-HDL وRiviera-Pro على مؤشرات SAR المعلقة التالية. للمزيد من المعلومات الرجاء الاتصال الدعم الفني للرقائق الدقيقة.
  • 49908 ريال سعودي - Active-HDL: خطأ VHDL في عمليات محاكاة كتلة الرياضيات
  • 50627 ريال سعودي – Riviera-PRO 2013.02: أخطاء المحاكاة لتصميمات SERDES
  • 50461 ريال سعودي – Riviera-PRO: خيار asim -O2/-O5 في عمليات المحاكاة

إعداد الإيقاع القاطع (اطرح سؤالا)

تحتاج إلى إنشاء برنامج نصي file على غرار ModelSim ME/ModelSim Pro ME run.do لتشغيل
محاكاة الإيقاع القاطعة. اتبع هذه الخطوات وقم بإنشاء البرنامج النصي file لـ NCSim أو استخدم البرنامج النصي file
المقدمة لتحويل ModelSim ME/ModelSim Pro ME run.do fileق في التكوين files
اللازمة لتشغيل عمليات المحاكاة باستخدام NCSim.
برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة هام: الإيقاع توقفت عن إصدار إصدارات جديدة من Incisive Enterprise
Simulator وبدأت في دعم Xcelium Simulator.

3.1 متغيرات البيئة (اطرح سؤالا)
لتشغيل محاكي Cadence Incisive، قم بتكوين متغيرات البيئة التالية:

  1. LM_LICENSE_FILE: يجب أن يتضمن مؤشرًا للترخيص file.
  2. cds_root: يجب أن يشير إلى موقع الدليل الرئيسي الخاص بتثبيت Cadence Incisive.
  3. PATH: يجب أن يشير إلى موقع الحاوية ضمن دليل الأدوات الذي يشير إليه cds_root، أي
    $cds_root/tools/bin/64bit (لجهاز 64 بت و $cds_root/tools/bin لجهاز 32 بت).
    هناك ثلاث طرق لإعداد بيئة المحاكاة في حالة التبديل بين أنظمة التشغيل 64 بت و32 بت:

الحالة 1: متغير المسار
قم بتشغيل الأمر التالي:
تعيين المسار = (install_dir/tools/bin/64bit $path) لأجهزة 64 بت و
قم بتعيين المسار = (install_dir/tools/bin $path) لأجهزة 32 بت
الحالة 2: استخدام خيار سطر الأوامر -64 بت
في سطر الأوامر، حدد خيار -64 بت من أجل استدعاء الملف القابل للتنفيذ 64 بت.
الحالة 3: إعداد متغير البيئة INCA_64BIT أو CDS_AUTO_64BIT
يتم التعامل مع المتغير INCA_64BIT على أنه منطقي. يمكنك تعيين هذا المتغير إلى أي قيمة أو إلى سلسلة فارغة.
setenv INCA_64BIT

برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة هام: لا يؤثر متغير البيئة INCA_64BIT على أدوات Cadence الأخرى، مثل أدوات IC. ومع ذلك، بالنسبة للأدوات القاطعة، يتجاوز المتغير INCA_64BIT الإعداد الخاص بمتغير البيئة CDS_AUTO_64BIT. إذا تم تعيين متغير البيئة INCA_64BIT، فسيتم تشغيل كافة الأدوات القاطعة في وضع 64 بت. setenv CDS_AUTO_64BIT يشمل:INCA
برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة هام: يجب أن تكون سلسلة INCA بالأحرف الكبيرة. يجب تشغيل جميع الملفات التنفيذية في وضع 32 بت أو في وضع 64 بت، ولا تقم بتعيين المتغير ليشمل ملفًا تنفيذيًا واحدًا، كما في ما يلي:
setenv CDS_AUTO_64BIT يشمل:ncelab

أدوات الإيقاع الأخرى، مثل أدوات IC، تستخدم أيضًا متغير البيئة CDS_AUTO_64BIT للتحكم في تحديد الملفات التنفيذية 32 بت أو 64 بت. يوضح الجدول التالي كيف يمكنك ضبط المتغير CDS_AUTO_64BIT لتشغيل أدوات Incisive وأدوات IC في جميع الأوضاع.
الجدول 3-1. CDS_AUTO_64BIT المتغيرات

CDS_AUTO_64BIT متغير أدوات قاطعة أدوات آي سي
setenv CDS_AUTO_64BIT ALL 64 بت 64 بت
setenv CDS_AUTO_64BIT لا شيء 32 بت 32 بت
استبعاد setenv CDS_AUTO_64BIT:ic_binary 64 بت 32 بت
setenv CDS_AUTO_64BIT EXCLUDE:INCA 32 بت 64 بت

برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة مهم: يجب تشغيل جميع الأدوات القاطعة إما في وضع 32 بت أو في وضع 64 بت، ولا تستخدم EXCLUDE لاستبعاد ملف قابل للتنفيذ محدد، كما في ما يلي: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
إذا قمت بتعيين المتغير CDS_AUTO_64BIT لاستبعاد الأدوات القاطعة (setenv CDS_AUTO_64BIT EXCLUDE:INCA)، فسيتم تشغيل كافة الأدوات القاطعة في وضع 32 بت. ومع ذلك، فإن خيار سطر الأوامر -64 بت يتجاوز متغير البيئة.
التكوين التالي fileتساعدك على إدارة بياناتك والتحكم في تشغيل أدوات المحاكاة والمرافق:

  • رسم خرائط المكتبة file (cds.lib) — يحدد اسمًا منطقيًا لموقع تصميمك.
  • المكتبات وربطها بأسماء الدليل الفعلي.
  • المتغيرات file (hdl.var)—يحدد المتغيرات التي تؤثر على سلوك أدوات المحاكاة والأدوات المساعدة.

3.2 تنزيل المكتبة المجمعة (اطرح سؤالا)
قم بتنزيل مكتبات Cadence Incisive من Microsemi's webموقع.
3.3 إنشاء البرنامج النصي NCSim File (اطرح سؤالا)
بعد إنشاء نسخة من run.do fileبعد ذلك، قم بتنفيذ هذه الخطوات لتشغيل المحاكاة باستخدام NCSim:

  1. قم بإنشاء cds.lib file الذي يحدد المكتبات التي يمكن الوصول إليها ومواقعها. ال file يحتوي على عبارات تقوم بتعيين الأسماء المنطقية للمكتبة إلى مسارات الدليل الفعلي الخاصة بها. على سبيل المثالampلو، إذا كنت تقوم بتشغيل محاكاة presynth، فإن cds.lib file هو مكتوب كما هو موضح في التعليمات البرمجية التالية.
    تعريف presynth ./presynth
    تعريف COREAHBLITE_LIB ./COREAHBLITE_LIB
    تعريف Smartfusion2
  2. قم بإنشاء hdl.var file، تكوين اختياري file الذي يحتوي على متغيرات التكوين، التي تحدد كيفية تكوين بيئة التصميم الخاصة بك. المتغير التالي fileيتم تضمين ق:
    – المتغيرات المستخدمة لتحديد مكتبة العمل حيث يقوم المترجم بتخزين الكائنات المجمعة والبيانات المشتقة الأخرى.
    – بالنسبة لـ Verilog، المتغيرات (LIB_MAP، VIEW_MAP، WORK) المستخدمة لتحديد المكتبات و viewللبحث عندما يقوم المفصّل بحل المثيلات.
    - المتغيرات التي تسمح لك بتحديد خيارات ووسائط سطر أوامر المترجم والمفصل والمحاكي.
    في حالة محاكاة presynth على سبيل المثالampلو هو موضح أعلاه، لنفترض أن لدينا ثلاثة RTL files: av، وbv، وtestbench.v، والتي يجب تجميعها في مكتبات presynth، وCOREAHBLITE_LIB، وpresynth على التوالي. hdl.var file يمكن كتابتها كما هو موضح في مجموعة التعليمات البرمجية التالية.
    تعريف العمل presynth
    تعريف PROJECT_DIR files>
    تعريف LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/av => presynth )
    تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
    تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
    تعريف LIB_MAP ( $LIB_MAP، + => presynth )
  3. تجميع التصميم fileباستخدام خيار ncvlog.
    ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log –update –linedebug av bv testbench.v
  4. تفصيل التصميم باستخدام ncelab. يقوم المفصّل بإنشاء تسلسل هرمي للتصميم استنادًا إلى معلومات الإنشاء والتكوين في التصميم، وإنشاء اتصال الإشارة، وحساب القيم الأولية لجميع الكائنات في التصميم. يتم تخزين التسلسل الهرمي للتصميم المفصل في لقطة محاكاة، وهي تمثيل لتصميمك الذي يستخدمه جهاز المحاكاة لتشغيل المحاكاة.
    ncelab –رسالة –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
    الوصول إلى +rwc -status Worklib. :وحدة
    التفصيل أثناء محاكاة ما بعد التخطيط
    في حالة عمليات محاكاة ما بعد التخطيط، أولًا SDF file يجب تجميعه قبل التفصيل باستخدام الأمر ncsdfc.
    ncsdfcfileالاسم>.sdf – الإخراجfileالاسم>.sdf.X
    أثناء التفصيل، استخدم مخرجات SDF المترجمة مع خيار –autosdf كما هو موضح في مجموعة التعليمات البرمجية التالية.
    ncelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
    15 – الوصول + rwc – حالة عمل الحالة. :الوحدة –sdf_cmd_file ./
    sdf_cmd_file
    sdf_cmd_file يجب أن يكون كما هو موضح في التعليمات البرمجية التالية.
    COMPILED_SDF_FILE = " file>"
  5. محاكاة باستخدام ncsim. بعد التفصيل، يتم إنشاء لقطة محاكاة، ويتم تحميلها بواسطة ncsim للمحاكاة. يمكنك التشغيل في الوضع الدفعي أو وضع واجهة المستخدم الرسومية.
    ncsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile سجل ncsim –
    Errormax 15 - حالة عمل الحالة. :وحدة

برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة مهم: يمكن وضع جميع الخطوات الثلاث المذكورة أعلاه للتجميع والتفصيل والمحاكاة في برنامج نصي Shell file ومصدرها من سطر الأوامر. بدلاً من استخدام هذه الخطوات الثلاث، يمكن محاكاة التصميم في خطوة واحدة باستخدام خيار ncverilog أو irun كما هو موضح في مجموعة التعليمات البرمجية التالية.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
fileالمستخدمة في التصميم>
إيرون +إنكدير+ -cdslib ./cds.lib –hdlvar ./hdl.var files
المستخدمة في التصميم>

3.3.1 المشكلات المعروفة (اطرح سؤالا)
الحل التجريبي
استخدام العبارة التالية لتحديد تردد الساعة في منصة الاختبار التي أنشأها المستخدم، أو منصة الاختبار الافتراضية التي تم إنشاؤها بواسطة Libero SoC لا تعمل مع NCSim.
دائمًا @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
قم بالتعديل كما يلي لتشغيل المحاكاة:
دائمًا #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK؛
برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة هام: مجمعة مكتبات NCSim خاصة بالنظام الأساسي (أي مكتبات 64 بت غير متوافقة مع النظام الأساسي 32 بت والعكس صحيح).
عمليات محاكاة ما بعد التركيب وما بعد التخطيط باستخدام MSS وSERDES أثناء تشغيل عمليات محاكاة ما بعد التركيب للتصميمات التي تحتوي على كتلة MSS أو عمليات محاكاة ما بعد التخطيط للتصميمات باستخدام SERDES، لا تعمل عمليات محاكاة BFM إذا كان خيار –libmap هو
لم يتم تحديدها أثناء الإعداد. وذلك لأنه أثناء التفصيل، يتم حل MSS من مكتبة العمل (بسبب الارتباط الافتراضي ومكتب العمل الذي يتم بعد التركيب/التخطيط اللاحق) حيث تكون مجرد وظيفة ثابتة.
يجب كتابة الأمر ncelab كما هو موضح في مقطع التعليمات البرمجية التالي لحل مشكلة MSS
كتلة من مكتبة SmartFusion2 المترجمة مسبقًا.

ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
و lib.map file يجب أن يكون على النحو التالي:
التكوين cfg1؛
تصميم ;
قائمة liblist الافتراضية Smartfusion2 ;
com.endconfig
يؤدي هذا إلى حل أي خلية في مكتبة SmartFusion2 قبل البحث في مكتبة العمل، أي ما بعد التركيب/التخطيط اللاحق.
يمكن استخدام خيار –libmap بشكل افتراضي أثناء التفصيل لكل محاكاة (ما قبل التركيب، وما بعد التركيب، وما بعد التخطيط). يؤدي هذا إلى تجنب مشكلات المحاكاة التي تنتج بسبب حل المثيلات من المكتبات.
ncelab: *F,INTERR: استثناء داخلي
يُعد استثناء أداة ncelab تحذيرًا للتصميمات التي تحتوي على FDDR في SmartFusion 2 وIGLOO 2 أثناء عمليات محاكاة ما بعد التركيب وما بعد التخطيط باستخدام خيار –libmap.
برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة مهم: تم الإبلاغ عن هذه المشكلة إلى فريق دعم Cadence (52113 ريال سعودي).

3.4 ثانيةampلو TCL وشل النصي Fileس(اطرح سؤالا)
التالي files هي التكوين fileهناك حاجة لإعداد التصميم والبرنامج النصي Shell file لتشغيل أوامر NCSim.
Cds.lib
NE Smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
تعريف COREAHBLITE_LIB ./COREAHBLITE_LIB
تعريف presynth ./presynth

HDL.var
تعريف العمل presynth
تحديد PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagإيف => COREAHBLITE_LIB )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagإيف => COREAHBLITE_LIB )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
قبل النطق )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
قبل النطق )
تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
تعريف LIB_MAP ( $LIB_MAP، + => presynth )
الأوامر.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagعمر
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagعمر
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -Message -cdslib ./cds.lib -hdlvar ./hdl.var
-العمل presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module

3.5 الأتمتة (اطرح سؤالا)
النص التالي file يحول Run.do ModelSim fileفي التكوين fileهناك حاجة لتشغيل عمليات المحاكاة باستخدام NCSim.
نص File الاستخدام
بيرل cadence_parser.pl presynth_run.do postynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries

Cadence_parser.pl
#!/usr/bin/perl -w

##################################################################################################### ######################################################################################
##################
# الاستخدام: perl questa_parser.pl presynth_run.do postynth_run.do postlayout_run.do
Microsemi_Family المترجمة مسبقًا_Libraries_location#

##################################################################################################### ######################################################################################
##################
استخدم POSIX؛
استخدام صارم
my ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
Questa_parser الفرعي {
$ModelSim_run_do = $_[0];
بلدي $actel_family = $_[1];
$lib_location = $_[2];
حالتي $؛
إذا (-e "$ModelSim_run_do")
{
مفتوح (فيFILE"$ModelSim_run_do");
@ModelSim_run_do الخاص بي =FILE>;
خط $ الخاص بي ؛
إذا ($ModelSim_run_do =~ م/(presynth)/)
{
`mkdir QUESTA_PRSYNTH`;
مفتوح (خارجFILE">QUESTA_PRESSYNTH/presynth_questa.do");
حالة $ = $1؛
} elsif ( $ModelSim_run_do =~ م/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
مفتوح (خارجFILE">QUESTA_POSTSYNTH/postsynth_questa.do");
حالة $ = $1؛
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
مفتوح (خارجFILE">QUESTA_POSTLAYOUT/postlayout_questa.do");
حالة $ = $1؛
} آخر
{
اطبع "المدخلات الخاطئة المعطاة لـ file_ن”;
طباعة "# الاستخدام: Perl Questa_parser.pl presynth_run.do postynth_run.do postlayout_run.do
\"موقع_المكتبات\"\n";
}
foreach $line (@ModelSim_run_do)
{
#العمليات العامة
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#اطبعFILE "$السطر \n";
إذا ($line =~ m/vmap\s+.*($actel_family)/)
{
اطبعFILE "vmap $actel_family \"$lib_location\"\n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
اطبعFILE "$السطر \n";
} إلسيف ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
اطبعFILE "$السطر \n";
} آخر
{
اطبعFILE "$السطر \n";
}
}
إغلاق فيFILE);
اغلقFILE);
} آخر {
اطبع "$ModelSim_run_do غير موجود. أعد تشغيل المحاكاة مرة أخرى \n";
}
}

إعداد إيقاع إكسيليوم (تسجيل الدخول للرقائق الدقيقة)

تحتاج إلى إنشاء برنامج نصي file على غرار ModelSim ME/ModelSim Pro ME run.do لتشغيل محاكي Cadence Xcelium. اتبع هذه الخطوات وقم بإنشاء البرنامج النصي file لـ Xcelium أو استخدم البرنامج النصي file المقدمة لتحويل ModelSim ME/ModelSim Pro ME run.do fileق في التكوين fileهناك حاجة لتشغيل عمليات المحاكاة باستخدام Xcelium.
4.1 متغيرات البيئة (اطرح سؤالا)
لتشغيل Cadence Xcelium، قم بتكوين متغيرات البيئة التالية:

  1. LM_LICENSE_FILE: يجب أن يتضمن مؤشرًا للترخيص file.
  2. cds_root: يجب أن يشير إلى موقع الدليل الرئيسي لتثبيت Cadence Incisive.
  3. المسار: يجب أن يشير إلى موقع الحاوية ضمن دليل الأدوات المشار إليه بواسطة cds_root (أي
    $cds_root/tools/bin/64bit (لجهاز 64 بت و $cds_root/tools/bin لـ 32 بت
    آلة).

هناك ثلاث طرق لإعداد بيئة المحاكاة في حالة التبديل بين أنظمة التشغيل 64 بت و32 بت:
الحالة 1: متغير المسار
تعيين المسار = (install_dir/tools/bin/64bit $path) لأجهزة 64 بت و
قم بتعيين المسار = (install_dir/tools/bin $path) لأجهزة 32 بت
الحالة 2: استخدام خيار سطر الأوامر -64 بت
في سطر الأوامر، حدد خيار -64 بت من أجل استدعاء الملف القابل للتنفيذ 64 بت.
الحالة 3: إعداد متغير البيئة INCA_64BIT أو CDS_AUTO_64BIT
يتم التعامل مع المتغير INCA_64BIT على أنه منطقي. يمكنك تعيين هذا المتغير إلى أي قيمة أو إلى قيمة خالية
خيط.
setenv INCA_64BIT

برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة هام: لا يؤثر متغير البيئة INCA_64BIT على أدوات Cadence الأخرى، مثل أدوات IC. ومع ذلك، بالنسبة للأدوات القاطعة، يتجاوز المتغير INCA_64BIT الإعداد الخاص بمتغير البيئة CDS_AUTO_64BIT. إذا كان متغير البيئة INCA_64BIT هو et، فسيتم تشغيل كافة الأدوات القاطعة في وضع 64 بت.
setenv CDS_AUTO_64BIT يشمل:INCA
برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة هام: يجب أن تكون سلسلة INCA بالأحرف الكبيرة. يجب تشغيل جميع الملفات التنفيذية في وضع 2 بت أو في وضع 64 بت، ولا تقم بتعيين المتغير ليشمل ملفًا تنفيذيًا واحدًا، كما في ما يلي:
setenv CDS_AUTO_64BIT يشمل:ncelab
أدوات الإيقاع الأخرى، مثل أدوات IC، تستخدم أيضًا متغير البيئة CDS_AUTO_64BIT للتحكم في تحديد الملفات التنفيذية 32 بت أو 64 بت. يوضح الجدول التالي كيف يمكنك ضبط المتغير CDS_AUTO_64BIT لتشغيل أدوات Incisive وأدوات IC في جميع الأوضاع.

الجدول 4-1. CDS_AUTO_64BIT المتغيرات

CDS_AUTO_64BIT متغير أدوات قاطعة أدوات آي سي
setenv CDS_AUTO_64BIT ALL 64 بت 64 بت
setenv CDS_AUTO_64BIT لا شيء 32 بت 32 بت
setenv CDS_AUTO_64BIT
استبعاد:ic_binary
64 بت 32 بت
setenv CDS_AUTO_64BIT EXCLUDE:INCA 32 بت 64 بت

برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة مهم: يجب تشغيل كافة الأدوات القاطعة إما في وضع 32 بت أو في وضع 64 بت، ولا تستخدم EXCLUDE لاستبعاد ملف تنفيذي محدد، كما في ما يلي:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
إذا قمت بتعيين المتغير CDS_AUTO_64BIT لاستبعاد الأدوات القاطعة (setenv
CDS_AUTO_64BIT EXCLUDE:INCA)، يتم تشغيل كافة الأدوات القاطعة في وضع 32 بت. ومع ذلك،
- يتجاوز خيار سطر الأوامر 64 بت متغير البيئة.
التكوين التالي fileتساعدك على إدارة بياناتك والتحكم في تشغيل أدوات المحاكاة والمرافق:

  • رسم خرائط المكتبة file (cds.lib) يحدد اسمًا منطقيًا لموقع تصميمك.
  • المكتبات وربطها بأسماء الدليل الفعلي.
  • المتغيرات file (hdl.var) يحدد المتغيرات التي تؤثر على سلوك أدوات المحاكاة والمرافق.

4.2 تنزيل المكتبة المجمعة (اطرح سؤالا)
قم بتنزيل مكتبات Cadence Xcelium من Microsemi's webموقع.
4.3 إنشاء البرنامج النصي Xcelium file (اطرح سؤالا)
بعد إنشاء نسخة من run.do fileقم بتنفيذ الخطوات التالية لتشغيل المحاكاة باستخدام البرنامج النصي Xcelium file.

  1. قم بإنشاء cds.lib file الذي يحدد المكتبات التي يمكن الوصول إليها ومكان وجودها.
    ال file يحتوي على عبارات تقوم بتعيين الأسماء المنطقية للمكتبة إلى مسارات الدليل الفعلي الخاصة بها. على سبيل المثالampلو، إذا كنت تقوم بتشغيل محاكاة presynth، فإن cds.lib file يمكن كتابتها كما هو موضح في مجموعة التعليمات البرمجية التالية.
    تعريف presynth ./presynth
    تعريف COREAHBLITE_LIB ./COREAHBLITE_LIB
    تعريف Smartfusion2
  2. قم بإنشاء hdl.var file وهو تكوين اختياري file الذي يحتوي على متغيرات التكوين، التي تحدد كيفية تكوين بيئة التصميم الخاصة بك. وتشمل هذه:
    – المتغيرات المستخدمة لتحديد مكتبة العمل حيث يقوم المترجم بتخزين الكائنات المجمعة والبيانات المشتقة الأخرى.
    – بالنسبة لـ Verilog، المتغيرات (LIB_MAP، VIEW_MAP، WORK) المستخدمة لتحديد المكتبات و viewللبحث عندما يقوم المفصّل بحل المثيلات.
    - المتغيرات التي تسمح لك بتحديد خيارات ووسائط سطر أوامر المترجم والمفصل والمحاكي.
    في حالة محاكاة presynth على سبيل المثالampإذا هو موضح أعلاه، لنفترض أن لدينا 3 RTL files av، وbv، وtestbench.v، والتي يجب تجميعها في مكتبات presynth، وCOREAHBLITE_LIB، وpresynth على التوالي. hdl.var file يمكن كتابتها كما هو موضح في مجموعة التعليمات البرمجية التالية.
    تعريف العمل presynth
    تعريف PROJECT_DIR files>
    تعريف LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/av => presynth )
    تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
    تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
    تعريف LIB_MAP ( $LIB_MAP، + => presynth )
  3. تجميع التصميم fileباستخدام خيار ncvlog.
    xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log –update –linedebug av bv testbench.v
  4. تفصيل التصميم باستخدام ncelab. يقوم المفصّل بإنشاء تسلسل هرمي للتصميم استنادًا إلى معلومات الإنشاء والتكوين في التصميم، وإنشاء اتصال الإشارة، وحساب القيم الأولية لجميع الكائنات في التصميم. يتم تخزين التسلسل الهرمي للتصميم المفصل في لقطة محاكاة، وهي تمثيل لتصميمك الذي يستخدمه جهاز المحاكاة لتشغيل المحاكاة.
    إكسيليوم –رسالة –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
    الوصول إلى +rwc -status Worklib. :وحدة
    التفصيل أثناء محاكاة ما بعد التخطيط
    في حالة عمليات محاكاة ما بعد التخطيط، أولًا SDF file يجب تجميعه قبل التفصيل باستخدام الأمر ncsdfc.
    اكسيليومfileالاسم>.sdf – الإخراجfileالاسم>.sdf.X
    أثناء التفصيل، استخدم مخرجات SDF المترجمة مع خيار –autosdf كما هو موضح في مجموعة التعليمات البرمجية التالية.
    xmelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
    15 – الوصول + rwc – حالة عمل الحالة. :الوحدة –sdf_cmd_file ./
    sdf_cmd_file
    sdf_cmd_file يجب أن يكون كما هو موضح في التعليمات البرمجية التالية.
    COMPILED_SDF_FILE = " file>"
  5. محاكاة باستخدام Xcelium. بعد التفصيل، يتم إنشاء لقطة محاكاة يتم تحميلها بواسطة Xcelium للمحاكاة. يمكن تشغيل هذا في الوضع الدفعي أو وضع واجهة المستخدم الرسومية.
    xmsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile سجل xmsim –
    Errormax 15 - حالة عمل الحالة. :وحدة
    إعداد الإيقاع Xcelium
    برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة هام: الكل يمكن وضع الخطوات الثلاث المذكورة أعلاه للتجميع والتفصيل والمحاكاة في برنامج نصي شل file ومصدرها من سطر الأوامر. بدلاً من استخدام هذه الخطوات الثلاث، يمكن محاكاة التصميم في خطوة واحدة باستخدام خيار ncverilog أو xrun كما هو موضح في مجموعة التعليمات البرمجية التالية.
    xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
    fileالمستخدمة في التصميم>
    xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
    المستخدمة في التصميم>

4.3.1 المشكلات المعروفة (اطرح سؤالا)
الحل التجريبي
استخدام العبارة التالية لتحديد تردد الساعة في منصة الاختبار التي أنشأها المستخدم أو منصة الاختبار الافتراضية التي تم إنشاؤها بواسطة Libero SoC لا يعمل مع Xcelium.
دائمًا @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
قم بالتعديل كما يلي لتشغيل المحاكاة:
دائمًا #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK؛

برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة مهم: المكتبات المجمعة لـ Xcelium خاصة بالنظام الأساسي (أي مكتبات 64 بت غير متوافقة مع النظام الأساسي 32 بت والعكس صحيح).
محاكاة ما بعد التركيب وما بعد التخطيط باستخدام MSS وSERDES
أثناء تشغيل عمليات محاكاة ما بعد التركيب للتصميمات التي تحتوي على كتلة MSS، أو عمليات محاكاة ما بعد التخطيط للتصميمات باستخدام SERDES، لا تعمل عمليات محاكاة BFM إذا لم يتم تحديد خيار –libmap أثناء التفصيل. وذلك لأنه أثناء التفصيل، يتم حل MSS من مكتبة العمل (بسبب الارتباط الافتراضي ومكتب العمل الذي يتم بعد التركيب/التخطيط اللاحق) حيث تكون مجرد وظيفة ثابتة.
يجب كتابة الأمر ncelab كما هو موضح في مقطع التعليمات البرمجية التالي لحل كتلة MSS من مكتبة SmartFusion2 المترجمة مسبقًا.
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
و lib.map file يجب أن يكون على النحو التالي:
التكوين cfg1؛
تصميم ;
قائمة liblist الافتراضية Smartfusion2 ;
com.endconfig
يجب أن يحل هذا أي خلية في مكتبة SmartFusion2 قبل البحث في مكتبة العمل، أي ما بعد التركيب/التخطيط اللاحق.
يمكن استخدام خيار –libmap بشكل افتراضي أثناء التفصيل لكل محاكاة (ما قبل التركيب، وما بعد التركيب، وما بعد التخطيط). يؤدي هذا إلى تجنب مشكلات المحاكاة التي تنتج بسبب حل المثيلات من المكتبات.
xmelab: *F,INTERR: استثناء داخلي
يعد استثناء أداة ncelab تحذيرًا للتصميمات التي تحتوي على FDDR في SmartFusion2 وIGLOO2
أثناء عمليات محاكاة ما بعد التركيب وما بعد التخطيط باستخدام خيار –libmap.
برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة مهم: تم الإبلاغ عن هذه المشكلة إلى فريق دعم Cadence (52113 ريال سعودي).

4.4 ثانيةampلو TCL وشل النصي fileس(اطرح سؤالا)
التالي files هي التكوين fileهناك حاجة لإعداد التصميم والبرنامج النصي Shell file لتشغيل أوامر Xcelium.
Cds.lib
تحديد Smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
تعريف COREAHBLITE_LIB ./COREAHBLITE_LIB
تعريف presynth ./presynth
HDL.var
تعريف العمل presynth
تحديد PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagإيف => COREAHBLITE_LIB )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagإيف => COREAHBLITE_LIB )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
قبل النطق )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
قبل النطق )
تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
تحديد LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
تعريف LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
تعريف LIB_MAP ( $LIB_MAP، + => presynth )
الأوامر.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagعمر
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagعمر
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -Message -cdslib ./cds.lib -hdlvar ./hdl.var
-العمل presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module

4.5 الأتمتة (تسجيل الدخول للرقائق الدقيقة)
النص التالي file يحول ModelSim run.do fileفي التكوين fileهناك حاجة لتشغيل عمليات المحاكاة باستخدام Xcelium.
نص File الاستخدام
بيرل cadence_parser.pl presynth_run.do postynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w

##################################################################################################### ######################################################################################
##################
# الاستخدام: perl questa_parser.pl presynth_run.do postynth_run.do postlayout_run.do
Microsemi_Family المترجمة مسبقًا_Libraries_location#

##################################################################################################### ######################################################################################
##################
استخدم POSIX؛
استخدام صارم
my ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);

&questa_parser($postlayout, $family, $lib_location);
Questa_parser الفرعي {
$ModelSim_run_do = $_[0];
بلدي $actel_family = $_[1];
$lib_location = $_[2];
حالتي $؛
إذا (-e "$ModelSim_run_do")
{
مفتوح (فيFILE"$ModelSim_run_do");
@ModelSim_run_do الخاص بي =FILE>;
خط $ الخاص بي ؛
إذا ($ModelSim_run_do =~ م/(presynth)/)
{
`mkdir QUESTA_PRSYNTH`;
مفتوح (خارجFILE">QUESTA_PRESSYNTH/presynth_questa.do");
حالة $ = $1؛
} elsif ( $ModelSim_run_do =~ م/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
مفتوح (خارجFILE">QUESTA_POSTSYNTH/postsynth_questa.do");
حالة $ = $1؛
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
مفتوح (خارجFILE">QUESTA_POSTLAYOUT/postlayout_questa.do");
حالة $ = $1؛
} آخر
{
اطبع "المدخلات الخاطئة المعطاة لـ file_ن”;
طباعة "# الاستخدام: Perl Questa_parser.pl presynth_run.do postynth_run.do postlayout_run.do
\"موقع_المكتبات\"\n";
}
foreach $line (@ModelSim_run_do)
{
#العمليات العامة
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#اطبعFILE "$السطر \n";
إذا ($line =~ m/vmap\s+.*($actel_family)/)
{
اطبعFILE "vmap $actel_family \"$lib_location\"\n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
اطبعFILE "$السطر \n";
} إلسيف ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
اطبعFILE "$السطر \n";
} آخر
{
اطبعFILE "$السطر \n";
}
}
إغلاق فيFILE);
اغلقFILE);
} آخر {
اطبع "$ModelSim_run_do غير موجود. أعد تشغيل المحاكاة مرة أخرى \n";
}
}

إعداد سيمنز QuestaSim/إعداد ModelSim (اطرح سؤالا)

تشغيل.do fileيمكن استخدام s، التي تم إنشاؤها بواسطة Libero SoC لعمليات المحاكاة باستخدام إصدارات ModelSim Microsemi، لعمليات المحاكاة باستخدام QuestaSim/ModelSim SE/DE/PE مع تغيير واحد. في ModelSim ME/ModelSim Pro ME run.do file، يجب تعديل موقع المكتبات المترجمة مسبقًا.
برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة مهم: 
افتراضيًا، تقوم أداة المحاكاة بخلاف ModelSim Pro ME بتحسين التصميم أثناء المحاكاة مما قد يؤثر على الرؤية في عناصر المحاكاة مثل كائنات التصميم وتحفيز الإدخال.
وهذا مفيد عادةً في تقليل وقت تشغيل المحاكاة لعمليات المحاكاة المعقدة، وذلك باستخدام منصات اختبار مطولة ذاتية الفحص. ومع ذلك، قد لا تكون التحسينات الافتراضية مناسبة لجميع عمليات المحاكاة، خاصة في الحالات التي تتوقع فيها فحص نتائج المحاكاة بيانيًا باستخدام نافذة الموجة.
لمعالجة المشكلات الناجمة عن هذا التحسين، يجب عليك إضافة الأوامر المناسبة والوسائط ذات الصلة أثناء المحاكاة لاستعادة الرؤية في التصميم. للحصول على أوامر خاصة بالأداة، راجع وثائق جهاز المحاكاة قيد الاستخدام.

5.1 متغيرات البيئة (اطرح سؤالا)
فيما يلي متغيرات البيئة المطلوبة.

  • LM_LICENSE_FILE: يجب أن يتضمن المسار إلى الترخيص file.
  • MODEL_TECH: يجب تحديد المسار إلى موقع الدليل الرئيسي لتثبيت QuestaSim.
  • PATH: يجب أن يشير إلى الموقع القابل للتنفيذ الذي يشير إليه MODEL_TECH.

5.2 تحويل run.do لـ Mentor QuestaSim (اطرح سؤالا)
تشغيل.do fileيمكن استخدام البيانات التي تم إنشاؤها بواسطة Libero SoC لعمليات المحاكاة باستخدام ModelSim Microsemi Editions لعمليات المحاكاة باستخدام QuestaSim/ModelSim_SE مع تغيير واحد.
برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة هام: الكل يجب أن تتضمن التصميمات التي تمت محاكاتها باستخدام QuestaSim -novopt
الخيار مع أمر vsim في البرنامج النصي run.do files.
5.3 تنزيل المكتبة المجمعة (اطرح سؤالا)
قم بتنزيل مكتبات Mentor Graphics QuestaSim من Microsemi's webموقع.

إعداد سينوبسيس VCS (اطرح سؤالا)

يعتمد التدفق الموصى به بواسطة Microsemi على التدفق التفصيلي والتجميعي في VCS. تتضمن هذه الوثيقة نصًا file الذي يستخدم البرنامج النصي run.do fileتم إنشاؤها بواسطة Libero SoC وتقوم بإنشاء الإعداد fileهناك حاجة لمحاكاة VCS. النص file يستخدم run.do file للقيام بما يلي.

  • إنشاء خريطة المكتبة file، والذي يتم باستخدام Synopsys_sim.setup file الموجود في نفس الدليل حيث يتم تشغيل محاكاة VCS.
  • إنشاء برنامج نصي شل file لتطوير وتجميع التصميم الخاص بك باستخدام VCS.

6.1 متغيرات البيئة (اطرح سؤالا)
قم بتعيين متغيرات البيئة المناسبة لـ VCS بناءً على الإعداد الخاص بك. متغيرات البيئة المطلوبة وفقًا لوثائق VCS هي:

  • LM_LICENSE_FILE: يجب أن يتضمن مؤشرًا إلى خادم الترخيص.
  • VCS_HOME: يجب أن يشير إلى موقع الدليل الرئيسي لتثبيت VCS.
  • PATH: يجب أن يتضمن مؤشرًا إلى دليل bin الموجود أسفل دليل VCS_HOME.

6.2 تنزيل المكتبة المجمعة (اطرح سؤالا)
قم بتنزيل مكتبات Synopsys VCS من Microsemi's webموقع.
6.3 البرنامج النصي لمحاكاة VCS File (اطرح سؤالا)
بعد إعداد VCS وإنشاء التصميم وملف run.do المختلف fileمن Libero SoC، يجب عليك:

  1. إنشاء خريطة المكتبة file Synopsys_sim.setup; هذا file يحتوي على مؤشرات لموقع جميع المكتبات التي سيستخدمها التصميم.
    برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة  هام: file يجب ألا يتغير الاسم ويجب أن يكون موجودًا في نفس الدليل الذي يتم تشغيل المحاكاة فيه. هنا سابقampلو لمثل هذا file لمحاكاة ما قبل التركيب.
    العمل> إيفولت
    سمارت فيوجن 2 :
    presynth : ./presynth
    الافتراضي : ./العمل
  2. تفصيل التصميم المختلف files، بما في ذلك testbench، باستخدام الأمر vlogan في VCS. قد يتم تضمين هذه الأوامر في برنامج نصي Shell file. ما يلي هو السابقampأحد الأوامر اللازمة لوضع تصميم محدد في rtl.v مع تحديد منصة الاختبار الخاصة به في
    testbench.v.
    vlogan +v2k -work presynth rtl.v
    vlogan +v2k -work presynth testbench.v
  3. ترجمة التصميم باستخدام VCS باستخدام الأمر التالي.
    vcs –sim_res=1fs presynth.testbench
    لاحظ ال يجب ضبط دقة توقيت المحاكاة على 1fs للمحاكاة الوظيفية الصحيحة.
  4. بمجرد تجميع التصميم، ابدأ المحاكاة باستخدام الأمر التالي.
    ./simv
  5. بالنسبة للمحاكاة ذات التعليقات التوضيحية الخلفية، يجب أن يكون أمر VCS كما هو موضح في مجموعة التعليمات البرمجية التالية.
    vcs postlayout.testbench –sim_res=1fs –sdf ماكس: .
    الاسم>: file المسار> –gui –l postlayout.log

6.4 القيود/الاستثناءات (اطرح سؤالا)
فيما يلي القيود/الاستثناءات الخاصة بإعداد Synopsys VCS.

  • لا يمكن تشغيل عمليات محاكاة VCS إلا لمشاريع Verilog الخاصة بـ Libero SoC. يحتوي جهاز محاكاة VCS على متطلبات لغة VHDL صارمة لا يتم تلبيتها بواسطة VHDL الذي يتم إنشاؤه تلقائيًا من Libero SoC files.
  • يجب أن يكون لديك عبارة $finish في منصة اختبار Verilog لإيقاف المحاكاة وقتما تشاء.
    برنامج مكتبة محاكاة MICROCHIP Libero SoC - أيقونة المهم: متى يتم تشغيل عمليات المحاكاة في وضع واجهة المستخدم الرسومية، ويمكن تحديد وقت التشغيل في واجهة المستخدم الرسومية.

6.5 ثانيةampلو TCL وشل النصي Fileس(اطرح سؤالا)
يقوم برنامج Perl التالي بأتمتة إنشاء ملف Synopsys_sim.setup file فضلا عن البرنامج النصي شل المقابلة fileهناك حاجة إلى تفصيل التصميم وتجميعه ومحاكاته.
إذا كان التصميم يستخدم MSS، فانسخ ملف test.vec file الموجود في مجلد المحاكاة الخاص بمشروع Libero SoC في مجلد محاكاة VCS. الأقسام التالية تحتوي على sampلو run.do fileتم إنشاؤها بواسطة Libero SoC، بما في ذلك تعيين المكتبة المقابلة والبرنامج النصي shell fileهناك حاجة لمحاكاة VCS.
6.5.1 ما قبل التركيب (اطرح سؤالا)
Presynth_run.do
اضبط ACTELLIBNAME SmartFusion2 بهدوء
قم بتعيين PROJECT_DIR بهدوء "/sqa/users/me/VCS_Tests/Test_DFF"
لو {[file موجود presynth/_info]} {
صدى "INFO: presynth مكتبة المحاكاة موجود بالفعل"
} آخر {
vlib presynth
}
vmap presynth presynth
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
مدونة فيديو - العرض المسبق للعمل "${PROJECT_DIR}/component/work/SD1/SD1.v"
مدونة فيديو "+incdir+${PROJECT_DIR}/stimulus" - العرض المسبق للعمل "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
إضافة موجة /SD1_TB1/*
إضافة سجل -r /*
تشغيل 1000ns
presynth_main.csh
#!/bin/csh -f
تعيين PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -مقدمة العمل "${PROJECT_DIR}/component/
العمل/SD1/SD1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -عمل
presynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs presynth.SD1_TB1 -l Compil.log
./simv -l run.log
Synopsys_sim.setup
العمل> الافتراضي
سمارت فيوجن 2: /VCS/SmartFusion2
presynth : ./presynth
الافتراضي : ./العمل

6.5.2 مرحلة ما بعد التركيب (اطرح سؤالا)
postynth_run.do
اضبط ACTELLIBNAME SmartFusion2 بهدوء
قم بتعيين PROJECT_DIR بهدوء "/sqa/users/Me/VCS_Tests/Test_DFF"
لو {[file موجود بوستسينث/_info]} {
صدى "معلومات: مكتبة المحاكاة موجودة بالفعل"
} آخر {
vlib بوستسينث
}
vmap بوستسينث بوستسينث
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
سمارت فيوجن 2”
مدونة فيديو -عمل ما بعد التركيب "${PROJECT_DIR}/system/SD1.v"
مدونة فيديو "+incdir+${PROJECT_DIR}/stimulus" -عمل ما بعد التركيب "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L postynth -t 1fs postynth.SD1_TB1
إضافة موجة /SD1_TB1/*
إضافة سجل -r /*
تشغيل 1000ns
سجل SD1_TB1/*
مخرج
Postsynth_main.csh
#!/bin/csh -f
تعيين PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -عمل ما بعد التركيب “${PROJECT_DIR}/system/
SD1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -عمل
ما بعد التركيب "${PROJECT_DIR}/stimulus/SD1_TB1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postynth.SD1_TB1 -l Compil.log
./simv -l run.log
Synopsys_sim.setup
العمل> الافتراضي
سمارت فيوجن 2: /VCS/SmartFusion2
ما بعد التركيب : ./postsynth
الافتراضي : ./العمل
6.5.3 التخطيط اللاحق (اطرح سؤالا)
postlayout_run.do
اضبط ACTELLIBNAME SmartFusion2 بهدوء
قم بتعيين PROJECT_DIR بهدوء "E:/ModelSim_Work/Test_DFF"
لو {[file موجود ../designer/SD1/simulation/postlayout/_info]} {
صدى "معلومات: مكتبة المحاكاة ../designer/SD1/simulation/postlayout موجودة بالفعل"
} آخر {
vlib ../designer/SD1/simulation/postlayout
}
vmap postlayout ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
سمارت فيوجن 2”
مدونة فيديو - تخطيط ما بعد العمل "${PROJECT_DIR}/designer/SD1/SD1_ba.v"
مدونة فيديو "+incdir+${PROJECT_DIR}/stimulus" - تخطيط ما بعد العمل "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L postlayout -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf postlayout.SD1_TB1
إضافة موجة /SD1_TB1/*
إضافة سجل -r /*
تشغيل 1000ns
Postlayout_main.csh
#!/bin/csh -f
قم بتعيين PROJECT_DIR = "/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -التخطيط اللاحق للعمل "${PROJECT_DIR}/
المصمم/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -عمل
التخطيط اللاحق "${PROJECT_DIR}/stimulus/SD1_TB1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.SD1_TB1 -sdf

max:SD1_TB1.SD1_0:${PROJECT_DIR}/designer/SD1/SD1_ba.sdf -l compile.log
./simv -l run.log
Synopsys_sim.setup
العمل> الافتراضي
سمارت فيوجن 2: /VCS/SmartFusion2
تخطيط ما بعد : ./postlayout
الافتراضي : ./workVCS
6.6 الأتمتة (اطرح سؤالا)
يمكن أتمتة التدفق باستخدام البرنامج النصي Perl التالي file لتحويل ModelSim run.do fileفي البرنامج النصي shell المتوافق مع VCS fileقم بإنشاء الدلائل المناسبة داخل دليل محاكاة Libero SoC، ثم قم بتشغيل عمليات المحاكاة.
قم بتشغيل البرنامج النصي file باستخدام بناء الجملة التالي.
بيرل vcs_parse.pl presynth_run.do postynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
#################################################################################################### ##################################################################
#
# الاستخدام: بيرل vcs_parse.pl presynth_run.do postynth_run.do postlayout_run.do
#
##################################################################################################### ############################################################
بلدي ($presynth، $postsynth، $postlayout) = @ARGV؛
إذا (نظام ("mkdir VCS_Presynth")) {طباعة "فشل mkdir:\n"؛}
إذا (نظام ("mkdir VCS_Postsynth")) {طباعة "فشل mkdir:\n"؛}
إذا (نظام ("mkdir VCS_Postlayout")) {طباعة "فشل mkdir:\n"؛}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .` ;
&parse_do($presynth,"presynth");
تشدير ("../")؛
chdir(VCS_Postsynth);
`cp ../$ARGV[1] .` ;
&parse_do($postsynth,"postsynth");
تشدير ("../")؛
chdir(VCS_Postlayout);
`cp ../$ARGV[2] .` ;
&parse_do($postlayout,"postlayout");
تشدير ("../")؛
تحليل فرعي {
مدونة الفيديو $ الخاصة بي = "/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k" ؛
%LIB الخاص بي = ();
دولاريfile = $_[0] ;
حالتي $ = $_[1];
فتح (فيFILE"$file") || يموت "غير قادر على فتح File قد يكون السبب:$!";
إذا ($state مكافئ "presynth")
{
open(OUT1,">presynth_main.csh") || يموت "غير قادر على إنشاء الأمر File قد يكون السبب:$!";
}
إلسيف ( $state مكافئ "postsynth")
{
open(OUT1,">postsynth_main.csh") || يموت "غير قادر على إنشاء الأمر File قد يكون السبب:$!";
}
إلسيف ($state مكافئ "postlayout")
{
open(OUT1,">postlayout_main.csh") || يموت "غير قادر على إنشاء الأمر File قد يكون السبب:$!";
}
آخر
{
طباعة "حالة المحاكاة مفقودة \n" ؛
}
open(OUT2,">synopsys_sim.setup") || يموت "غير قادر على إنشاء الأمر File قد يكون السبب:$!";
#.csh file
طباعة OUT1 "#!/bin/csh -f\n\n\n" ;
#يثبت FILE
طباعة OUT2 "العمل > الافتراضي\n" ;
طباعة OUT2 "SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n" ؛
بينما ($ السطر =FILE>)
{

إعداد سينوبسيس VCS

إذا ($line =~ m/ضبط PROJECT_DIR\s+\”(.*?)\”/) بهدوء
{
طباعة OUT1 "set PROJECT_DIR = \"$1\"\n\n\n" ;
}
إلسيف ( $line =~ m/vlog.*\.v\”/ )
{
إذا ($line =~ m/\s+(\w*?)\_LIB/)
{
#print "\$1 =$1 \n" ;
$temp = "$1″."_LIB";
#print "درجة الحرارة = $temp \n" ;
$LIB{$temp}++;
}
chomp($line);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
طباعة OUT1 "$line\n";
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/)) )
{
$تب = $1 ;
$tb =~ s/ //g;
أقضم بصوت عالي($ السل);
#print "اسم السل: $tb \n";
إذا ( $line =~ m/sdf(.*)\.sdf/)
{
chomp($line);
خط $ = $1 ؛
#print “LINE : $line \n” ;
إذا ($خط =~ م/ماكس/)
{
$line =~ s/max \/// ;
$line =~ s/=/:/;
طباعة OUT1 "\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
الحد الأقصى:$tb.$line.sdf -lcompile.log\n" ;
}
إلسيف ($خط =~ م/دقيقة/)
{
$line =~ ثانية/دقيقة \/// ;
$line =~ s/=/:/;
طباعة OUT1 "\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
الحد الأدنى:$tb.$line.sdf -lcompile.log\n" ;
}
إلسيف ($خط =~ م/نوع/)
{
$line =~ s/typ \/// ;
$line =~ s/=/:/;
طباعة OUT1 "\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
typ:$tb.$line.sdf -lcompile.log\n" ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — تنسيق ModelSim SDF
#$sdf = "-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf"; -VCS
تنسيق قوات الدفاع الذاتى
}
}
}
مطبعة
مخرج1 "\n\n"
;
if
($state مكافئ "presynth"
)
{
مطبعة
OUT2 "Presynth
: ./presynth\n"
;
مطبعة
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
ترجمة.سجل\n"
;
}
إلسيف
( $state مكافئ "postsynth"
)
{
مطبعة
OUT2 "ما بعد التركيب
: ./ما بعد التركيب\n"
;
مطبعة
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postynth.$tb -l
ترجمة.سجل\n"
;
}
إلسيف
($state مكافئ "postlayout"
)
{
طباعة OUT2 "postlayout : ./postlayout\n" ؛
}
آخر
{
طباعة "حالة المحاكاة مفقودة \n" ؛
}
foreach $i (المفاتيح %LIB)
{
#print "المفتاح : $i القيمة : $LIB{$i} \n" ;
طباعة OUT2 "$i : ./$i\n" ;
}
طباعة OUT1 "\n\n" ؛
طباعة OUT1 "./simv -l run.log\n" ;
طباعة OUT2 "الافتراضي : ./work\n" ؛
إغلاق فيFILE;
إغلاق OUT1؛
إغلاق OUT2؛
}

مراجعة التاريخ (تسجيل الدخول للرقائق الدقيقة

يصف سجل المراجعة التغييرات التي تم تنفيذها في المستند. التغييرات
يتم سردها حسب المراجعة، بدءًا من أحدث المنشورات.

المراجعة تاريخ وصف
A 12/2023 تم إجراء التغييرات التالية في هذه المراجعة:
• تم تحويل المستند إلى قالب Microchip. المراجعة الأولية.
• تم تحديث القسم 5. إعداد Siemens QuestaSim/إعداد ModelSim ليشمل ملاحظة جديدة تشرح التأثير على الرؤية أثناء المحاكاة والتحسين.

دعم Microchip FPGA
تدعم مجموعة منتجات Microchip FPGA منتجاتها بخدمات دعم متنوعة ، بما في ذلك خدمة العملاء ، ومركز الدعم الفني للعملاء ، أ webالموقع، ومكاتب المبيعات في جميع أنحاء العالم.
يُقترح على العملاء زيارة موارد Microchip عبر الإنترنت قبل الاتصال بالدعم لأنه من المحتمل جدًا أن تكون استفساراتهم قد تم الرد عليها بالفعل.
اتصل بمركز الدعم الفني من خلال webالموقع في www.microchip.com/support. اذكر رقم جزء جهاز FPGA ، وحدد فئة الحالة المناسبة ، وقم بتحميل التصميم fileأثناء إنشاء حالة دعم فني.
اتصل بخدمة العملاء للحصول على دعم غير تقني للمنتجات ، مثل تسعير المنتج وترقيات المنتج ومعلومات التحديث وحالة الطلب والتفويض.

  • من أمريكا الشمالية، اتصل على 800.262.1060
  • من بقية العالم، اتصل على 650.318.4460
  • فاكس من أي مكان في العالم 650.318.8044

معلومات الرقاقة
الرقاقة الدقيقة Webموقع
توفر Microchip الدعم عبر الإنترنت من خلال webالموقع في www.microchip.com/. هذا webيتم استخدام الموقع لصنع fileتتوفر المعلومات والبيانات بسهولة للعملاء. وتتضمن بعض المحتويات المتاحة ما يلي:

  • دعم المنتج - أوراق البيانات والأخطاء المطبعية وملاحظات التطبيق وغيرهاampالبرامج، وموارد التصميم، وأدلة المستخدم ووثائق دعم الأجهزة، وإصدارات البرامج الأحدث والبرامج المؤرشفة
  • الدعم الفني العام - الأسئلة المتداولة (FAQs) ، طلبات الدعم الفني ، مجموعات المناقشة عبر الإنترنت ، قائمة أعضاء برنامج شركاء تصميم Microchip
  • أعمال الرقاقة الإلكترونية - محدد المنتج وأدلة الطلب ، أحدث النشرات الصحفية للرقاقة الدقيقة ، قائمة بالندوات والأحداث ، قوائم بمكاتب مبيعات الرقائق الدقيقة والموزعين وممثلي المصانع

خدمة الإعلام بتغيير المنتج
تساعد خدمة الإخطار بتغيير المنتج من Microchip على إبقاء العملاء على اطلاع دائم بمنتجات Microchip. سيتلقى المشتركون إشعارًا بالبريد الإلكتروني عند وجود تغييرات أو تحديثات أو تنقيحات أو أخطاء تتعلق بمجموعة منتجات محددة أو أداة تطوير ذات أهمية.
للتسجيل، انتقل إلى www.microchip.com/pcn واتبع تعليمات التسجيل.
دعم العملاء
يمكن لمستخدمي منتجات Microchip الحصول على المساعدة عبر عدة قنوات:

  • الموزع أو الممثل
  • مكتب المبيعات المحلي
  • مهندس الحلول المضمنة (ESE)
  • الدعم الفني

يتعين على العملاء الاتصال بموزعهم أو ممثلهم أو شركة ESE للحصول على الدعم. كما تتوفر مكاتب مبيعات محلية لمساعدة العملاء. وتتضمن هذه الوثيقة قائمة بمكاتب المبيعات والمواقع.
الدعم الفني متاح من خلال webالموقع في: www.microchip.com/support
ميزة حماية رمز أجهزة Microchip
لاحظ التفاصيل التالية لميزة حماية الكود على منتجات Microchip:

  • تتوافق منتجات Microchip مع المواصفات الواردة في ورقة بيانات Microchip الخاصة بها.
  • تعتقد شركة مايكروشيب أن مجموعة منتجاتها آمنة عند استخدامها بالطريقة المقصودة، وضمن مواصفات التشغيل، وفي ظل الظروف العادية.
  • تقدر الرقاقة الإلكترونية حقوق الملكية الفكرية وتحميها بقوة. محاولات خرق ميزات حماية التعليمات البرمجية لمنتج Microchip محظورة تمامًا وقد تنتهك قانون حقوق النشر الرقمية للألفية.
  • لا تستطيع شركة Microchip ولا أي شركة أخرى مصنعة لأشباه الموصلات ضمان أمان التعليمات البرمجية الخاصة بها. حماية الكود لا تعني أننا نضمن أن المنتج "غير قابل للكسر".
    ورمز الحماية في تطور مستمر. تلتزم شركة Microchip بالتحسين المستمر لميزات حماية التعليمات البرمجية لمنتجاتنا.

إشعار قانوني
لا يجوز استخدام هذا المنشور والمعلومات الواردة فيه إلا مع منتجات Microchip ، بما في ذلك تصميم واختبار ودمج منتجات Microchip مع تطبيقك. استخدام هذه المعلومات بأي طريقة أخرى ينتهك هذه الشروط. يتم توفير المعلومات المتعلقة بتطبيقات الجهاز فقط لراحتك وقد تحل محلها التحديثات. تقع على عاتقك مسؤولية التأكد من أن التطبيق الخاص بك يلبي المواصفات الخاصة بك. اتصل بمكتب مبيعات Microchip المحلي للحصول على دعم إضافي أو احصل على دعم إضافي على www.microchip.com/en-us/support/design-help/client-support-services.
يتم توفير هذه المعلومات من قبل شركة MICROCHIP "كما هي". لا تقدم شركة MICROCHIP أي تعهدات أو ضمانات من أي نوع سواء كانت صريحة أو ضمنية، مكتوبة أو شفوية، قانونية أو غير ذلك، فيما يتعلق بالمعلومات بما في ذلك على سبيل المثال لا الحصر أي ضمانات ضمنية بعدم الانتهاك وقابلية التسويق والملاءمة لغرض معين، أو الضمانات المتعلقة بحالتها أو جودتها أو أدائها.
لن تكون شركة مايكرو شيب مسؤولة بأي حال من الأحوال عن أي خسارة أو ضرر أو تكلفة أو نفقات غير مباشرة أو خاصة أو عقابية أو عرضية أو تبعية من أي نوع كانت مرتبطة بالمعلومات أو استخدامها، مهما كان سببها، حتى لو تم إخطار مايكرو شيب بإمكانية حدوث ذلك أو كانت الأضرار متوقعة. إلى أقصى حد يسمح به القانون، لن تتجاوز مسؤولية مايكرو شيب الإجمالية عن جميع المطالبات بأي شكل من الأشكال المتعلقة بالمعلومات أو استخدامها مبلغ الرسوم، إن وجدت، التي دفعتها مباشرة لشركة مايكرو شيب مقابل المعلومات.
إن استخدام أجهزة Microchip في تطبيقات دعم الحياة و/أو السلامة يكون على مسؤولية المشتري بالكامل، ويوافق المشتري على الدفاع عن Microchip وتعويضها وحمايتها من أي أضرار أو مطالبات أو دعاوى أو نفقات ناجمة عن مثل هذا الاستخدام. لا يتم نقل أي تراخيص، ضمناً أو بطريقة أخرى، بموجب أي حقوق ملكية فكرية لشركة Microchip ما لم يُنص على خلاف ذلك.
العلامات التجارية
اسم وشعار Microchip، شعار Microchip، Adaptec، AVR، شعار AVR، AVR Freaks، BesTime، BitCloud، CryptoMemory، CryptoRF، dsPIC، flexPWR، HELDO، IGLOO، JukeBlox، KeeLoq، Kleer، LANCheck، LinkMD، maxStylus، maXTouch، MediaLB، megaAVR، Microsemi، شعار Microsemi، MOST، MOST logo، MPLAB، OptoLyzer، PIC، picoPower، PICSTART، شعار PIC32، PolarFire، Prochip Designer، QTouch، SAM-BA، SenGenuity، SpyNIC، SST، SST Logo، SuperFlash، Symmetricom وSyncServer وTachyon وTimeSource وtinyAVR وUNI/O وVectron وXMEGA هي علامات تجارية مسجلة لشركة Microchip Technology Incorporated في الولايات المتحدة الأمريكية وبلدان أخرى.
AgileSwitch و APT و ClockWorks و Embedded Control Solutions Company و EtherSynch و Flashtec و Hyper Speed ​​Control و HyperLight Load و Libero و motorBench و mTouch و Powermite 3 و Precision Edge و ProASIC و ProASIC Plus و ProASIC Plus و Quiet- Wire و SmartFusion ، تعد SyncWorld و Temux و TimeCesium و TimeHub و TimePictra و TimeProvider و TrueTime و ZL علامات تجارية مسجلة لشركة Microchip Technology Incorporated في الولايات المتحدة الأمريكية
قمع المفتاح المجاور ، AKS ، التناظرية مقابل العصر الرقمي ، أي مكثف ، AnyIn ، AnyOut ، التبديل المعزز ، BlueSky ، BodyCom ، Clockstudio ، CodeGuard ، CryptoAuthentication ، CryptoAutomotive ، CryptoCompanion ، CryptoController ، dsPICDEM ، dsPICDEM ، DAM، ECAN، Espresso T1S، EtherGREEN، GridTime، IdealBridge، In-Circuit Serial Programming، ICSP، INICnet، Intelligent Paralleling، IntelliMOS، Inter-Chip Connectivity، JitterBlocker، Knob-on-Display، KoD، maxCrypto، maxView، memBrain، Mindi، MiWi، MPASM، MPF، شعار MPLAB المعتمد، MPLIB، MPLINK، MultiTRAK، NetDetach، إنشاء التعليمات البرمجية كلي العلم، PICDEM، PICDEM.net،
PICkit، PICtail، PowerSmart، PureSilicon، QMatrix، REAL ICE، Ripple Blocker، RTAX، RTG4، SAMICE، Serial Quad I/O، simpleMAP، SimpliPHY، SmartBuffer، SmartHLS، SMART-IS، storClad، SQI، SuperSwitcher،
SuperSwitcher II، Switchtec، SynchroPHY، Total Endurance، Trusted Time، TSHARC، USBCheck، VariSense، VectorBlox، VeriPHY، Viewتعد Span وWiperLock وXpressConnect وZENA علامات تجارية مملوكة لشركة Microchip Technology Incorporated
في الولايات المتحدة الأمريكية وبلدان أخرى.
SQTP هي علامة خدمة لشركة Microchip Technology Incorporated في الولايات المتحدة الأمريكية
يعد شعار Adaptec و Frequency on Demand و Silicon Storage Technology و Symmcom علامات تجارية مسجلة لشركة Microchip Technology Inc. في بلدان أخرى.
GestIC هي علامة تجارية مسجلة لشركة Microchip Technology Germany II GmbH & Co. KG، وهي شركة تابعة لشركة Microchip Technology Inc.، في بلدان أخرى.
جميع العلامات التجارية الأخرى المذكورة هنا هي ملك لشركاتها المعنية.
© 2023 شركة Microchip Technology Incorporated والشركات التابعة لها. كل الحقوق محفوظة.
ISBN: 978-1-6683-3694-6
نظام إدارة الجودة
للحصول على معلومات حول أنظمة إدارة الجودة الخاصة بشركة Microchip، يرجى زيارة www.microchip.com/quality.

الأمريكتين آسيا/المحيط الهادئ آسيا/المحيط الهادئ أوروبا
المكتب الرئيسي
2355 غرب تشاندلر الجادة.
تشاندلر ، AZ 85224-6199
هاتف: 480-792-7200
الفاكس: 480-792-7277
الدعم الفني:
www.microchip.com/support
Web عنوان:
www.microchip.com
أتلانتا
دولوث، جورجيا
هاتف: 678-957-9614
الفاكس: 678-957-1455
أوستن، تكساس
هاتف: 512-257-3370
بوسطن
ويستبورو، ماساتشوستس
هاتف: 774-760-0087
الفاكس: 774-760-0088
شيكاغو
إيتاسكا، إلينوي
هاتف: 630-285-0071
الفاكس: 630-285-0075
دالاس
أديسون، تكس
هاتف: 972-818-7423
الفاكس: 972-818-2924
ديترويت
نوفي، ميشيغان
هاتف: 248-848-4000
هيوستن، تكساس
هاتف: 281-894-5983
انديانابوليس
نوبليسفيل، إنديانا
هاتف: 317-773-8323
الفاكس: 317-773-5453
هاتف: 317-536-2380
لوس أنجلوس
ميشن فيجو، كاليفورنيا
هاتف: 949-462-9523
الفاكس: 949-462-9608
هاتف: 951-273-7800
رالي، كارولاينا الشمالية
هاتف: 919-844-7510
نيويورك، نيويورك
هاتف: 631-435-6000
سان خوسيه، كاليفورنيا
هاتف: 408-735-9110
هاتف: 408-436-4270
كندا – تورنتو
هاتف: 905-695-1980
الفاكس: 905-695-2078
أستراليا – سيدني
هاتف: 61-2-9868-6733
الصين – بكين
هاتف: 86-10-8569-7000
الصين - تشنغدو
هاتف: 86-28-8665-5511
الصين – تشونغتشينغ
هاتف: 86-23-8980-9588
الصين - دونغقوان
هاتف: 86-769-8702-9880
الصين – قوانغتشو
هاتف: 86-20-8755-8029
الصين - هانغتشو
هاتف: 86-571-8792-8115
الصين - منطقة هونغ كونغ الإدارية الخاصة
هاتف: 852-2943-5100
الصين - نانجينغ
هاتف: 86-25-8473-2460
الصين - تشينغداو
هاتف: 86-532-8502-7355
الصين – شنغهاي
هاتف: 86-21-3326-8000
الصين - شنيانغ
هاتف: 86-24-2334-2829
الصين - شنتشن
هاتف: 86-755-8864-2200
الصين - سوتشو
هاتف: 86-186-6233-1526
الصين - ووهان
هاتف: 86-27-5980-5300
الصين - زيان
هاتف: 86-29-8833-7252
الصين - شيامن
هاتف: 86-592-2388138
الصين - تشوهاى
هاتف: 86-756-3210040
الهند – بنغالور
هاتف: 91-80-3090-4444
الهند - نيودلهي
هاتف: 91-11-4160-8631
الهند - بيون
هاتف: 91-20-4121-0141
اليابان - أوساكا
هاتف: 81-6-6152-7160
اليابان – طوكيو
هاتف: 81-3-6880- 3770
كوريا - دايجو
هاتف: 82-53-744-4301
كوريا - سيول
هاتف: 82-2-554-7200
ماليزيا - كوالالمبور
هاتف: 60-3-7651-7906
ماليزيا - بينانج
هاتف: 60-4-227-8870
الفلبين – مانيلا
هاتف: 63-2-634-9065
سنغافورة
هاتف: 65-6334-8870
تايوان - هسين تشو
هاتف: 886-3-577-8366
تايوان - كاوشيونغ
هاتف: 886-7-213-7830
تايوان - تايبيه
هاتف: 886-2-2508-8600
تايلاند – بانكوك
هاتف: 66-2-694-1351
فيتنام - هوشي منه
هاتف: 84-28-5448-2100
النمسا - ويلز
هاتف: 43-7242-2244-39
الفاكس: 43-7242-2244-393
الدنمارك – كوبنهاجن
هاتف: 45-4485-5910
الفاكس: 45-4485-2829
فنلندا - إسبو
هاتف: 358-9-4520-820
فرنسا – باريس
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
ألمانيا – جارشينج
هاتف: 49-8931-9700
ألمانيا - هان
هاتف: 49-2129-3766400
ألمانيا – هايلبرون
هاتف: 49-7131-72400
ألمانيا - كارلسروه
هاتف: 49-721-625370
ألمانيا – ميونخ
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
ألمانيا – روزنهايم
هاتف: 49-8031-354-560
إسرائيل – رعنانا
هاتف: 972-9-744-7705
ايطاليا - ميلان
هاتف: 39-0331-742611
الفاكس: 39-0331-466781
إيطاليا - بادوفا
هاتف: 39-049-7625286
هولندا - Drunen
هاتف: 31-416-690399
الفاكس: 31-416-690340
النرويج - تروندهايم
هاتف: 47-72884388
بولندا – وارسو
هاتف: 48-22-3325737
رومانيا – بوخارست
Tel: 40-21-407-87-50
اسبانيا - مدريد
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
السويد - جوتنبرج
Tel: 46-31-704-60-40
السويد – ستوكهولم
هاتف: 46-8-5090-4654
المملكة المتحدة - ووكينغهام
هاتف: 44-118-921-5800
الفاكس: 44-118-921-5820

شعار MICROCHIP© 2023 Microchip Technology Inc. والشركات التابعة لها
DS50003627A –

المستندات / الموارد

برنامج مكتبة محاكاة MICROCHIP Libero SoC [بي دي اف] دليل المستخدم
DS50003627A، برنامج مكتبة محاكاة Libero SoC، برنامج مكتبة محاكاة SoC، برنامج مكتبة المحاكاة، برنامج المكتبة، البرنامج

مراجع

اترك تعليقا

لن يتم نشر عنوان بريدك الإلكتروني. تم وضع علامة على الحقول المطلوبة *