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

الإعداد الفعلي.
الميزات الحالية
- الـ FPGA المستهدف: Arty-A7-100T.
- نواة Ibex RISC-V مع دعم موقت الآلة والمقاطعات العتادية.
- اتصال يعتمد على بنية هارفارد.
- وصول منخفض الكمون إلى السجلات والذاكرة عبر SoC.
- عدد دورات تعليمات يمكن التنبؤ به.
- دعم إعادة التهيئة الجزئية لـ FPGA بتقنية DFX.
- الوصول إلى الذاكرة الخارجية DDR3 عبر وحدة تحكم الذاكرة Litex.
- وصول تصحيح الأخطاء عبر OpenOCD على FPGA و Verilator.
- رسومات VGA قائمة على VERA: طبقتان، وضع البلاط أو الصورة النقطية، مصرفان بـ 64 كائنًا رسوميًا، ذاكرة فيديو 128KB، لوحة ألوان 256 لونًا.
- صوت PSG مزدوج YM2149.
- وحدة تحكم بطاقة SD ونظام ملفات FatFs.
- GPIO بـ 24 دبوسًا، UART، وحدة تحكم SPI Flash، وحدة تحكم I2C.
- دعم الساعة والتقويم في الوقت الحقيقي (RTCC).
- دعم لوحة المفاتيح والفأرة USB HID.
- بيئة C قياسية تعتمد على Picolibc.
- مجموعة تطبيقات اختبار تغطي جميع مكونات SoC، تعمل على كل من FPGA و Verilator.
- نواة Mecrisp Forth + واجهة C FFI.
مخطط كتلة العتاد (Gateware)

مخطط كتلة البرمجيات

مخطط كتلة بنية نظام تشغيل BoxLambda.
الأهداف الرئيسية
-
إنشاء صندوق رمل لتجربة البرمجيات وعتاد FPGA:
- يجب أن يكون سهلاً الانطلاق والقيام بشيء: إنشاء، اختراق، تعديل.
- بسيط بما يكفي لشخص واحد: يمكن لشخص متحمس تطوير فهم متين للنظام بأكمله، بما في ذلك البرمجيات والعتاد.
- سلوك حتمي: يجب أن تكون مدة العمليات مثل الوصول إلى الذاكرة الداخلية أو السجلات قابلة للتنبؤ بالتصميم.
- بيئة تشغيل ذاتية الاكتفاء تدعم البرمجة التفاعلية عالية المستوى والبرمجة منخفضة المستوى للنظم.
- إنشاء بنية معيارية تسمح بمزج ومطابقة مكونات البرمجيات والعتاد. اختياريًا، دعم إعادة التهيئة الجزئية لـ FPGA.
-
العتاد المستهدف: Arty-A7 من Digilent.
-
يدعم الحاسوب الأجهزة الطرفية التالية:
- لوحة مفاتيح USB HID
- فأرة USB HID (اختياري)
- عصا تحكم USB HID (اختياري)
- ساعة وتقويم في الوقت الحقيقي (اختياري)
- منفذ تسلسلي
- تخزين بطاقة SD
- تخزين ذاكرة فلاش
- شاشة VGA
- خرج الصوت
-
يدعم الصوت والرسومات عروض ثنائية الأبعاد وألعاب على الطراز القديم.
الحالة (أبريل 2026)
- البنية التحتية (نظام البناء، إلخ): مكتملة.
- العتاد (Gateware): مكتمل ويلبي المتطلبات.
- البرمجيات: التطوير مستمر.
- بنية نظام التشغيل: محددة.
- نواة C لـ BoxLambda: مكتملة جزئيًا.
- نواة Mecrisp Forth: مكتملة.
- بيئة Mecrisp Forth: مكتملة جزئيًا.
- واجهة Forth<->C FFI: مكتملة.
- طبقة نظام الملفات: مكتملة.
سجل التغييرات
روابط
التوثيق