سؤال

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

  1. هل تفضل VHDL أو Verilog ولماذا؟
  2. ما هي الطريقة الجيدة لأحد مع عدم وجود خبرة سابقة في HDLs تبدأ في تعلم مثل هذا الوحش؟
هل كانت مفيدة؟

المحلول

اشترِ مجموعة بداية رخيصة من Xilinx أو Altera (لاعبي FPGA الكبير). طقم بداية Xilinx Spartan3 هو 200 دولار.

أنا شخصيا أفضل VHDL. يتم كتابتها بقوة ولديها ميزات أكثر تقدمًا من Verilog. VHDL أكثر شعبية في أوروبا وفيرلوغ يهيمن على الولايات المتحدة.

شراء كتاب (على سبيل المثال Peter Ashendens دليل المصممين إلى VHDL) وابدأ محاكاة تصميماتك في جهاز محاكاة مجاني. تعد Modelsim من Mentor Graphis جيدة ، وهناك إصدارات مجانية متوفرة (مع سرعة المحاكاة المعطلة).

قم بتكوين بعض المشاريع المثيرة للاهتمام (Mini CPU و VGA Graphics و SaleTsizer) وابدأ في التصميم. قم دائمًا بمحاكاة وتأكد من أن التصميم الخاص بك يعمل قبل وضع التصميم الخاص بك في الأجهزة ...

إذا لم يكن لديك خلفية في الإلكترونيات الرقمية ، فقم بشراء كتاب في هذا الموضوع أيضًا.

نصائح أخرى

مرة أخرى في اليوم الذي عملت فيه على تصميم ASIC ، كان في Verilog. في كثير من الحالات كمصمم لا يمكنك اختياره: تكلف أدوات التوليف ASIC لـ HDL مبلغًا كبيرًا من المال ، وتشتري الشركات فقط مجموعة الأدوات الكاملة للغة "المباركة". كان صاحب العمل موحد على Verilog ، وهذا ما استخدمناه.

تعد أدوات تخليق FPGA أرخص إلى حد كبير ، لذلك لديك المزيد من الحرية كمصمم FPGA لاختيار لغتك وأدواتك المفضلة.

هناك أيضًا أجهزة محاكاة مجانية في Verilog متوفرة في Verilog.net.

كما ذكر Kris ، لوحة بداية FPGA هي أيضا وسيلة جيدة للذهاب. إن جعل رمز Verilog يضيء LED على اللوحة أكثر إرضاءًا من شكل موجة محاكاة على الشاشة.

تحقق أيضا opencores.org - هناك بعض المقالات والكثير من التعليمات البرمجية المصدر المفتوحة في كل من Verilog و VHDL التي يمكنك التعلم منها.

بقدر ما أستطيع أن أقول ، يحصل VHDL و Verilog على ديني مثل Ruby vs Python أو Java vs C#. مختلف الناس لديهم المفضلة لديهم.

تحقق من هذا الموقع:http://www.fpga4fun.com/

مشاريع بسيطة لطيفة باستخدام أدوات بسيطة. لقد استخدمت واحدة من هذه المجالس قبل بضع سنوات لإنشاء نظام عرض VGA صغير لاستخدامه كوحة إشعار.

بالنظر إلى الموقع مرة أخرى ، أفكر في الحصول على لوحة Xylo-LM لأنه يحتوي على معالج ذراع وكذلك SDRAM و Xilinx Spartan 3E.

لوحة أخرى استخدمتها من قبل كانت XPORT 2 من مختبرات Charmed. هذا يتراكم في لعبة Gameboy Advance التي يتم دعمها جيدًا بأدوات تطوير المصدر المفتوح.

الدفع:http://www.charmedlabs.com/index.php؟option=com_virtuemart&page=shop.browse&category_id=6&itemid=43

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

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

بمجرد أن تكون مستعدًا لاختيار HDL ، أوصي بحرارة Verilog (بعد أن تعلمت VHDL أولاً). نعم ، كان VHDL أكثر غلياء من الميزات من Verilog ، ولكن المراجعات اللاحقة للغة (Verilog 2001 ، Verilog 2005 ، SystemVerilog ، إلخ ..) اختارت معظم الميزات المثيرة للاهتمام ، وهناك دعم أكثر قوة لأدوات الأدوات بالنسبة إلى Verilog ومتغيرها هذه الأيام ، بالإضافة إلى أنها اللغة المهيمنة في الولايات المتحدة (في تجربتي ، يتم استخدام VHDL هنا فقط عند التعامل مع الكتل القديمة الشديدة ، وفي السياقات الأكاديمية ، ويرجع ذلك جزئيًا إلى دعم الأدوات المذكورة سابقًا). أخيرًا ، بمجرد أن تتعلم HDL ، لديك لغة التحقق من الأجهزة (HVL) في SystemVerilog مع بناء جملة Superset صارمة ، مما يوفر لك القليل من منحنى التعلم. ليس كذلك بالنسبة لـ VHDL ، على حد علمي.

قام Altera و Xilinx ببناء أجهزة محاكاة في مجموعات أدواتهم المجانية. إنها إصدارات محدودة من أدوات Modelsim ذات الشهيرة للغاية. سوف يتعاملون مع حجم التصميمات التي من المحتمل أن تتناسب مع لوحة <500 دولار (الولايات المتحدة).

بالنسبة للاختيار HDL Verilog هو C لأن VHDL هو ADA. لذلك من الأسهل البدء في Verilog ، ولكن يمكنك ارتكاب أخطاء بسهولة أكبر. تحقق من تحذيرات المحاكاة والتجميع لتجنب تلك المشاكل.

Verilog أسهل بكثير في التعلم وبناء بناء جملة. أيضا لغة أحدث. ثانياً ، يستخدم معظم الناس فيلوج. يحتوي VHDL على العديد من أنواع البيانات التي تمنحها منحنى تعليمي. بمجرد أن تعرف Verilog ، سيكون من الأسهل سد الفجوة إلى VHDL. أوه وهناك أيضا وحدات الماكرو في فيريلوغ والتي هي جدا neet. اخترعت لغة معها. أخيرًا ، ستتمكن في النهاية من القيام بتصميم HW Language المختلط. لقد بدأت مع VHDL ، ثم تعلمت Verilog وأنا الآن Pro Verilog.

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

أما بالنسبة لـ FPGA نفسها ، استخدم Xilinx's ISE WebPack للقيام برمجة (مجانية) ، والبدء مع FPGAs مثل BASYS2 FPGA Board. إنها FPGA صغيرة جدًا يجب أن تبدأ بسعر صغير ، ولكن لديها ميزة إضافية تفيد بأنك تتعلم إدارة الموارد والذاكرة في وقت مبكر جدًا. يمكنك استخدام Digilent's بارع (مجاني أيضًا) لجعل الحياة سهلة في تحميل الكود "المترجم" على اللوحة.

حظا طيبا وفقك الله!

قبل الانهيار في Verilog/VHDL أو شراء مجموعة FPGA Dev ، أوصي بأخذ فصل تمهيدي عن التصميم الرقمي. هناك جيد على الإنترنت OpenCourseware MIT الطبقات.

حظا طيبا وفقك الله.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top