قائمة طعام
مجاني
التسجيل
الصفحة الرئيسية  /  البرامج الثابتة/ مشروع صغير على FPGA. FPGA

مشروع FPGA صغير. FPGA

FPGA (الدائرة المتكاملة المنطقية القابلة للبرمجة) هي دائرة متكاملة مصممة لبناء دوائر رقمية من وصف بلغة برمجة خاصة. بمعنى آخر ، FPGA عبارة عن شريحة ، كما كانت ، تحتوي على مجموعة من العناصر مثل 74HCxx. أي نوع من العناصر المنطقية ستكون ، وما هي الاتصالات التي ستكون بينها ، وما هي الروابط التي ستكون لها الدائرة الناتجة مع العالم الخارجي ، يتم تحديدها في مرحلة برمجة FPGA.

ملحوظة:بقدر ما استطعت أن أكتشف ، في روسيا اليوم ، تعتبر المصطلحات FPGA و FPGA (مصفوفة البوابة القابلة للبرمجة الميدانية ، مصفوفة البوابة القابلة للبرمجة من قبل المستخدم) قابلة للتبديل ، والتي سيتم استخدامها بشكل أكبر في النص. ومع ذلك ، يجدر معرفة وجود وجهة نظر بديلة ، والتي وفقًا لها FPGA (FPGA) هي أحد أنواع FPGA (PLD ، جهاز المنطق القابل للبرمجة).

أساسيات FPGA

لبرمجة FPGA ، يتم استخدام لغات وصف الأجهزة (HDL ، لغة وصف الأجهزة). من بينها ، الأكثر شعبية هي Verilog (ولهجاتها ، ولا سيما SystemVerilog) ، وكذلك VHDL. تتشابه اللغات من نواحٍ عديدة ، لكن لها صيغ مختلفة وتختلف في بعض التفاصيل. إذا كانت Verilog عبارة عن C في عالم وصف الأجهزة ، فإن VHDL هي ، على التوالي ، Pascal. بقدر ما أعرف ، فإن VHDL أقل شيوعًا إلى حد ما ، ويرجع ذلك جزئيًا إلى الإسهاب مقارنة بـ Verilog. من مزايا VHDL (أو عيوبه ، مثل أي شخص) يمكن أن يسمى صارمكتابة ثابتة. يسمح Verilog أحيانًا بالتحويلات الضمنية. استمرارًا للتماثل مع C و Pascal ، لا تختلف اللغات كثيرًا بحيث لا يمكنك تعلم كل منهما.

حاليًا ، الشركات المصنعة الرائدة في تصنيع FPGA هي Altera (المملوكة الآن لشركة Intel) و Xilinx. وفقًا للمعلومات الواردة من مصادر مختلفة ، فإنهم معًا يسيطرون على 80 ٪ على الأقل من السوق. اللاعبون الآخرون الجديرون بالملاحظة هم Actel (حصل عليها Microsemi) و Lattice Semiconductor و Quicklogic و SiliconBlue. يمكنك العمل مع أجهزة Xilinx فقط من بيئة تطوير Xilinx (تسمى Vivado) ، وبيئة تطوير Altra (تسمى Quartus) لا تفهم سوى أجهزة Altera. أي ، قفل البائع الكامل ، واختيار FPGA محدد لمشروعك ، فإنك تحدد تلقائيًا أدوات التطوير الخاصة بالشركة المصنعة المقابلة ، ودعمها الفني ، والوثائق ، وشروط ترخيص البرامج ، والسياسة المتعلقة بإنهاء دعم الأجهزة ، وما إلى ذلك. .

غالبًا ما تُستخدم FPGA في المهام التي تريد فيها تسريع بعض العمليات الحسابية بشكل كبير من خلال تنفيذها مباشرة في الجهاز. على سبيل المثال ، تُستخدم FPGAs على نطاق واسع في معالجة الإشارات ، مثل راسمات الذبذبات ، ومحللات الطيف ، والمحللات المنطقية ، ومولدات الإشارة ، والراديو المحدد بالبرمجيات ، وحتى بعض الشاشات. على وجه الخصوص ، يستخدم LimeSDR Altera Cyclone IV ، ويستخدم Rigol DS1054Z راسم الذبذبات Xilinx Spartan-6 ، وكذلك ProASIC 3 من Actel. تشمل التطبيقات الأخرى التي سمعت عنها رؤية الكمبيوتر والتعرف على الكلام والمعلوماتية الحيوية. هناك مشاريع أخرى ، على وجه الخصوص ، على تطوير خوادم الويب و DBMS التي تعمل على FPGA. لكن على حد علمي ، لا يزال هذا الاتجاه تجريبيًا للغاية.

Xilinx أو Altera؟

كما يقول المثل ، فإن أفضل نظام Linux هو الذي يستخدمه خبير Linux المألوف لديك.

نصحني صديقي ، Dmitry Oleksyuk ، معلم FPGA ، بالبدء بـ Arty Artix-7 devboard من Digilent. FPGA المستخدم فيه هو Artix-7 من Xilinx. لا تشحن Digilent نفسها إلى روسيا ، ولكن الجهاز متاح أيضًا على AliExpress ، وإن كان ذلك بترميز ملحوظ (السعر الرسمي هو 99 دولارًا). يباع أيضًا على موقع eBay. هذا مجلس قوي إلى حد ما ، لكنه مع ذلك يكلف أموالًا كافية.

حقيقة ممتعة!إذا كنت ترغب فقط في البرمجة في Verilog أو VHDL ، بالمعنى الدقيق للكلمة ، فلن تحتاج إلى شراء أي لوحة FPGA. في البداية ، يمكنك قصر نفسك على جهاز محاكاة ، ستتم مناقشة العمل معه لاحقًا.

ميزة مثيرة للاهتمام في اللوحة هي ترتيب الفتحات بطريقة متوافقة مع دروع Arduino. يوجد أيضًا في اللوحة ملحق ، يمكنك من خلاله الحصول على ترخيص لـ Vivado ، والذي يفتح جميع إمكانياته. الترخيص صالح لمدة عام واحد من تاريخ التنشيط ، وهو مرتبط أيضًا بجهاز كمبيوتر واحد حسب نوع نظام التشغيل وعنوان MAC.

عند التسليم. لقد سمعت أن الأجهزة التي تحتوي على FPGAs على متنها لديها فرصة جيدة لعدم تخليص الجمارك. يسلم المتجر الموجود على AliExpress ، الرابط الذي قدمته أعلاه ، لوحات إلى روسيا من خلال خدمة البريد السريع SPSR. للمرور عبر الجمارك ، كان من الضروري ملء نموذج عبر الإنترنت ببيانات جواز السفر (بيانات فقط ، بدون صورة) ورقم هاتف جهة اتصال ، كما هو مطلوب بموجب التشريع الروسي الحالي. بعد ذلك ، تم تسليم اللوحة عن طريق البريد مباشرة إلى الباب دون أي أسئلة.

تثبيت Vivado

بيئة تطوير Vivado متاحة للتنزيل على موقع Xilinx الإلكتروني. كن مستعدًا عقليًا لحقيقة أنه قبل التنزيل ، سيتعين عليك التسجيل وملء نموذج مفصل إلى حد ما عن نفسك. قم بتنزيل الأرشيف المسمى "Vivado HLx 2017.2: تنزيل ملف واحد لأداة تثبيت جميع أنظمة التشغيل". لا تخلط بينه وبين أي من "حلول مختبر Vivado" ، فهذا ليس ما تحتاجه على الإطلاق. يزن الأرشيف أكثر من 20 غيغابايت ، لذلك نحتاج إلى التحلي بالصبر.

قم بفك ضغط الأرشيف وتشغيل المثبت. قم بتثبيت Vivado HL System Edition. سوف تستهلك نسخته الكاملة 47 جيجا بايت من مساحة القرص. أنا شخصياً ألغيت تحديد مجموعة أدوات تطوير البرامج وتركت الدعم لأجهزة السلسلة 7 فقط ، مما قلل الحجم إلى 12 جيجابايت. المضي قدمًا قليلاً ، سألاحظ أن هذا التكوين تبين أنه كافٍ تمامًا.

قبل إطلاق Vivado ، تحتاج إلى إضافة دعم لـ Arty Artix-7 إليه ، لأنه لا يعرف أي شيء عن هذه اللوحة خارج الصندوق. يتم ذلك بطريقة ما مثل هذا:

cd ~ / opt / xilinx / Vivado / 2017.2 / data / board_files
wget https: // github.com/ Digilent / vivado -boards / archive / master.zip
بفك ضغط master.zip
mv vivado -boards-master / new / board_files / * ./
rm -r vivado-board- ماجستير
rm master.zip

نقوم أيضًا بتنزيل ملف Arty_Master.xdc وحفظه في مكان ما. سنحتاجه أكثر. يحتوي الملف على وصف لمصابيح LED الموجودة على اللوحة والمفاتيح وما إلى ذلك. بدونها ، لن يكون وميض مصابيح LED على Verilog أمرًا سهلاً.

أول مشروع على SystemVerilog

في Vivado ، نقول File → New Project ... حدد RTL Project كنوع المشروع ، حدد خانة الاختيار عدم تحديد المصادر في هذا الوقت. في مربع حوار تحديد نوع اللوحة ، ابحث عن Arty في القائمة.

بادئ ذي بدء ، أضف ملف XDC الذي تم تنزيله مسبقًا إلى المشروع. انسخه إلى دليل المشروع. ثم نقول ملف ← إضافة مصادر ... ← إضافة أو إنشاء قيود ← إضافة ملفات ، ابحث عن نسخة من الملف ، انقر فوق إنهاء. سيظهر الملف Arty_Master.xdc ، أو أيًا كان ما قمت بتسميته بالنسخة ، في شجرة ملفات المشروع (المصادر) في مجموعة القيود. افتحه وقم بإلغاء التعليق على جميع الخطوط الموجودة في مجموعات إشارة الساعة والمفاتيح ومصابيح LED.

ثم نقول ملف ← إضافة مصادر ... ← إضافة أو إنشاء مصادر تصميم ← إنشاء ملف. في نوع الملف ، حدد SystemVerilog ، في اسم الملف ، أدخل شيئًا مثل مرحبًا. نقول إنهاء. بعد ذلك ، سيظهر مربع حوار تعريف الوحدة النمطية ، والذي سيعرض عليك النقر فوق واجهة الوحدة النمطية. مربع الحوار عديم الفائدة إلى حد كبير ، لأنه من الأنسب أن تفعل الشيء نفسه في الكود ، لذا انقر فوق إلغاء.

ابحث عن ملف جديد hello.sv في شجرة المصدر ، سيكون في مجموعة Design Sources. افتح واكتب الكود التالي:

`مقياس الوقت 1ns / 1ps

وحدة مرحبا (
منطق الإدخال CLK100MHZ ،
منطق الإدخال [3: 0] sw ،
أدى منطق الإخراج [3: 0]
) ;

دائما @ (posedge CLK100MHZ)
يبدأ
إذا (sw [0] == 0)
يبدأ
قاد<= 4"b0001 ;
نهاية
آخر
يبدأ
قاد<= 4"b0000 ;
نهاية
نهاية

الوحدة النهائية

إذا تم تنفيذ كل شيء بشكل صحيح ، فسيبدو Vivado في هذه المرحلة كما يلي (قابل للنقر ، PNG ، 71 كيلوبايت):

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

لنقم بتشغيل التجميع بالقول Flow → Run Synthesis ، أو ببساطة عن طريق الضغط على F11. في الزاوية اليمنى العليا سترى إشارة إلى أن العملية قيد التقدم. قد يستغرق الأمر وقتًا طويلاً ، اعتمادًا على جهاز الكمبيوتر الخاص بك ومدى تعقيد البرنامج. على الكمبيوتر المحمول الخاص بي ، اكتمل تركيب البرنامج أعلاه في حوالي 10 ثوانٍ.إذا قلنا الآن Flow → Open Synthesized Design ، فيمكنك رؤية صورة جميلة مثل هذه:

حان الوقت لميض مجلسنا. نقول Flow → Run Imlementation ، ثم Flow → Generate Bitstream. نقوم بتوصيل اللوحة بالكمبيوتر عبر USB ، في Vivado نقول Flow → Open Hardware Manager → Open target → Auto Connect → Program device. سوف تحتاج إلى تحديد المسار إلى ملف بت. لقد كان على النحو التالي:

./first-project.runs/impl_1/hello.bit

نقول البرنامج. يكون مؤشر LD4 على اللوحة قيد التشغيل الآن إذا كان مفتاح SW0 ​​معطلاً (انظر صورة اللوحة أعلاه). إذا كان المفتاح في وضع التشغيل ، فإن مؤشر LED مطفأ. بسيط بالطبع ولكن هذا "مرحبًا ، أيها العالم" ، ماذا توقعت؟ :)

محاكاة

المحاكاة هي التنفيذ الافتراضي لرمز Verilog أو VHDL مباشرة على جهاز الكمبيوتر الخاص بك ، دون أي FPGA. إنها أداة تصحيح الأخطاء ونوع من إطار العمل لتغطية الكود بالاختبارات.

عندما تعرفت على المحاكاة ، أول ما اكتشفته هو أنها لم تنجح معي. كانت السجلات بسيطة:

خطأ: فشل تجميع ملف C الذي تم إنشاؤه [...] xsim_1.c.

وجدت Google في هذا الخطأ كل أنواع الهراء فقط بأسلوب "حاول تعطيل برنامج مكافحة الفيروسات". في النهاية ، ساعدت إضافة العلامة -v 2 إلى البرنامج النصي ~ / opt / xilinx / Vivado / 2017.2 / bin / xelab في حل المشكلة. بمساعدتها ، اكتشفت أن Clang ، الثنائي الذي يقطعه Vivado ، يتعطل بسبب الخطأ التالي:

/ a / long / path / to / clang: خطأ أثناء تحميل المكتبات المشتركة:
libncurses.so.5: لا يمكن فتح ملف كائن مشترك: لا يوجد مثل هذا الملف أو
الدليل

وقد تم بالفعل وصف هذا الخطأ وحلها في Arch Wiki. أنا شخصياً قمت بنسخ ملف موجود بالفعل من دليل Vivado_HLS:

cp ~ / opt / xilinx / Vivado_HLS / 2017.2 / lnx64 / tools / gdb_v7_2 / libncurses.so.5 \
~ / opt / xilinx / Vivado / 2017.2 / lib / lnx64.o / libncurses.so.5

... وبعد ذلك عمل كل شيء. الآن ، في الواقع ، مثال على المحاكاة.

على غرار الطريقة التي أنشأنا بها hello.sv سابقًا ، قم بإنشاء ملف جديد hello_sim.sv في مجموعة مصادر المحاكاة. نكتب الكود التالي في الملف:

`مقياس الوقت 1ns / 1ps

وحدة hello_sim () ،
المنطق clck_t؛
منطق [3: 0] sw_t؛
المنطق [3: 0] led_t؛

مرحبًا hello_t (clck_t، sw_t، led_t) ؛

البداية الأولية
clck_t<= 0 ;
sw_t<= 4"b0000 ; # 1 ; clck_t <= 1 ; # 1 ; clck_t <= 0 ; # 1 ;
تأكيد (led_t === 4 "b0001) ؛

Sw_t<= 4"b0001 ; # 1 ; clck_t <= 1 ; # 1 ; clck_t <= 0 ; # 1 ;
تأكيد (led_t === 4 "b0000) ؛
نهاية

الوحدة النهائية

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

الآن نقول Flow → Run Simulation → Run Behavioral Simulation. نتيجة لذلك ، سترى شيئًا كهذا:

يمكنك أن ترى أنه عندما تكون قيمة sw صفر ، فإن led تكون واحدة والعكس صحيح. في هذه الحالة ، تحدث جميع التغييرات على حافة إشارة الساعة. يبدو أن البرنامج يعمل بشكل صحيح. حسنًا ، لم يسقط أي شيء على التأكيدات ، والتي يبدو أنها تلمح.

استنتاج

يمكن تنزيل أرشيف المشروع الموصوف أعلاه. أوصي بما يلي كمصادر إضافية للمعلومات:

  • إذا كنت مهتمًا بتفاصيل الأجهزة ، فاحرص على الانتباه إلى

تخيل أن المعالج ، بدلاً من تنفيذ مجموعة من التعليمات ، سيعيد بناء كل برنامج ويحول الخوارزمية مباشرة إلى جهاز. هذه هي الطريقة التي تعمل بها FPGA! في هذه المقالة ، سأشرح كيف يكون ذلك ممكنًا وأقدم لك طرقًا مختلفة لتصميم FPGA.

ربما تعرف كيفية اختراق الأجهزة الموجودة على الجانب الآخر من العالم أو كتابة تعليمات برمجية لتطبيقات الويب الرائعة ، لكن هل تفهم كيفية عمل جهاز الكمبيوتر الخاص بك؟ ولا يتعلق الأمر بما يفعله نظام التشغيل ، أو كيفية عمل جامع القمامة في Java ، أو كيفية عمل مترجم C ++. أنا أتحدث عن المُجمّع الأدنى ، مستوى الأجهزة ، أسفل المُجمّع: كيف تعمل الأجهزة.

ماذا يحدث لشريحة NIC عند وصول حزمة Ethernet؟ كيف يتم نقل هذه الحزمة إلى ذاكرة الوصول العشوائي للكمبيوتر عبر ناقل PCI Express؟ كيف تعمل أسرع أنظمة التعرف على صور الأجهزة؟

للإجابة على هذه الأسئلة ، تحتاج إلى فهم القليل عن المنطق الرقمي لـ ASICs ، ولكن البدء بها صعب للغاية ومكلف ، ومن الأفضل البدء بـ FPGAs بدلاً من ذلك.

معلومات

يرمز FPGA إلى مصفوفة بوابة قابلة للبرمجة في المجال ، باللغة الروسية - مصفوفات البوابة القابلة للبرمجة ، FPGA. بشكل عام ، يطلق عليهم FPGAs - دوائر متكاملة منطقية قابلة للبرمجة.

باستخدام FPGAs ، يمكنك تصميم دوائر دقيقة رقمية حرفيًا أثناء الجلوس في المنزل مع لوحة تصحيح الأخطاء المتوفرة على مكتبك وبرنامج مطور مقابل بضعة كيلوغرامات. ومع ذلك ، هناك خيارات مجانية أيضًا. ملاحظة: بالضبط للتصميم ، وليس للبرمجة ، لأن الإخراج عبارة عن دائرة رقمية فعلية تؤدي خوارزمية معينة على مستوى الأجهزة ، وليس برنامجًا للمعالج.

يعمل مثل هذا. يوجد PCB جاهز مع مجموعة من الواجهات المتصلة بشريحة FPGA مثبتة على اللوحة ، مثل لوحة باردة لمركز بيانات أو لوحة تصحيح للتدريب.

حتى نقوم بتكوين FPGA ، لا يوجد منطق داخل الدائرة المصغرة لمعالجة البيانات من الواجهات ، وبالتالي لن يعمل أي شيء بشكل واضح. ولكن نتيجة للتصميم ، سيتم إنشاء برنامج ثابت ، والذي ، بعد تحميله في FPGA ، سيخلق الدائرة الرقمية التي نحتاجها. على سبيل المثال ، يمكنك إنشاء وحدة تحكم 100G Ethernet ستتلقى حزم الشبكة وتعالجها.

ميزة مهمة لـ FPGAs هي القدرة على إعادة التكوين. نحتاج اليوم إلى وحدة تحكم 100G Ethernet ، وغدًا يمكن استخدام نفس اللوحة لتنفيذ أربع واجهات مستقلة لشبكة 25G Ethernet.

هناك شركتان رئيسيتان لشرائح FPGA ، وهما Xilinx و Intel ، اللتان تتحكمان في 58٪ و 42٪ من السوق ، على التوالي. اخترع مؤسسو Xilinx أول شريحة FPGA في عام 1985. دخلت Intel السوق مؤخرًا في عام 2015 من خلال الاستحواذ على Altera ، التي تأسست في نفس الوقت مع Xilinx. تقنيات Xilinx و Altera متشابهة جدًا ، مثل بيئات التطوير. لقد عملت مع منتجات Xilinx في كثير من الأحيان ، لذلك لا تتفاجأ من ذكرها باستمرار.

تنفيذ المشروع على FPGA

بعد عمل الدائرة المنطقية باستخدام النمذجة الوظيفية ، من الضروري وضعها على الشريحة. ثم قم بمحاكاة الدائرة بناءً على الكمون الفعلي للعناصر التي تم الحصول عليها بعد وضع الدائرة على شريحة. إذا لزم الأمر ، قم بتصحيح الحلول المستلمة. بعد ذلك ، يتم تحميل الدائرة في FPGA واختبارها على الحامل.

أرز. 82.مراحل تصميم جهاز رقمي على FPGA

المراحل الرئيسية للتصميم على FPGA (من المحاضرات):

    تم تطوير مخطط الجهاز وإدخاله في XILINX.

    يتم تنفيذه عن طريق التنفيذ (الترجمة ، تكوين المخطط عن طريق استخراج عناصر المكتبة ، التحسين ، التنسيب على الرقاقة).

    برمجة.

  1. الذاكرة الترابطية. التنظيم ، طريقة أخذ العينات ، الاختلافات عن ذاكرة العنوان.

الوصول النقابيتنفذ البحث عن المعلومات من خلال بعض السمات ، وليس من خلال موقعها في الذاكرة (العنوان أو المكان في قائمة الانتظار). في الإصدار الأكثر اكتمالاً ، يتم فحص جميع الكلمات المخزنة في الذاكرة في وقت واحد للتأكد من توافقها مع السمة ، على سبيل المثال ، لمصادفة حقول كلمات معينة (العلامات - من علامة الكلمة الإنجليزية) مع السمة المحددة بواسطة كلمة الإدخال (عنوان العلامة ). يتم إعطاء المخرجات الكلمات التي تفي بالمعيار. قد يختلف نظام إصدار الكلمات ، إذا كانت هناك عدة كلمات تفي بالعلامة ، وكذلك نظام كتابة البيانات الجديدة. المجال الرئيسي لتطبيق الذاكرة النقابية في أجهزة الكمبيوتر الحديثة هو تخزين البيانات.

في أجهزة التخزين الترابطية ، يتم البحث عن المعلومات من خلال ميزة ترابطية مسجلة في كل خلية ذاكرة.

تتم كتابة كلمة في سجل القناع الذي يسمح بالاستعلام عن كل أو بعض أجزاء السمة الترابطية فقط ، ويسمح لك استخدام القناع بتقصير منطقة البحث أو توسيعها.

يتم إجراء البحث عن المعلومات بالتوازي عبر جميع الخلايا من خلال مقارنة الطلب بالسمة الترابطية لكل خلية.

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

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

يتم إجراء فحص البت المشغول عن طريق ضبط البتة n (بت مشغول) للقناع. عند استخدام دوائر توافقية إضافية في الذاكرة الترابطية ، يمكنك إجراء العديد من العمليات المنطقية ، وتحديد الحد الأقصى أو الحد الأدنى للعدد ، وعدد الكلمات التي لها نفس السمة الترابطية ، وما إلى ذلك. يجب أن تكون خلايا الذاكرة للذاكرة الترابطية عناصر ذاكرة ثابتة ، في الذاكرة الترابطية ، يتم الوصول إلى جميع الخلايا في وقت واحد ويجب ألا تنقطع عن طريق دورات التجديد. الذاكرة الترابطية هي الأسرع ، لكنها باهظة الثمن ، لأنها تتطلب إدخال مخطط مقارنة إضافي يسمح لك بإجراء بحث عن كل خلية ذاكرة. لذلك ، عادةً لا يتم استخدام هذه الذاكرة في شكلها النقي ، وعادةً ما يتم تنفيذ أجهزة الذاكرة عالية السرعة مثل ذاكرة التخزين المؤقت على أنها ترابطية جزئيًا.

الخامسترابطي بالكامل الذاكرة المؤقتة (FACM ، ذاكرة التخزين المؤقت المرتبطة بالكامل) ، تقوم كل خلية بتخزين البيانات ، وفي حقل "العلامة" - العنوان الفعلي الكامل للمعلومات ، يتم تسجيل نسخة منه. في أي تبادل ، تتم مقارنة العنوان الفعلي للمعلومات المطلوبة بحقول "العلامة" لجميع الخلايا ، وإذا كانت متطابقة ، يتم تعيين إشارة الضربة في أي خلية.

عند القراءة وقيمة الإشارة Hit = 1 ، يتم إرسال البيانات إلى ناقل البيانات ، إذا لم تكن هناك مطابقات (Hit = 0) ، ثم عند القراءة من الذاكرة الرئيسية ، يتم وضع البيانات جنبًا إلى جنب مع العنوان في free أو أحدث خلية ذاكرة تخزين مؤقت غير مستخدمة.

عند كتابة البيانات ، مع العنوان ، أولاً ، كقاعدة عامة ، يتم وضعها في ذاكرة التخزين المؤقت (في الخلية المكتشفة عند Hit = 1 ومجانية عند Hit = 0). يتم إجراء نسخ البيانات إلى الذاكرة الرئيسية تحت سيطرة وحدة تحكم خاصة في حالة عدم وجود وصول للذاكرة.

تعد ذاكرة FACM جهازًا معقدًا للغاية ولا تستخدم إلا للسعات الصغيرة ، خاصة في التطبيقات الخاصة. في الوقت نفسه ، يوفر هذا النوع من ذاكرة التخزين المؤقت أكبر مرونة وظيفية وعناوين خالية من التعارض ، حيث يمكن تحميل أي وحدة معلومات في أي خلية من ذاكرة التخزين المؤقت.

من المحاضرات:

أجهزة التخزين النقابي

الاختلاف الأساسي هو أن نظام استرجاع المعلومات منها لا يتم وفق عنوان فريد للعثور على المعلومات ، ولكن وفقًا لبعض السمات ، والتي هي في الواقع جزء من المعلومات المطلوبة.

معلومة

العلامة هي سمة مميزة ، عن طريق الصدفة التي يحصل بها جزء من المعلومات.

مخطط مبسط للذاكرة الترابطية:

منطقة التخزين عبارة عن ذاكرة قابلة للعنونة بها خلايا مرقمة تخزن المعلومات والعلامات.

للوصول إلى الذاكرة الترابطية ، يتم وضع عينة من العلامة المطلوبة في سجل الطلبات. يقارن مخطط المقارنة الاستعلام. قم بتعيين تطابق في سجل المباراة حيث تطابق العلامة من الذاكرة النمط. ردود الفعل ممكنة (لا توجد مطابقات ؛ هناك تطابق واحد على الأقل - في هذه الحالة ، يتم وضع الخلية التي تم العثور عليها في سجل البيانات ؛ تطابق متعدد - يجب أن تقرر CC أي الخلايا ستحصل عليها للمعالجة).

التطبيق: DB ، قاعدة المعرفة ، الكمبيوتر كذاكرة تخزين مؤقت.

65 نانومتر هو الهدف القادم لمصنع "أنجسترم تي" في زيلينوجراد ، والذي سيكلف 300-350 مليون يورو. قدمت المؤسسة بالفعل طلبًا للحصول على قرض ميسر لتحديث تقنيات الإنتاج إلى Vnesheconombank (VEB) ، وفقًا لما ذكرته Vedomosti هذا الأسبوع بالإشارة إلى ليونيد ريمان ، رئيس مجلس إدارة المصنع. الآن "Angstrem-T" تستعد لإطلاق خط إنتاج للدوائر الدقيقة بطوبولوجيا 90 نانومتر. ستبدأ مدفوعات قرض VEB السابق ، الذي تم شراؤه من أجله ، في منتصف عام 2017.

بكين تنهار وول ستريت

شهدت المؤشرات الأمريكية الرئيسية الأيام الأولى من العام الجديد بانخفاض قياسي ، وقد حذر الملياردير جورج سوروس بالفعل من أن العالم يتوقع تكرار أزمة عام 2008.

تم إطلاق أول معالج استهلاكي روسي Baikal-T1 بسعر 60 دولارًا في الإنتاج الضخم

وعدت شركة "بايكال إلكترونيكس" في أوائل عام 2016 بإطلاق المعالج الروسي Baikal-T1 في الإنتاج الصناعي بقيمة 60 دولارًا تقريبًا. يقول المشاركون في السوق إن الأجهزة ستكون مطلوبة إذا تم إنشاء هذا الطلب من قبل الدولة.

ستقوم MTS و Ericsson بتطوير وتنفيذ 5G بشكل مشترك في روسيا

وقعت شركة Mobile TeleSystems PJSC و Ericsson اتفاقية للتعاون في تطوير وتنفيذ تكنولوجيا 5G في روسيا. في المشاريع التجريبية ، بما في ذلك خلال كأس العالم 2018 ، تعتزم MTS اختبار تطورات البائع السويدي. في بداية العام المقبل ، سيبدأ المشغل حوارًا مع وزارة الاتصالات والإعلام حول تشكيل المتطلبات الفنية للجيل الخامس من الاتصالات المتنقلة.

سيرجي تشيميزوف: Rostec هي بالفعل واحدة من أكبر عشر شركات لبناء الآلات في العالم

في مقابلة مع RBC ، أجاب رئيس Rostec ، سيرجي تشيميزوف ، على أسئلة حادة: حول نظام Platon ، وتحدث عن مشاكل وآفاق AVTOVAZ ، ومصالح شركة State Corporation في صناعة الأدوية ، عن التعاون الدولي في مواجهة العقوبات الضغط ، وإحلال الواردات ، وإعادة التنظيم ، واستراتيجيات التنمية والفرص الجديدة في الأوقات الصعبة.

Rostec "تحمي نفسها" وتتعدى على أمجاد Samsung و General Electric

وافق مجلس الإشراف Rostec على "استراتيجية التنمية حتى عام 2025". وتتمثل الأهداف الرئيسية في زيادة حصة المنتجات المدنية عالية التقنية واللحاق بركب جنرال إلكتريك وسامسونج في المؤشرات المالية الرئيسية.

تحاول المقالة تحديد تكوين الوثائق المصاحبة للوحدات الرقمية المطورة للدوائر المتكاملة المنطقية القابلة للبرمجة (FPGA). يجب توفير هذه الوثائق المصاحبة من قبل المطورين للمستهلك / العميل من أجل الاستخدام الإضافي الناجح للوحدة الرقمية المطورة في مشاريعهم في مرحلة تصميم الأجهزة الرقمية على أساس FPGAs.

مقدمة

لذا ، ما نوع وثائق التصميم التي يجب أن تُسأل من المطور ، إذا كانت الشركة أو مؤسسة العميل أو مطور آخر سيستخدم لاحقًا جهازًا مطورًا "أجنبيًا" في مشاريعهم؟ يمكن أن تكون هذه المقالة بمثابة "ورقة غش" من أجل إصدار مهمة فنية أولاً بشكل صحيح لتطوير جهاز رقمي لـ FPGA ، ثم اطلب من المطور توثيق التصميم لجهاز رقمي تم تطويره بالفعل. بناءً على الخبرة السابقة في توثيق التصميم ، عادةً ما تستخدم مؤسسة أو شركة المعايير والوثائق التنظيمية التالية:

  • GOST 2.102-68 ESKD. أنواع واكتمال وثائق التصميم.
  • GOST 15.101-98. نظام تطوير وإطلاق المنتجات. الإجراء الخاص بأداء العمل البحثي.
  • GOST R 15.201-20-00. نظام تطوير وإطلاق المنتجات. منتجات للأغراض الصناعية والتقنية. إجراءات تطوير وإطلاق المنتجات للإنتاج.

كقاعدة عامة ، كانت هذه عبارة عن ملف برنامج ثابت وبرنامج (وصف لجهاز رقمي في VHDL / Verilog أو مجموعة من الدوائر الرقمية المطورة في محرر دائرة باستخدام عناصر مكتبة للمنطق الرقمي ، مثل المشغلات والسجلات والعدادات وأجهزة فك التشفير ، إلخ) على قرص مضغوط أو قرص DVD وتعليمات البرمجة. و هذا كل شيء.

المؤلف ، على سبيل المثال ، واجه المشكلة التالية. طور أحد الموظفين جهازًا رقميًا متطورًا متعدد الوحدات. وصف جميع الوحدات في VHDL ، ونظر في تسلسل تشغيل هذه الوحدات والجهاز الرقمي ككل على راسم تذبذب جيد ومكلف. لم يكن يعرف عن ملفات Test Bench وعن إمكانية النمذجة أو لم يكن يعرف كيفية كتابتها ، بالمناسبة ، لم تكن هناك تعليقات على المشروع وعلى أوصاف الوحدات أيضًا. يمكن أن يكون الموقف أسوأ إذا تم تمثيل الوحدات بدوائر رقمية تم تطويرها في محرر تخطيطي باستخدام عناصر المكتبة. هذا أحد العوائق الرئيسية: بصرف النظر عن المطور نفسه ، لا يكاد أي شخص آخر يفهم هذا الجهاز الرقمي ، خاصة إذا كان المشروع متعدد الوحدات ، وكان وصف كل وحدة أكثر من 100 سطر أو أكثر من شاشة عرض واحدة. هذا يعني أنه إذا أراد مطور آخر إدخال مثل هذا الجهاز الرقمي المطور بالفعل لـ FPGAs في تطوير أو مشروع جديد ، فإنه يحتاج مرة أخرى إلى قضاء بعض الوقت في تطوير هذا الجهاز الرقمي.

تاريخ تصميم FPGAs

حاليًا ، يعد سوق FPGA أحد أكثر الأسواق تطورًا ديناميكيًا. تستخدم FPGAs في العديد من فروع التكنولوجيا. في الوقت الحالي ، لا توجد منهجية واضحة للحصول على تكوين FPGA من النموذج الوظيفي للجهاز على مستوى النظام الذي يرضي جميع مطوري الأجهزة. النهج الأكثر شيوعًا لحل هذه المشكلة هو استخدام تقنية جوهر الملكية الفكرية (نواة الملكية الفكرية). نوى IP عبارة عن مكونات جاهزة تتيح لك دمجها بسهولة في مشروعك الخاص لإنشاء نظام أكثر تعقيدًا. هذا النهج له عيب كبير - ربط نوى IP بالأساس الأولي. تم تحسين كل IP-core لسلسلة معينة من الدوائر الدقيقة لمصنع معين ، مما يضعف بشكل كبير القدرة على نقل الأجهزة التي تم إنشاؤها بالفعل من قاعدة عنصر إلى أخرى. تجعل الطبيعة المغلقة لبنى CAD التجارية من المستحيل إضافة نماذج الأجهزة الوظيفية الخاصة بك على مستوى النظام للحصول على نماذج الأجهزة بناءً عليها في مستوى نقل السجل (RTL). يتم تطوير الوحدة الرقمية في شكل دائرة رقمية مرسومة في محرر دائرة باستخدام مكتبة عناصر الدائرة الأساسية المضمنة في نظام CAD الخاص بالشركة المصنعة ، مثل المشغلات ، وأجهزة فك التشفير ، والعدادات ، والموصلات ، إلخ.

هناك نهج شائع آخر يسمح بالانتقال من نموذج وظيفي على مستوى النظام إلى طراز جهاز على مستوى نقل السجل وهو استخدام لغات وصف الأجهزة على مستوى النظام (لغات التصميم على مستوى النظام ، SLDLs). تتضمن هذه اللغات SystemC و Handel-C و VHDL و Verilog و System Verilog. الميزة الرئيسية هي الاستقلال عن أساس الأجهزة التي سيتم تنفيذ الجهاز من خلالها.

وبالتالي ، من ناحية ، عند استخدام تقنية IP-core ، يتلقى مطور الأجهزة حلاً عالي الجودة ، ولكنه مرتبط بشكل صارم بأساس الأجهزة التي يتم تنفيذ الجهاز من خلالها. من ناحية أخرى ، عند استخدام لغات وصف الأجهزة على مستوى النظام ، يكون تطبيق الجهاز مستقلًا عن الأجهزة. يترتب على ما سبق أنه في الوقت الحالي ، من المناسب استخدام الوحدات الرقمية في لغة وصف الأجهزة ونواة IP الخاصة بالشركة المصنعة (Xilinx و Altera و Actel وما إلى ذلك) والمطورين الخارجيين لتسريع عملية التصميم. عند استخدام وحدات رقمية خاصة بطرف ثالث ، يوجد أحيانًا نقص في محتوى المعلومات في الوثائق المصاحبة.

توفير معلومات حول الوحدة الرقمية المطورة لـ FPGA

اعتمادًا على منهجية الحصول على تكوين FPGA وفقًا للطراز الوظيفي للجهاز على مستوى النظام ، يمكن للمطور التمييز بين الأنواع التالية من الوحدات الرقمية لـ FPGA:

  • برمجة - وحدة رقمية مطورة يتم إرسالها إلى المستهلك في شكل وصف بلغة وصف الأجهزة (VHDL ، Verilog) أو / وتم تطويرها في محرر التخطيط لمزيد من الاستخدام في برامج التوليف الآلي للدوائر المنطقية وتحسينها من حيث الوظائف العوامل.
  • البرامج الثابتة - وحدة رقمية تم تطويرها بواسطة مطور خارجي ، والتي تسمى IP-core ، يتم نقلها إلى المستهلك في شكل دائرة منطقية (netlist) في أساس مكتبة العناصر المنطقية الخاصة بالشركة المصنعة FPGA ومُحسَّنة للعمل الوظيفي والمعلمات الكهربائية.

في مرحلة تطوير الوثائق ، بناءً على الخبرة الشخصية ، من الضروري إصدار وثائق لجميع أنواع الوثائق ، بالإضافة إلى وثائق التصميم المعتادة والمواصفات الفنية التي يتم إجراؤها وفقًا لـ GOST 15.101 و GOST 15.201 و GOST 2.102 و GOST 2.114 نماذج (نظام ، منطقي ، تخطيطي) تم إنشاؤها في مراحل تصميم الأجهزة الرقمية على أساس FPGAs.

بمعنى آخر ، يجب أن تتضمن مجموعة وثائق التصميم لجهاز رقمي لـ FPGA ، بالإضافة إلى ملف البرنامج الثابت وتعليمات البرمجة والمشروع المسجل على قرص مضغوط / قرص DVD ، الوثائق المصاحبة.

طاولة.قائمة أقسام الوثائق المصاحبة

عنوان القسم رأي
برمجة البرامج الثابتة
معلومات عامة
الغرض والنطاق ا ص
تحديد ا ا
وصف إشارات إعادة التعيين ا ا
وصف إشارات التزامن ا ا
وصف الواجهات ا ص
مخططات التوقيت ص ا
وصف سجلات التحكم ا ا
مخطط هيكلي (وظيفي) ص ص
دليل البرمجة ا ا
نموذج FPGA أو عائلة ،
الشركة المصنعة
ص ا
عرض الوحدة الرقمية
لتصميم المنطق على FPGA
نموذج RTL ا لا
النموذج المنطقي لا ا
قيود التصميم ا ا

فيما يلي قائمة بالأقسام (الجدول) التي يجب تضمينها في الوثائق المصاحبة لمشروع الوحدة الرقمية لـ FPGAs. لكل قسم ، تظهر علامات الحاجة إلى تضمين قسم في مجموعة الوثائق:

  • "О" - قسم إلزامي يتم توفيره ؛
  • "R" - قسم موصى به للتسليم.

تنسيقات الملفات الموصى بها لنقل الوثائق المصاحبة - MS Word و PDF (أفضل تنسيق) و HTML. يتم توفير ملفات الوصف بلغة وصف الأجهزة (VHDL ، Verilog) أو / والتي تم تطويرها في محرر التخطيط كما هو مطلوب بواسطة برنامج CAD للتطوير. قد يكون الاستثناء هو الحكم الإضافي في تنسيق رسومي (JPEG ، BMP) للملفات التخطيطية الرقمية التي تم تطويرها في محرر التخطيط.

معلومات عامة

يصف هذا القسم معلومات عامة حول الوحدة الرقمية المطورة في شكل وصف:

  • مخطط وظيفي والكتل / الأجزاء المكونة له ؛
  • إعادة تعيين الإشارات والتزامن ؛
  • واجهات مستخدمة
  • سجلات التحكم
  • توقيت الرسم البياني؛
  • برمجة.

الغرض والنطاق

يتم تحديد الغرض من الوحدة الرقمية ومجال تطبيقها.

تحديد

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

وصف إشارات إعادة التعيين

ترد تفاصيل إشارات إعادة التعيين:

  • قائمة بإشارات إعادة التعيين الخارجية والداخلية.
  • معلمات التوقيت ومخططات التوقيت لإشارات إعادة الضبط.
  • يتم تضمين الدوائر الخاصة بتوليد إشارات إعادة الضبط الداخلية ، إن وجدت ، في الوحدة الرقمية.
  • العلاقة مع الإشارات الأخرى (خاصة مع إشارات التزامن).

وصف إشارات التزامن

يتم تقديم تفاصيل إشارات المزامنة:

  • وصف إشارات التزامن الخارجية ؛
  • معلمات توقيت إشارات التزامن ؛
  • وصف إشارات التزامن الداخلية ومخططات توليدها ؛
  • علاقات التوقيت بين إشارات التزامن من مصادر مختلفة ؛

وصف الواجهات

يتم تقديم ميزات استخدام جميع الواجهات المضمنة في الوحدة الرقمية المطورة ، ويفضل أن تكون موحدة لتنظيم التفاعل مع العقد الأخرى للنظام على شريحة. بالإضافة إلى ذلك ، يتم توفير ارتباط إنترنت لوصف كامل للواجهة القياسية ، أو يتم توفير وصف للواجهة نفسها. في الوقت الحالي ، يتم قبول واجهات الناقل AMBA و PLB و Wishbone كواجهات موحدة للوحدات الرقمية.

مخططات التوقيت

يتم توفير المعلومات اللازمة لتنظيم تبادل البيانات من خلال الواجهات والمدخلات / المخرجات الأخرى للوحدة الرقمية: عرض رسومي لمخططات التوقيت ، ووصف بروتوكولات نقل البيانات ، ومتطلبات الإشارات الخارجية المقدمة للوحدة الرقمية (المدة ، التردد ، إلخ.) ، وغيرها من المعلومات ...

وصف سجلات التحكم

يتم توفير وصف لجميع سجلات التحكم للوحدة الرقمية. يحتوي الوصف النموذجي لسجل التحكم على اسم السجل وعنوان السجل في مساحة العنوان الداخلية والقيمة الأولية بعد إزالة إشارة إعادة التعيين ونوع الوصول (قراءة / كتابة) ووصفًا للإطار الداخلي. مجالات.

مخطط هيكلي (وظيفي)

يتم عرض صورة للهيكل الداخلي لوصلات العقد / الكتل الداخلية الرئيسية للوحدة الرقمية ، بالإضافة إلى وصفها النصي القصير. بالإضافة إلى وصف للوحدات الداخلية الرئيسية للوحدة الرقمية. الغرض من هذه الوثيقة هو تزويد المستهلك بالمعلومات اللازمة لفهم مبادئ الوحدة الرقمية.

يتم تحديد عدد الكتل الموصوفة ونطاق الوصف من قبل مطور الوحدة الرقمية. على نحو مفضل ، يتوافق الحد الأدنى لعدد الوحدات الموصوفة مع عدد عناصر الدائرة الهيكلية (الوظيفية) للوحدة الرقمية.

يحتوي الوصف النموذجي للوحدة الداخلية على:

  • الغرض من الكتلة.
  • مخطط كتلة هيكلي (وظيفي) (إذا لزم الأمر) ؛
  • طرق وخوارزميات العمل ؛
  • مخططات توقيت العمل ؛
  • منظمة إدارة الكتلة ؛
  • تنظيم الاتصال مع الكتل الأخرى ؛
  • أي معلومات أخرى.

دليل البرمجة

يوفر جميع المعلومات اللازمة حول عملية البرمجة باستخدام مُصنِّع CAD للوحدة الرقمية في FPGA ، والأدوات المطلوبة لتطوير البرامج وتصحيح الأخطاء ، ومكتبات البرامج.

نموذج FPGA أو عائلة ، الشركة المصنعة

بالنسبة للبرامج الثابتة للوحدة الرقمية ، يشار إلى الشركة المصنعة لـ FPGA ، وطراز أو عائلة FPGA وخصائص سرعتها. بالنسبة لوحدة البرامج الرقمية ، يتم توفير معلومات عن مقدار الموارد المشغولة ، ومتطلبات FPGA المطبقة.

تمثيل وحدة رقمية للتصميم المنطقي

ناقش المقال الصعوبات في استخدام مشروع "أجنبي" في VHDL - عدم وجود مبادئ توجيهية مناسبة للتسمية وقواعد كتابة البرامج. كما قدم إرشادات عامة للتسمية ، وقواعد الشكل الجيد لكتابة البرامج ، ومبادئ توجيهية للتوليف. يجب مناقشة هذه الأسئلة مع المطور بأكبر قدر ممكن من التفاصيل إذا كنت تخطط في المستقبل لمواصلة التطوير أو التحديث بنفسك ، قبل أن يبدأ في تطوير نموذج RTL للوحدة الرقمية على FPGA. ينطبق هذا بشكل خاص على نوع الوحدة الرقمية للبرنامج على FPGA. يصف نفس الجزء من المقالة المتطلبات العامة للمشروع الكامل للوحدة الرقمية المطورة على FPGA. فيما يلي الأسئلة التي يجب الانتباه إليها عند إعداد مهمة فنية لتطوير وحدة رقمية على FPGA ، وخاصة هذا يتعلق بنقل نتائج العمل.

نموذج RTL

تم تصميم وحدة رقمية موصوفة في مجموعة فرعية مركبة من لغة Verilog أو VHDL أو / وتم تطويرها في Schematic Editor للاستخدام في مرحلة التوليف المنطقي FPGA. تم تسليمه إلى البرنامج كمشروع وحدة رقمية مجمعة في CAD من الشركة المصنعة FPGA. بالنسبة لوحدة البرامج الثابتة الرقمية ، يتم توفير نموذج RTL باتفاق منفصل.

بالإضافة إلى ملفات نموذج RTL ، يتم نقل ما يلي:

  • تعليمات استخدام النموذج.
  • وصف كتل الذاكرة المضمنة في النموذج ، بما في ذلك نوع الذاكرة وحجمها وعدد كتل الذاكرة والاسم الهرمي لكتلة الذاكرة.
  • وصف لعملية إنشاء نوى جاهزة باستخدام برامج لإنشائها (على سبيل المثال ، CoreGenerator لـ Xilinx ISE). في حالة عدم وجود أوصاف ، قد تكون هناك قيود على إعادة التصميم والاستخدام بسبب تبعيات التكنولوجيا والشركة المصنعة.
  • في حالة استخدام معالج دقيق من الشركة المصنعة (على سبيل المثال ، من معالج Altera - Nios ؛ من معالجات Xilinx - Microblaze ، PowerPC) ، يلزم وصف عملية تكوين قلب المعالج وملحقاته.
  • مجموعة من الاختبارات (ملفات Test Bench) للتحقق من وحدة رقمية ومحاكاتها ، مكتوبة بلغة Verilog أو / و VHDL ، أو في System Verilog.
  • أي معلومات إضافية أخرى.

النموذج المنطقي

النموذج عبارة عن قائمة بالشبكات ، موصوفة باستخدام Verilog أو VHDL على أساس مكتبة الشركة المصنعة FPGA ، ويتم توفيرها للبرنامج الثابت للوحدة الرقمية.

بالإضافة إلى ملفات النموذج المنطقي ، يتم نقل ما يلي:

  • تعليمات لاستخدام هذا النموذج.
  • مجموعة من الاختبارات (ملفات Test Bench) للتحقق من وحدة رقمية ومحاكاتها ، مكتوبة بلغة Verilog أو / و VHDL ، أو في System Verilog.
  • إرشادات للعمل مع مجموعة من الاختبارات لنمذجة وحدة رقمية والتحقق منها.
  • أي معلومات إضافية أخرى.

قيود التصميم

يتم توفير قيود التصميم كملف يصف مجموعة من القيود المفروضة على وحدة رقمية عند تضمينها في النموذج المنطقي للنظام على الشريحة. تتضمن هذه المجموعة قيود الساعة ، وقيود التوقيت ، والقيود المفروضة على كيفية تفاعل الوحدة الرقمية مع الوحدات النمطية الأخرى ، وظروف التشغيل للوحدة الرقمية. التنسيق المفضل هو قيود تصميم الملخص (SDC) أو تنسيق CAD الخاص بمصنع FPGA.

مثال على قائمة القيود المفروضة على إشارات التزامن:

  • مخطط الوقت (شكل موجة الساعة) ؛
  • عدم استقرار تردد الساعة (الرجفان) ؛
  • تغيير طور تردد الساعة ؛
  • مدة التبديل (أوقات الانتقال) ؛
  • الأشكال الموجية المتولدة على مدار الساعة ؛
  • أي معلومات إضافية أخرى.

تعد مجموعة من الحدود لإشارات التوقيت إلزامية للوحدات النمطية الرقمية للبرامج والبرامج الثابتة.

قائمة تقريبية بالحدود الزمنية:

  • أوقات الوصول عند المدخلات ؛
  • وقت ظهور الإشارات عند النواتج (الأوقات المطلوبة عند النواتج) ؛
  • مسارات متعددة الدورات
  • مسارات خاطئة
  • مدة أوقات انتقال إشارة البيانات ؛
  • أي معلومات إضافية أخرى.

استنتاج

يتم توفير التكوين المعطى للوثائق المصاحبة للوحدات النمطية الرقمية المطورة لـ FPGAs بالاتفاق بين المستهلك والمطور. في أغلب الأحيان ، يوفر المطور وحدة رقمية بسيطة موصوفة في VHDL و Verilog و System Verilog و / أو تم تطويرها في محرر تخطيطي. فيما يتعلق بالوثائق الإضافية ، غالبًا ما تكون الإجابة من المطور هي التالية: "الوحدة الرقمية تعمل ، لذا خذها واستخدمها. لا يوجد شيء معقد في وصف الدائرة بلغة الأجهزة: سوف تكتشفها بنفسك ".

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

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

المؤلفات

  1. Denisov A. عدة نصائح لتصميم الأجهزة الرقمية على VHDL لـ FPGAs // المكونات والتقنيات. 2009. رقم 12.
  2. GOST 2.102-68 ESKD. أنواع واكتمال وثائق التصميم.
  3. GOST 2.114-95 ESKD. الشروط الفنية.
  4. GOST 15.101-98. نظام تطوير وإطلاق المنتجات. ترتيب أداء البحث العلمي.
  5. GOST R 15.201-20-00. نظام تطوير وإطلاق المنتجات. منتجات للأغراض الصناعية والتقنية. إجراءات تطوير وإطلاق المنتجات للإنتاج.