التعاون
فنون
الجمال والعناية
حِرَف
الثقافة والتاريخ
ترفيه
البيئة
الطعام والمشروبات
الهندسة العكسية
العلوم
رياضة
التقنية
الأجهزة القابلة للارتداء

English
Youblob (simulation output) · CC0
الذاكرة المدمجة على الشريحة: ضوء يتنفس مخزَّن في ذاكرة الشريحة نفسها
يأتي قالب wafer.space مع ماكروين من نوع SRAM في تصميمه التجريبي، بحجم 512 بايت لكل منهما، ويتركهما مُعطّلين. الماكرو كتلة ذاكرة جاهزة من PDK: 4096 خلية ذاكرة ثابتة، رُسمت مرة واحدة مع دارة فك العناوين ودوائر القراءة، وتُوضع كاملةً بدلاً من بنائها من البوابات.
تُفعّل هذه المرحلة أحدهما. يُشغّل المُعتِم (dimmer) من المرحلة السابقة الآن نمطاً: يكتب متحكم دقيق 256 بايت إلى الشريحة عبر نقاط توصيلها مرة واحدة، ومن ثم تقرأها الشريحة بنفسها بايتاً واحداً في كل خطوة، لتُستخدم كسطوع لضوء يتنفس ببطء.
شُغِّل النواة وبيئة اختبارها لهذا المخطط باستخدام Icarus Verilog 12.0 وcocotb 2.1.0 ونموذج المحاكاة الخاص بـ PDK لماكرو SRAM: تبع الخرج الجدول المخزَّن لمدة 600 دورة PWM. الصورة هي الخرج الخاص بتلك المحاكاة، عمود واحد لكل دورة. نُفّذ الكود ESP32 الذي يُحمِّل الجدول لهذا المخطط؛ ولا توجد شريحة فعلية بعد لتشغيله عليها.
متقدم
مساءٌ، والشريحة
التعليمات
1
1
النمط والتوقيت والحجم
النمط والتوقيت والحجم
جارٍ تحميل دفتر Jupyter…
2
2
ما يمثله كل بت من البتات الـ 4,096
ما يمثله كل بت من البتات الـ 4,096
يوضح المخطط المضمّن كيف يحتفظ بت واحد من الذاكرة الساكنة بحالته: حلقة مكوّنة من مقلوبين (عاكسين). والماكرو في هذه المرحلة هو 4,096 بت من الذاكرة الساكنة في مصفوفة واحدة.
3
3
مسامير الماكرو، وثلاثة أشياء يقولها نموذجه
مسامير الماكرو، وثلاثة أشياء يقولها نموذجه
يحتوي gf180mcu_fd_ip_sram__sram512x8m8wm1 على 512 بايت. أطرافه: CLK؛ A، عنوان من 9 بتات؛ D، البايت المراد كتابته؛ Q، البايت المقروء. جميع عناصر التحكم الثلاثة فعّالة عند LOW. CEN عند 0 يُشغّل الذاكرة. GWEN عند 0 يجعل حافة الساعة عملية كتابة، وعند 1 عملية قراءة. WEN يحتوي على بت واحد لكل بت بيانات، والقيمة 0 تسمح بكتابة ذلك البت، لذا قد تغيّر عملية الكتابة بعض بتات البايت وتترك الباقي دون تغيير.
وبقراءة نموذج المحاكاة الخاص بـ PDK يتبين ثلاثة أمور جديرة بالمعرفة. أولاً، لا تعمل الذاكرة إلا بعد أن ينتقل CEN من 1 إلى 0؛ وإلا يطبع النموذج “CEN is not reset, memory is not operational”، لذا تُبقي النواة CEN على 1 طوال فترة إعادة الضبط ثم تخفضه بعد ذلك. ثانياً، تعطي القراءة mem[A] على Q مباشرةً بعد حافة الساعة التي أخذت عينة من A، لذا تكون البيانات جاهزة بعد دورة ساعة واحدة. ثالثاً، يبدأ النموذج بكل البايتات مساوية للصفر. أما الشريحة الحقيقية فلا تفعل ذلك: إذ إن SRAM يُشغَّل وهو يحمل ما استقرت عليه كل خلية، لذا يجب أن يكتب التصميم قبل أن يقرأ.
يربط المثال الخاص بالقالب CEN بالقيمة 1، فيبقى الماكرو الاثنان مغلقين. وتشير ملفات التوقيت الخاصة به إلى أن الحد الأدنى لدورة الساعة للماكرو هو 6.6 ns عند زاوية التشغيل النموذجية 5 V، و18.3 ns عند زاوية 3.0 V البطيئة و125 °C، وكلاهما أقل بكثير من 40 ns الخاصة بالقالب.
4
4
The core
The core
src/chip_core.sv for the pattern player, with the template's port list unchanged plus one parameter, HOLD_LOG2. Input pad 0 enables, pad 1 selects LOAD mode, pad 2 is the write strobe; bidirectional pads 0 to 7 carry the byte, pad 8 the PWM. The LOAD and strobe pads are passed through two flip-flops before use, a synchroniser: they change whenever the outside world likes, not in step with the chip's clock, and a flip-flop caught mid-change can hover between 0 and 1 for a while. In play mode, each time HOLD_LOG2 periods have passed, the byte the SRAM has been reading becomes the new duty and the address moves on.
chip_core.svsystemverilog
الأدوات المطلوبة:
حاسوب مكتبي5
5
The test
The test
test_pattern.py builds the core with the PDK's SRAM model, gf180mcu_fd_ip_sram__sram512x8m8wm1.v, at the template's 25 MHz and with HOLD_LOG2 = 0 so the whole table plays in 256 periods. It loads the table through the pads the way the ESP32 will, then counts the high clocks in each of 600 PWM periods and requires them to follow the table from exactly one starting point. A second test loads again and checks the new pattern replaced the old.
test_pattern.pypython
الأدوات المطلوبة:
حاسوب مكتبي6
6
ما طبعته المحاكاة
ما طبعته المحاكاة
شغّل هذا المخطط باستخدام Icarus Verilog 12.0 وcocotb 2.1.0:
-------- MESSAGE: CEN أُعيد ضبطه للتو، والذاكرة تعمل ---------
test_pattern.test_plays_the_table PASS (600 دورة، يتطابق الجدول عند إزاحة واحدة بالضبط)
test_pattern.test_reload PASS
TESTS=2 PASS=2 FAIL=0 SKIP=0
لإثبات أن الاختبار يمكن أن يفشل، تم تغيير WEN من 8'b0 إلى 8'hFF، وهو الخطأ الكلاسيكي مع دبوس نشط عند الانخفاض: كل بت مُقنّع، ولا شيء مكتوب، وجدول من الأصفار. فشل الاختباران، وأُعيد النواة إلى حالتها الأصلية.
السطر الأول هو رسالة نموذج SRAM الخاصة: خفّضت النواة CEN بعد إعادة الضبط، كما يشترط النموذج.
7
7
Load it from an ESP32
Load it from an ESP32
Once the chip is on its breakout board, this sketch writes the table. Eight GPIOs carry the byte, three more drive LOAD, the strobe and enable, and an LED with a 330 ohm resistor from pad 8 to ground shows the breath. Each level is held for 1 microsecond, 25 of the chip's clocks, so the synchroniser always sees it. The sketch then does nothing: the pattern lives in the chip. It is lost when the chip loses power, so send r over serial to load it again.
The ESP32 is a 3.3 V part and its inputs are not 5 V tolerant. The sketch only drives the chip and never reads from it. The template's default libraries are the 5 V ones; before you connect, check in the I/O library's documentation that 3.3 V is a valid logic high for your chip's inputs, or build with the 3.3 V libraries, as the template's README shows. The sketch compiles for the ESP32 with the Arduino ESP32 core 3.3.12; it has not been run, because the chip does not exist yet.
load_pattern.inocpp
المواد لهذه الخطوة:
رقاقة ASIC مخصصة1 قطعة
لوح دارة مطبوعة1 قطعة
مصباح LED قياس 5 مم1 قطعة
مقاومة 330 أوم1 قطعةالأدوات المطلوبة:
لوحة تطوير ESP32
لوحة تجارب
أسلاك توصيل
حاسوب مكتبي8
8
نمط لا يتم حفظه أو لا يتم تشغيله
نمط لا يتم حفظه أو لا يتم تشغيله
استكشاف أخطاء نمط SRAM وإصلاحها.
Flow
Loading...
9
9
المصادر والحدود الصريحة
المصادر والحدود الصريحة
**المصادر**، تمت قراءتها في 29 سبتمبر 2026: GF180MCU PDK عند الالتزام (commit) الذي يثبّته القالب، gf180mcuD، f6eeac7dad085ffcc829ccfd721f7b4ce39edcf7، من إصدارات fossi-foundation ciel؛ ترخيص Apache-2.0): نموذج SRAM gf180mcu_fd_ip_sram__sram512x8m8wm1.v، وLEF الخاص به للمخطط، وملفات توقيته لأدنى فترة ساعة؛ ملف توقيت مكتبة الخلايا القياسية لمساحة الفليب فلوب. مستودع wafer-space/gf180mcu-project-template (src/chip_core.sv، src/chip_top.sv، README.md، librelane/config.yaml؛ ترخيص Apache-2.0).
**حدود صادقة.** تجري المحاكاة على مستوى chip_core باستخدام نموذج SRAM الخاص به، لكن دون حلقة الوصلات (pad ring) أو التركيب (synthesis) أو التخطيط (layout)، ولا تحسم فحوصات التوقيت الخاصة بالنموذج أي شيء هنا. تم تجميع مخطط ESP32 ولم يُشغَّل. كان HOLD_LOG2 يساوي 0 في الاختبار حتى ينتهي؛ أما الشريحة فكانت ستستخدم 9، أي نفسًا مدته نحو 1.3 ثانية.
المواد
4- 1 قطعةعنصر نائب
- 1 قطعةعنصر نائب
- عنصر نائب
- 1 قطعةعنصر نائب
الأدوات المطلوبة
4- عنصر نائب
- عنصر نائب
- 1 vendor sell this, none ship to you yetعنصر نائب
- 3 vendors sell this, none ship to you yetعنصر نائب
المخططات ذات الصلة
هذه المخططات تشارك المعرفة مع هذا — التقنيات والمواد والمبادئ
CC0 ملكية عامة
هذا المخطط مُصدر بموجب CC0. يحق لك نسخه وتعديله وتوزيعه واستخدامه لأي غرض، دون طلب إذن.
ادعم الصانع بشراء منتجات عبر مخططه حيث يكسب عمولة الصانع يحددها البائعون، أو أنشئ نسخة جديدة من هذا المخطط وضمّنه كرابط في مخططك لمشاركة الإيرادات.



