সহযোগিতা
কলা
সৌন্দর্য এবং সুস্থতা
ক্রাফট
সংস্কৃতি ও ইতিহাস
বিনোদন
পরিবেশ
খাদ্য ও পানীয়
রিভার্স ইঞ্জিনিয়ারিং
বিজ্ঞান
খেলাধুলা
টেকনোলজি
পরিধানযোগ্য

English
Youblob (simulation output) · CC0
অন-চিপ SRAM: একটি শ্বাস-প্রশ্বাসের আলো যা আপনার চিপের নিজস্ব মেমরিতে সংরক্ষিত
wafer.space-এর টেমপ্লেটের উদাহরণ ডিজাইনে SRAM ম্যাক্রো রয়েছে দুটি, প্রতিটি ৫১২ বাইট, এবং সেগুলো বন্ধ অবস্থায় রাখা হয়েছে। ম্যাক্রো হলো PDK থেকে একটি তৈরি মেমরি ব্লক: ৪,০৯৬টি স্ট্যাটিক মেমরি সেল, যেগুলো একবারে ঠিকানা ডিকোডার ও রিড সার্কিটসহ আঁকা হয়েছে, এবং আপনি গেট দিয়ে তৈরি না করে সম্পূর্ণ একটি ব্লক হিসেবে বসান।
এই ধাপে একটি চালু করা হয়। আগের ধাপের PWM ডিমার এখন একটি প্যাটার্ন চালায়: একটি মাইক্রোকন্ট্রোলার প্যাডের মাধ্যমে চিপে ২৫৬ বাইট একবার লেখে, এবং এরপর চিপ নিজে থেকেই প্রতি ধাপে একটি করে বাইট পড়ে, ধীরে শ্বাস নেওয়া আলোর উজ্জ্বলতা হিসেবে।
এই ব্লুপ্রিন্টের জন্য কোর ও টেস্টবেঞ্চ Icarus Verilog 12.0, cocotb 2.1.0 এবং PDK-এর নিজস্ব SRAM ম্যাক্রোর সিমুলেশন মডেল দিয়ে চালানো হয়েছে: আউটপুট ৬০০টি PWM পিরিয়ড ধরে সংরক্ষিত টেবিল অনুসরণ করেছে। ছবিটি সেই সিমুলেশনের নিজস্ব আউটপুট, প্রতি পিরিয়ডে একটি বার। টেবিল লোড করা ESP32 স্কেচটি এই ব্লুপ্রিন্টের জন্য কম্পাইল করা হয়েছে; এটি চালানোর জন্য এখনো কোনো চিপ নেই।
উন্নত
একটি সন্ধ্যা, আর চিপ
নির্দেশাবলি
1
1
প্যাটার্ন, সময় এবং আকার
প্যাটার্ন, সময় এবং আকার
Jupyter নোটবুক লোড হচ্ছে…
2
2
৪,০৯৬টি বিটের প্রতিটি আসলে কী
৪,০৯৬টি বিটের প্রতিটি আসলে কী
এমবেডেড ব্লুপ্রিন্টটি দেখায় কীভাবে একটি স্ট্যাটিক মেমরি বিট নিজেকে ধরে রাখে: দুটি ইনভার্টারের একটি লুপ। এই ধাপের ম্যাক্রো হলো একটি অ্যারেতে ৪,০৯৬টি স্ট্যাটিক মেমরি বিট।
3
3
ম্যাক্রোর পিন, এবং এর মডেল যে তিনটি বিষয় বলে
ম্যাক্রোর পিন, এবং এর মডেল যে তিনটি বিষয় বলে
gf180mcu_fd_ip_sram__sram512x8m8wm1 512 বাইট ধারণ করে। এর পিনগুলো: CLK; A, একটি 9-bit ঠিকানা; D, লেখার বাইট; Q, পড়া বাইট। তিনটি নিয়ন্ত্রণ সবই সক্রিয় LOW স্তরে থাকে। CEN ০ থাকলে মেমোরি চালু হয়। GWEN ০ থাকলে ক্লক এজ একটি লেখা হিসেবে গণ্য হয়, ১ থাকলে পড়া। WEN প্রতি ডেটা বিটের জন্য একটি বিট, এবং ০ হলে সেই বিটটি লেখা যায়, তাই একটি লেখার কাজে একটি বাইটের কিছু বিট বদলানো যায় এবং বাকিগুলো অপরিবর্তিত রাখা যায়।
PDK-এর সিমুলেশন মডেল পড়লে তিনটি জানার মতো বিষয় পাওয়া যায়। প্রথমত, CEN ১ থেকে ০ হওয়ার পরেই মেমোরি কাজ করে; অন্যথায় মডেল "CEN is not reset, memory is not operational" বার্তা দেয়, তাই core রিসেটের সময় CEN ১ রাখে এবং পরে নামিয়ে দেয়। দ্বিতীয়ত, পড়ার সময় A নমুনা নেওয়া ক্লক এজের ঠিক পরে Q-তে mem[A] আসে, তাই ডেটা এক ক্লক পরে প্রস্তুত হয়। তৃতীয়ত, মডেল প্রতিটি বাইট ০ দিয়ে শুরু হয়। বাস্তব চিপ তা করে না: এর SRAM পাওয়ার-আপে প্রতিটি সেল যে অবস্থায় পড়েছিল তা ধরে রাখে, তাই ডিজাইনকে পড়ার আগে লিখতে হবে।
টেমপ্লেটের নিজের উদাহরণে CEN ১-এ যুক্ত, তাই এর দুটি ম্যাক্রো বন্ধ অবস্থায় থাকে। এর টাইমিং ফাইলে ম্যাক্রোর ন্যূনতম ক্লক পিরিয়ড দেওয়া আছে: টাইপিক্যাল ৫ V কর্নারে ৬.৬ ns এবং ধীর ৩.০ V, ১২৫ °C কর্নারে ১৮.৩ ns, উভয়ই টেমপ্লেটের ৪০ 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
simulation-এর মুদ্রিত ফলাফল
simulation-এর মুদ্রিত ফলাফল
এই blueprint-এর জন্য Icarus Verilog 12.0 এবং cocotb 2.1.0 দিয়ে চালানো হয়েছে:
-------- MESSAGE: CEN এইমাত্র reset হয়েছে, memory কার্যকর আছে ---------
test_pattern.test_plays_the_table PASS (600 periods, table ঠিক একটি offset-এ align হয়)
test_pattern.test_reload PASS
TESTS=2 PASS=2 FAIL=0 SKIP=0
টেস্ট ব্যর্থ হতে পারে তা প্রমাণ করতে, WEN-এর মান 8'b0 থেকে 8'hFF-এ পরিবর্তন করা হয়েছিল, active-low pin-এর ক্লাসিক ভুল: প্রতিটি bit masked, কিছুই লেখা হয়নি, একটি শূন্যের table। দুটি টেস্টই ব্যর্থ হয়েছে, এবং core আবার আগের অবস্থায় ফিরিয়ে আনা হয়েছে।
প্রথম লাইনটি SRAM model-এর নিজস্ব বার্তা: reset-এর পর model-এর প্রয়োজন অনুযায়ী core 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 টুকরা
৫ মিমির এলইডি1 টুকরা
৩৩০ ওহম রোধক1 টুকরাপ্রয়োজনীয় সরঞ্জাম:
ESP32 উন্নয়ন বোর্ড
ব্রেডবোর্ড
জাম্পার তার
ডেস্কটপ কম্পিউটার8
8
একটি প্যাটার্ন যা সংরক্ষণ হচ্ছে না বা চলছে না
একটি প্যাটার্ন যা সংরক্ষণ হচ্ছে না বা চলছে না
SRAM প্যাটার্নের সমস্যা সমাধান।
Flow
Loading...
9
9
Sources and honest limits
Sources and honest limits
**Sources**, 29 सेप्टेंबर 2026-এ পড়া হয়েছে: GF180MCU PDK টেমপ্লেট যে কমিটে পিন করে সেখানে (gf180mcuD, f6eeac7dad085ffcc829ccfd721f7b4ce39edcf7, fossi-foundation ciel রিলিজ থেকে; Apache-2.0): SRAM মডেল gf180mcu_fd_ip_sram__sram512x8m8wm1.v, এর outline-এর জন্য LEF এবং ন্যূনতম clock period-এর জন্য এর timing ফাইলসমূহ; flip-flop এলাকার জন্য standard-cell লাইব্রেরির timing ফাইল। wafer-space/gf180mcu-project-template রিপোজিটরি (src/chip_core.sv, src/chip_top.sv, README.md, librelane/config.yaml; Apache-2.0).
**Honest limits.** সিমুলেশনটি chip_core লেভেলে, SRAM-এর নিজস্ব মডেল ব্যবহার করে কিন্তু pad ring, synthesis বা layout ছাড়া; এখানে মডেলের timing checks কিছুই নির্ধারণ করে না। ESP32 স্কেচটি কম্পাইল করা হয়েছিল, চালানো হয়নি। পরীক্ষায় HOLD_LOG2 ছিল 0 যাতে এটি শেষ হয়; চিপে এটি 9 হতো, প্রায় 1.3 s-এর একটি বিরতি।
উপকরণ
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-এর অধীনে প্রকাশিত। আপনি অনুমতি ছাড়াই যেকোনো উদ্দেশ্যে এটি অনুলিপি, পরিবর্তন, বিতরণ ও ব্যবহার করতে পারেন।
মেকারের ব্লুপ্রিন্টের মাধ্যমে পণ্য কিনে তাঁকে সমর্থন করুন, যেখানে তিনি আয় করেন মেকার কমিশন বিক্রেতাদের নির্ধারিত, অথবা এই ব্লুপ্রিন্টের একটি নতুন সংস্করণ তৈরি করে নিজের ব্লুপ্রিন্টে সংযোগ হিসেবে যুক্ত করে আয় ভাগ করুন।



