You are on page 1of 44

‫وزارة التعليم العالي‬

‫جامعة تشرين ‪ -‬طرطوس‬


‫كلية هندسة تكنولوجيا المعلومات واالتصاالت‬

‫‪FPGA‬‬
‫‪1‬‬
‫القسم العملي – المحاضرة الثانية‬
‫مقرر السنة الثالثة في كلية الهتما‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫محاور المحاضرة السابقة‬ ‫‪2‬‬

‫• لمحة عا ّمة عن برنامج ‪. QURTUS II‬‬


‫• البدء بإنشاء مشروع جديد‪.‬‬
‫• طرق ادخال التصميم‪.‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫محاور المحاضرة‬ ‫‪3‬‬

‫• المحاكاة باستخدام ‪.QURTUS II‬‬


‫• ترجمة التصميم ‪.Design Compilation‬‬
‫• مخطط أرجل الدارة ‪.Pins Planner‬‬
‫• مخطط الشريحة ‪.Chip Planner‬‬
‫• تحديد القيود الزمنية ‪.Timing Constraint‬‬
‫• محاكاة التصميم ‪Design Simulation‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫خطوات التصميم باستخدام ‪Quartus II‬‬ ‫‪4‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫المحاكاة باستخدام ‪QURTUS II‬‬ ‫‪5‬‬

‫• ترجمة التصميم ‪.Design Compilation‬‬


‫• مخطط أرجل الدارة ‪.Pins Plan‬‬
‫• مخطط الرقاقة ‪.Chip Layout‬‬
‫• تحديد القيود الزمنية ‪.Timing Constraint‬‬
‫• محاكاة التصميم ‪Design Simulation‬‬
‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬
‫الترجمة ‪Compilation‬‬ ‫‪6‬‬

‫• المترجم هو مجموعة من الوحدات‬


‫البرمجية التي تنفذ عملية الترجمة‪.‬‬
‫• الترجمة هي مجموعة من المراحل‬
‫المتتالية من المعالجة التي ينفذها المترجم‬
‫على ملفات التصميم لتعطي في نهاية‬
‫عملية المعالجة ملف أو أكثر لمحاكاة األداة‬
‫التي سوف يتم تطبيق التصميم عليها‬
‫وبرمجتها‪.‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫الترجمة ‪Compilation‬‬ ‫‪7‬‬

‫• تولد عملية الترجمة مجموعة من الملفات‬


‫الخاصة لربط التصميم مع البيئة لزوم‬
‫المحاكاة‪ .‬تسمى هذه الملفات بملفات الهرمية‬
‫‪ Hierarchy‬و المراجعة ‪.Revision‬‬
‫• كما تولد مجموعة من الملفات األخرى‬
‫الخاصة بمطابقة التصميم على الشريحة‬
‫القابلة للبرمجة‪ .‬تسمى هذه الملفات بملفات‬
‫التعيينات ‪ Assignments‬والقيود‬
‫‪.Constraints‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫بعض أنواع ملفات البيئة‬ ‫‪8‬‬
‫نوع الملف‬ ‫امتداد الملف‬
‫ملف تصميم بلغة ‪Verilog‬‬ ‫‪.v‬‬
‫ملف تصميم بلغة ‪VHDL‬‬ ‫‪.vhd‬‬
‫ملف تصميم نصي ‪ Text Design File‬بلغة ‪AHDL‬‬ ‫‪.tdf‬‬
‫‪Altera HDL‬‬
‫ملف تصميم كمخطط صندوقي ‪Block Design File‬‬ ‫‪.bdf‬‬
‫ملف تصميم بصيغة تبادل التصميم اإللكتروني ‪EDIF‬‬ ‫‪.edf‬‬
‫‪Electronic Design Interchange Format‬‬
‫ملف تصميم بصيغة مطابقة ‪ Quartus‬إلى ‪Verilog‬‬ ‫‪.vqm‬‬
‫‪Verilog Quartus Mapping‬‬
‫ملفات تقسيم التصميم مصدرة من البيئة‬ ‫‪.qxp‬‬
‫‪Quartus II Exported Partition Files‬‬
‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬
‫بعض أنواع ملفات البيئة‬ ‫‪9‬‬
‫نوع الملف‬ ‫امتداد الملف‬
‫ملف تصميم رموز صندوقية (وظيفية)‬ ‫‪.bsf‬‬
‫‪Block Symbol Design‬‬
‫ملف تصميم رموز ماكس بلس‬ ‫‪.sym‬‬
‫‪Max+Plus Symbol File‬‬
‫ملف إعدادات كوارتوس‬ ‫‪.qsf‬‬
‫‪Quartus II Settings File‬‬
‫ملف وصف سلسلة البرمجة‬ ‫‪.cdf‬‬
‫‪Chain Description File‬‬
‫ملف إعداد ‪SRAM‬‬ ‫‪.sof‬‬
‫‪SRAM Object File‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫أنواع ملفات البيئة‬ ‫‪10‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫أنواع ملفات البيئة‬ ‫‪11‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫أنواع ملفات البيئة‬ ‫‪12‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫أنواع ملفات البيئة‬ ‫‪13‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫أنواع ملفات البيئة‬ ‫‪14‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫أنواع ملفات البيئة‬ ‫‪15‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫أنواع ملفات البيئة‬ ‫‪16‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫إعدادات المترجم‬ ‫‪17‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫إعدادات المترجم‬ ‫‪18‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫مراحل الترجمة‬ ‫‪19‬‬

‫‪ .1‬التحليل والتركيب (االصطناع) ‪.Analysis and Synthesis‬‬


‫‪ .2‬مطابقة التركيب على الشريحة المختارة ‪.Fitting‬‬
‫‪ .3‬التجميع ‪.Assembling‬‬
‫‪ .4‬التحقق من الموثوقية ‪.Reliability‬‬
‫‪ .5‬التحليل الزمني ‪.Timing Analysis‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫التحليل والتركيب (االصطناع) ‪Analysis and Synthesis‬‬ ‫‪20‬‬

‫هي المرحلة التي تستخدم وحدات التحليل والتركيب من بيئة ‪ Quartus II‬لتنفيذ ما يلي‪:‬‬
‫• فحص ملفات التصميم والتأكد من خلوها من األخطاء‪.‬‬
‫• بناء قاعدة بيانات وحيدة المشروع التي تكامل بين جميع ملفات التصميم في هرمية التصميم‪.‬‬
‫• التركيب المنطقي للتصميم بحيث نحصل على تصميم ذو منطق أكثر اختزاال‪.‬‬
‫• تنفيذ مطابقة التصميم للتقنية وفقا لنوع الشرائح (‪ )CPLD-FPGA‬والموارد التي تقدمها‬
‫(كالعناصر المنطقية)‪.‬‬
‫تدعم هذه المرحلة لغات وصف العتاد الصلب ‪ VHDL, Verilog‬دعما شامال مع تأمين تفحص‬
‫قواعدي ‪ Syntax‬وداللي ‪ Semantic‬لملفات التصميم‪.‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫التحليل والتركيب (االصطناع) ‪Analysis and Synthesis‬‬ ‫‪21‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫مطابقة التركيب على الشريحة المختارة ‪Fitting‬‬ ‫‪22‬‬

‫• وهي المرحلة التي يتم فيها تحديد مطابقة (أي تحديد العناصر المنطقية التي ستستخدم‬
‫ومسارات الربط فيما بينها ‪ )Place And Route‬منطق التصميم على الشريحة القابلة‬
‫للبرمجة‪ .‬وتتم بعد التحليل والتركيب وتنفذ باستخدام وحدة تسمى المطابق ‪.Fitter‬‬

‫• يأخذ المطابق بعين االعتبار التعيينات والقيود التي يضعها المصمم ‪ ,‬ويعمل بشكل أوتوماتيكي‬
‫على إنقاص زمن الترجمة وذلك بحذف بعض خطوات التحسين اذا لم تكن ضرورية‪ ،‬لتحقيق‬
‫القيود الزمنية التي يفرضها المصمم‪.‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫إعدادات المطابق‬ ‫‪23‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫التجميع ‪Assembling‬‬ ‫‪24‬‬

‫• وهي المرحلة التي يتم فيها تحويل نتائج العمل الناجح المطابق على الشريحة‪ ،‬وعلى الخاليا‬
‫المنطقية‪ ،‬وعلى تعيينات األرجل‪ ،‬إلى صورة حاسوبية للشريحة المبرمجة وتكون بأحد‬
‫االمتدادات التالية‪:‬‬
‫)‪.Programmer Object Files (.pof‬‬ ‫•‬
‫)‪.SRAM Object Files (.sof‬‬ ‫•‬
‫)‪.Hexadecimal (Intel-Format) Output Files (.hexout‬‬ ‫•‬
‫)‪.Tabular Text Files (.ttf‬‬ ‫•‬
‫)‪.Raw Binary Files (.rbf‬‬ ‫•‬
‫• ينفذ المجمع ‪ Assembler‬هذه المرحلة‪ .‬وينتج نموذج عن النظام (الدارة) على الشريحة‪.‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫التحقق من الموثوقية ‪Reliability‬‬ ‫‪25‬‬

‫• وهي المرحلة التي يتم فيها التحقق من موثوقية التصميم (احتمال عدم تعطله) باالعتماد على‬
‫مجموعة من قوانين التصميم‪ .‬ويمكن تنفيذ هذه المرحلة بعد تنفيذ التحليل والتركيب أو بعد تنفيذ‬
‫المطابقة‪ .‬ينفذ مساعد التصميم ‪ Design Assistant‬هذه المرحلة‪.‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫التحليل الزمني ‪Timing Analysis‬‬ ‫‪26‬‬

‫• وهي المرحلة التي يتم فيها تحليل وتنقيح وشرعنة ‪ Validating‬األداء الزمني لكل الدارة‬
‫المنطقية للتصميم‪ .‬تنفذ هذه المرحلة بعد مراحل التحليل والتركيب والمطابقة‪ .‬ينفذ المحلل الزمني‬
‫التقليدي ‪ Classic‬أو محلل ‪ TimeQuest‬الزمني هذه المرحلة‪.‬‬
‫• كما يمكن تنفيذ تقدير زمني مبكر للحصول على معلومات أولية عن توقيت الدارة قبل اكتمال‬
‫مطابقتها‪.‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫تشغيل عملية الترجمة‬ ‫‪27‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫مهام التحليل والتركيب‬ ‫‪28‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫مهام المطابق‬ ‫‪29‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫مهام المجمع والتحليل الزمني الكالسيكي‬ ‫‪30‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫إعالم نهاية العمل‬ ‫‪31‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫رسائل الترجمة‬ ‫‪32‬‬

‫• تظهر في نهاية عملية الترجمة رسائل من البيئة ضمن نافذة الرسائل ‪ .Messages‬تظهر‬
‫الرسائل بألوان لتمييز أنواعها‪:‬‬
‫• رسائل الخطأ باللون األحمر وتحدد مكان وجود الخطأ ضمن ملفات التصميم‪ .‬والنقر المزدوج يؤدي إلى مكان‬
‫الخطأ‪.‬‬
‫• رسائل التحذير باللون األزرق‪.‬‬
‫• رسائل المعلومات باللون األخضر‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫تقرير الترجمة‬ ‫‪33‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫تقرير الترجمة‬ ‫‪34‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫تقرير الترجمة‬ ‫‪35‬‬

‫• يحتوي تقرير الترجمة على العديد من األقسام موضوعة في الئحة على الجانب األيسر‪ .‬يظهر‬
‫أن جزءا ً صغيرا ً من مصادر‬
‫قسم خالصة جريان الترجمة ‪ّ Compiler Flow Summary‬‬
‫الشريحة سوف تكفي لتطبيق الدارة المصممة على رقاقة ‪ FPGA‬المختارة‪.‬‬
‫• يحتوي تقرير التجميع على عدد كبير من المعلومات التي تهم المصمم ‪ .‬إنّه يشير إلى سرعة‬
‫الدارة المطبقة ‪.‬حيث ّ‬
‫أن أفضل قياس لهذه السرعة هو أكبر قيمة لتردد الساعة الذي يمكن أن‬
‫تعمل عليه الدارة ‪ ,‬والمشار اليه بـ ‪.fmax‬يدل هذا القياس على أطول تأخير لإلشارة في أي مسار‬
‫بين مسجلين تطبق عليهما نفس نبضات الساعة‪.‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫نتائج عملية الترجمة‬ ‫‪36‬‬

‫• بعد االنتهاء من عملية الترجمة يمكننا رؤية المخططات (البنية الداخلية للتصميم) التي ولدها‬
‫برنامج ‪ QURTUS II‬اعتمادا على ملف التصميم الذي تم إدخاله‪ .‬يتم ذلك عن طريق ‪Netlist‬‬
‫‪ .Viewers‬الذي يسمح بعرض شبكة الوصل بأكثر من طريقة عرض فريدة يحددها العارض‬
‫المستخدم‪.‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫عارض مستوى المسجالت ‪RTL‬‬ ‫‪37‬‬

‫• يعرض ‪ RTL Viewer‬مخطط التصميم‬


‫بعد التحليل والدراسة المعمقة واستخالص‬
‫شبكة الوصل ‪ ،NetList‬ولكن قبل‬
‫استمثاالت ‪ Optimization‬التركيب‬
‫والمطابقة ‪.‬وهي ليست البنية النهائية‬
‫للتصميم‪ ,‬ألنها ال تأخذ بعين االعتبار‬
‫جميع التحسينات المطلوبة في التصميم‪,‬‬
‫بحيث يكون هذا المخطط هو الصورة‬
‫األقرب لملف التصميم األصلي‪.‬‬
‫• النقر المزدوج على أي صندوق يبين بينته‬
‫الداخلية‪.‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫عارض مستوى المسجالت ‪RTL‬‬ ‫‪38‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫عارض تقنية التخطيط‬ ‫‪39‬‬

‫• يعرض عارض تقنية التخطيط ‪ Technology Map Viewer‬مستوى أدنى من مستوى‬


‫المسجالت ‪ ,‬فهو يظهر مخطط التصميم بعد عملية التحليل والتركيب على مستوى أدنى متعلق‬
‫بتقنية تنفيذ الشريحة (أو بعد المطابقة)‪.‬‬

‫• يمكن تحديد موقع كل عنصر ضمن المخطط وفق نفس األسلوب المتبع‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫عارض تقنية التخطيط‬ ‫‪40‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫عارض آلة األحوال‬ ‫‪41‬‬

‫• أما ‪ State Machine Viewer‬فهو يقدم مستوى عالي لمخطط الحالة للتصميم كما يقدم البنية‬
‫الداخلية لمخطط الحالة التي تضم تفاصيل أكثر عن األحوال والوصالت فيما بينها‪ ،‬كما يقدم‬
‫جدوالً يبين االنتقاالت بين الحاالت‪.‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫مخطط األرجل ‪Pin Planner‬‬ ‫‪42‬‬

‫• مخطط األرجل ‪ Pin Plan‬وهو عبارة عن تمثيل تخطيطي لتموضع أرجل الشريحة المختارة‬
‫التي سيطبق عليها التصميم ‪ ,‬حيث يقوم المطابق بتحديد المداخل والمخارج للتصميم على مخطط‬
‫األرجل‪ ,‬كما ويستطيع المصمم بعد إنجاز عملية الترجمة تغيير أماكن المداخل والمخارج على‬
‫األداة ‪.‬‬
‫• عبر مخطط األرجل يمكن مشاهدة ما يأتي‪:‬‬
‫• بنك المداخل‪/‬المخارج (‪ :)I/O Banks‬تقسم مداخل ومخارج الشريحة إلى عدد من المجموعات تسمى ‪I/O‬‬
‫‪( Banks‬كل لون يمثل بنك) بحيث يكون لجميع المداخل والمخارج في كل بنك نفس قيمة جهد التغذية والجهد‬
‫المرجعي‪.‬‬
‫• مجموعات الجهد المرجعي )‪ :)VERF Group‬كل بنك من المداخل والمخارج مع الجهد المرجعي المرتبطة‬
‫به تسمى مجموعة (‪.)VREF‬‬
‫• الحواف (‪ :)Edges‬وهي المداخل والمخارج المرتبطة بكل حافة من حواف الرقاقة األربعة ‪.‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫مخطط األرجل ‪Pin Planner‬‬ ‫‪43‬‬

‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬


‫مخطط الرقاقة ‪Chip Planner‬‬ ‫‪44‬‬

‫• يقدم مخطط الشريحة مخططا ً مرئيا ً لموارد الشريحة‪ .‬بحيث يمكن رؤية العناصر المنطقية‬
‫المنتمية للتصميم‪ ,‬ومعلومات التوجيه المفصلة‪ ,‬والتفريعات من والى كل عنصر منطقي (‪fan-‬‬
‫‪ ,)ins and fan-outs‬والمسارات بين المسجالت‪ .‬إضافة إلى تخمين التأخيرات الزمنية‬
‫للمسارات‪ ,‬وإلى معلومات عن المسار الحرج‪ ,‬وتخمين األزمنة التي سوف تتحقق على الرقاقة‬
‫الفيزيائية‪ ,‬وازدحام التوجيه ‪.‬‬
‫• عالوة على ذلك فإن مخطط الرقاقة يوفر أدوات توفر للمصمم المرونة والسهولة في تحرير‬
‫موارد الرقاقة المستخدمة في التصميم ‪,‬وهي‬
‫• تجزئة التصميم (‪. )Design Partitions‬‬
‫• قفل المنطق (‪.)logicLock‬‬
‫الفصل الدراسي الثاني ‪2015-2014‬‬ ‫‪ 29‬تشرين األول‪18 ،‬‬

You might also like