پروژه LWMalloc یه memory allocator سبک برای سیستمهای امبدده که نسبت به ptmalloc تو Glibc تا ۵۳٪ سریعتره و ۲۳٪ هم حافظه کمتری مصرف میکنه.
مشکل malloc تو امبدد اینه که به مرور حافظه رو تکهتکه میکنه و وقتی فریمور طولانیمدت بالا بمونه آخرش به کرش میرسه. بعضیا سمت garbage collection میرن، ولی روی دیوایسهای محدود خیلی وقتا عملی نیست. به همین خاطر خیلیا ترجیح میدن حافظه رو استاتیک یا با memory pool مدیریت کنن (که به نظر من بهترین راهه). یه گزینه دیگه هم نوشتن allocator اختصاصیه (که از نظر من بدترین راهه!)، و این دقیقاً کاریه که LWMalloc کرده.
طبق مقاله “LWMalloc: A Lightweight Dynamic Memory Allocator for Resource-Constrained Environments”، این لایبرری از ساختار داده خیلی سبک، سیاست deferred coalescing و استخرهای جدا برای chunkهای کوچیک استفاده میکنه. نتیجه؟ متادیتای کمتر، عملیات ادغام بهموقع به جای وسط کار، و پاسخ O(1) برای درخواستهای کوچیک.
تستهای دانشگاه SEOULTECH نشون داده LWMalloc نسبت به ptmalloc حدود ۵۳٪ سریعتره و ۲۳٪ کمتر حافظه میخوره. کل کدش ۵۳۰ خط و footprint حدود ۲۰ کیلوبایته، در حالی که ptmalloc نزدیک ۴۸۳۸ خط و ۱۱۶ کیلوبایته. تو اطلاعیهشون هم اشاره کردن که allocatorهایی مثل jemalloc، tcmalloc و mimalloc هستن ولی به خاطر مصرف حافظه بالا و پیچیدگی آخرش افت کارایی دارن.
کد C و برنامه تستش روی گیتهاب هست و چون همون malloc/calloc/realloc/free استاندارد رو پیادهسازی کرده، میشه مستقیم جاش استفاده کرد یا حتی با LD_PRELOAD بدون تغییر اپلیکیشن جایگزینش کرد.
کاربرد اصلیش تو سیستمهای امبدد و IoT با محدودیت حافظه و کاراییه: از تلویزیون هوشمند و ستتاپباکس گرفته تا پوشیدنیها، سیستمهای خودرویی real-time و کامپیوترهای edge برای AI.
ولی راستش رو بخواید، من همچنان روشهای استاتیک یا memory pool رو پیشنهاد میکنم، مگر اینکه اسلحه رو سرتون باشه :)
اگه دوست داشتید اصل مقاله رو مطالعه کنید اینجا میتونید پیداش کنید.
ریپوی پروژه رو هم اینجا میتونید بررسی کنید.
📺Source
📡openpcb
مشکل malloc تو امبدد اینه که به مرور حافظه رو تکهتکه میکنه و وقتی فریمور طولانیمدت بالا بمونه آخرش به کرش میرسه. بعضیا سمت garbage collection میرن، ولی روی دیوایسهای محدود خیلی وقتا عملی نیست. به همین خاطر خیلیا ترجیح میدن حافظه رو استاتیک یا با memory pool مدیریت کنن (که به نظر من بهترین راهه). یه گزینه دیگه هم نوشتن allocator اختصاصیه (که از نظر من بدترین راهه!)، و این دقیقاً کاریه که LWMalloc کرده.
طبق مقاله “LWMalloc: A Lightweight Dynamic Memory Allocator for Resource-Constrained Environments”، این لایبرری از ساختار داده خیلی سبک، سیاست deferred coalescing و استخرهای جدا برای chunkهای کوچیک استفاده میکنه. نتیجه؟ متادیتای کمتر، عملیات ادغام بهموقع به جای وسط کار، و پاسخ O(1) برای درخواستهای کوچیک.
تستهای دانشگاه SEOULTECH نشون داده LWMalloc نسبت به ptmalloc حدود ۵۳٪ سریعتره و ۲۳٪ کمتر حافظه میخوره. کل کدش ۵۳۰ خط و footprint حدود ۲۰ کیلوبایته، در حالی که ptmalloc نزدیک ۴۸۳۸ خط و ۱۱۶ کیلوبایته. تو اطلاعیهشون هم اشاره کردن که allocatorهایی مثل jemalloc، tcmalloc و mimalloc هستن ولی به خاطر مصرف حافظه بالا و پیچیدگی آخرش افت کارایی دارن.
کد C و برنامه تستش روی گیتهاب هست و چون همون malloc/calloc/realloc/free استاندارد رو پیادهسازی کرده، میشه مستقیم جاش استفاده کرد یا حتی با LD_PRELOAD بدون تغییر اپلیکیشن جایگزینش کرد.
کاربرد اصلیش تو سیستمهای امبدد و IoT با محدودیت حافظه و کاراییه: از تلویزیون هوشمند و ستتاپباکس گرفته تا پوشیدنیها، سیستمهای خودرویی real-time و کامپیوترهای edge برای AI.
ولی راستش رو بخواید، من همچنان روشهای استاتیک یا memory pool رو پیشنهاد میکنم، مگر اینکه اسلحه رو سرتون باشه :)
اگه دوست داشتید اصل مقاله رو مطالعه کنید اینجا میتونید پیداش کنید.
ریپوی پروژه رو هم اینجا میتونید بررسی کنید.
📺Source
📡openpcb
👍13❤2⚡1
الان یکی از گلوگاههای اصلی در مینیاتوریکردن اجزای کامپیوترهای کوانتومی، محدودیت روشهای ساخت موجوده! محدودیتی که باعث میشه هم ابعاد قطعات بزرگ بمونه و هم امکان مقیاسپذیری از بین بره.
یکی از این اجزا «تلههای یونی»ـه که برای ذخیرهسازی اطلاعات کوانتومی به کار میره. توی این سیستم هر یون نقش یک کیوبیت رو بازی میکنه و در یک چاه پتانسیل عمیق نگهداری میشه تا نه فرار کنه و نه محیط اطراف بتونه اون رو مختل کنه.
اما مشکل اینجاست که این تلهها ابعاد بزرگی دارن و نمیشه به راحتی تعدادشون رو افزایش داد. از طرف دیگه، فاصله نسبتاً زیاد بین یونها و الکترودها (حدود یک میلیمتر) باعث ضعیفشدن میدان الکتریکی میشه و همین احتمال ناپایداری یا فرار یونها رو بالا میبره.
حالا دانشمندان دانشگاه کالیفرنیا و آزمایشگاه ملی لارنس برکلی در پژوهشی که در Nature منتشر شده، روشی نو برای ساخت تلههای یونی معرفی کردهن که میتونه این مشکلات رو حل کنه.
این پژوهشگران با استفاده از تکنیک پرینت سهبعدی بسیار دقیق به نام پلیمریزاسیون دو فوتونی (2PP) موفق شدند تلههایی بسازن که فاصله یون تا الکترود در اونها کمتر از ۰.۱ میلیمتره. این کاهش فاصله باعث تقویت میدان الکتریکی و افزایش پایداری یونها میشه.
مزیت مهم دیگهی پرینت سهبعدی، آزادی طراحی بالاست. محققان تونستن هندسههای پیچیده و آرایههای بزرگی از تلهها رو بسازن که با روشهای قدیمی اصلاً امکانپذیر نبود.
این دستاورد نشون میده پرینت سهبعدی میتونه راهی عملی برای عبور از محدودیتهای ساخت و کوچکسازی در فناوری کوانتوم هم باشه و مسیر توسعهی نسل بعدی کامپیوترهای کوانتومی رو هموار کنه.
📺Source
📡openpcb
یکی از این اجزا «تلههای یونی»ـه که برای ذخیرهسازی اطلاعات کوانتومی به کار میره. توی این سیستم هر یون نقش یک کیوبیت رو بازی میکنه و در یک چاه پتانسیل عمیق نگهداری میشه تا نه فرار کنه و نه محیط اطراف بتونه اون رو مختل کنه.
اما مشکل اینجاست که این تلهها ابعاد بزرگی دارن و نمیشه به راحتی تعدادشون رو افزایش داد. از طرف دیگه، فاصله نسبتاً زیاد بین یونها و الکترودها (حدود یک میلیمتر) باعث ضعیفشدن میدان الکتریکی میشه و همین احتمال ناپایداری یا فرار یونها رو بالا میبره.
حالا دانشمندان دانشگاه کالیفرنیا و آزمایشگاه ملی لارنس برکلی در پژوهشی که در Nature منتشر شده، روشی نو برای ساخت تلههای یونی معرفی کردهن که میتونه این مشکلات رو حل کنه.
این پژوهشگران با استفاده از تکنیک پرینت سهبعدی بسیار دقیق به نام پلیمریزاسیون دو فوتونی (2PP) موفق شدند تلههایی بسازن که فاصله یون تا الکترود در اونها کمتر از ۰.۱ میلیمتره. این کاهش فاصله باعث تقویت میدان الکتریکی و افزایش پایداری یونها میشه.
مزیت مهم دیگهی پرینت سهبعدی، آزادی طراحی بالاست. محققان تونستن هندسههای پیچیده و آرایههای بزرگی از تلهها رو بسازن که با روشهای قدیمی اصلاً امکانپذیر نبود.
این دستاورد نشون میده پرینت سهبعدی میتونه راهی عملی برای عبور از محدودیتهای ساخت و کوچکسازی در فناوری کوانتوم هم باشه و مسیر توسعهی نسل بعدی کامپیوترهای کوانتومی رو هموار کنه.
📺Source
📡openpcb
👍20❤1👎1
طبق دادههای شاخص TIOBE، زبان برنامهنویسی پرل از سال قبل که رتبه ۲۷ام را داشته، امسال یهویی به رتبه دهم زبانهای برنامهنویسی محبوب رسیده!
این جهش نه حاصل نسخههای انقلابی بوده و نه کمپینهای تبلیغاتی، بلکه بیشتر به یک عامل کمتر دیدهشده برمیگرده: منابع آموزشی! پرل تو آمازون چهار برابر PHP و هفت برابر Rust کتاب داره! این حجم محتوای آموزشی و انتشارهای منظم نسخههای جدید باعث شده توسعهدهندگان دوباره سراغش برن، در حالی که Perl 6 (یا همان Raku) در رتبه ۱۲۹ مونده.
در همین بازه، سی هم جای خودش رو با جاوا عوض کرده و از رتبه چهار به سوم رسیده. پایتون همچنان در صدر جدوله و حتی سهمش بیشتر شده، اما راست از رتبه ۱۴ام به ۱۸ام سقوط کرده. این نشون میده حتی زبانهای پرسروصدا هم بدون اکوسیستم آموزشی قوی افت میکنند🤷🏻♂️
این اعداد نشون میدن شاخص TIOBE فقط یک عکس لحظهای نیست، بلکه روندهای بلندمدت جامعه رو هم منعکس میکنه، زبانهای قدیمی با انتشار منظم و منابع آموزشی غنی میتونند اوج بگیرند و زبانهای تازهنفس بدون پشتیبانی محتوایی ممکنه افت کنند.
📺Source
📡openpcb
این جهش نه حاصل نسخههای انقلابی بوده و نه کمپینهای تبلیغاتی، بلکه بیشتر به یک عامل کمتر دیدهشده برمیگرده: منابع آموزشی! پرل تو آمازون چهار برابر PHP و هفت برابر Rust کتاب داره! این حجم محتوای آموزشی و انتشارهای منظم نسخههای جدید باعث شده توسعهدهندگان دوباره سراغش برن، در حالی که Perl 6 (یا همان Raku) در رتبه ۱۲۹ مونده.
در همین بازه، سی هم جای خودش رو با جاوا عوض کرده و از رتبه چهار به سوم رسیده. پایتون همچنان در صدر جدوله و حتی سهمش بیشتر شده، اما راست از رتبه ۱۴ام به ۱۸ام سقوط کرده. این نشون میده حتی زبانهای پرسروصدا هم بدون اکوسیستم آموزشی قوی افت میکنند🤷🏻♂️
این اعداد نشون میدن شاخص TIOBE فقط یک عکس لحظهای نیست، بلکه روندهای بلندمدت جامعه رو هم منعکس میکنه، زبانهای قدیمی با انتشار منظم و منابع آموزشی غنی میتونند اوج بگیرند و زبانهای تازهنفس بدون پشتیبانی محتوایی ممکنه افت کنند.
📺Source
📡openpcb
👍17❤3
This media is not supported in your browser
VIEW IN TELEGRAM
محققانی از دانشگاههای گوتنبرگ و چند تا دانشگاه دیگه «موتورهای میکروسکوپی» توسعه دادن که با نور کنترل میشن و سدی که سه دهه مانع کوچکسازی ماشینهای مکانیکی بود رو شکستن. فناوری ساخت موتورهای میکرو و چرخدندهها زیر مقیاس ۰٫۱ میلیمتر گیر کرده بود! نه بهخاطر قوانین فیزیک، بلکه بهخاطر پیچیدگی ساخت محرکها و اتصالات تو این ابعاد. این محققها بهجای میدانهای الکتریکی و مغناطیسی، یه متاسطح نوری رو خود چرخدنده نشوندن که با نور تخت(نور با پرتوهای موازی، غیر همگرا غیر واگرا) نیرو میگیره و حرکت تولید میکنه. نتیجه، ماشینهایی با ابعاد چند ده میکرومتر و دقت حرکتی زیرمیکرومتریه که روی یه تراشهٔ شیشهای یا سیلیکونی و با لیتوگرافی استاندارد ساخته میشه.
قلب این فناوری یه «متاروتوره»! یه رینگ میکروسکوپی با متاسطح نوری که روی یه پایهٔ ستونی مهار شده و تو محیط مایع آزادانه میچرخه. نور ورودی روی متاسطح پراکنده میشه و طبق پایستگی تکانهٔ نوری، نیرویی در خلاف جهت به حلقه وارد میشه و گشتاور ایجاد میکنه. با تغییر طراحی متاسطح یا شدت و قطبش نور، سرعت زاویهای و حتی جهت چرخش رو میشه لحظهای تنظیم کرد. این فرآیند با CMOS و لیتوگرافی معمول سازگاره و الان دهها هزار واحد تو مساحت ۵×۵ میلیمتر روی یه تراشه ساخته شده.
برای نمایش قابلیتها، چند متاماشین کاربردی ساختن:
– یه قطار چرخدنده که با یه «متاچرخدنده» محرک، چندین چرخدندهٔ غیرفعال رو به حرکت درمیآره و بسته به نسبت قطرها گشتاور یا سرعت رو تقویت میکنه.
– یه سیستم رکوپینیون که حرکت دورانی متاروتور رو به حرکت خطی رفتوبرگشتی تبدیل میکنه و جهت حرکت با تغییر قطبش نور کنترل میشه.
– یه رک مجهز به آینههای طلا که میتونه نور رو در مقیاس میکرو منحرف یا مسدود کنه و جایگزین آینههای الکترواستاتیکی موجود تو کاربردهای جابجایی بزرگ بشه.
مزایای این رویکرد منبع انرژی تمیز و در دسترس (نور)، سازگاری با محیطهای زیستی (لیزر ۱۰۶۴ نانومتر آسیب کمی به سلولها و باکتریها داره)، تولید انبوه و یکپارچهسازی با اجزای نوری و الکترونیکی دیگه روی تراشه ست. محدودیتهای فعلی هم بازده پایین و حساسیت به آلودگی محیطیه که خود نویسندهها پیشنهاد دادن با مواد فازتغییری یا آینههای تطبیقی بهصورت پویا رفع بشه.
این موتورهای میکروسکوپی میتونن تو خیلی زمینهها کاربرد پیدا کنن. از جابهجایی و دستهبندی ذرات خیلی ریز تو آزمایشگاههای زیستی و شیمیایی گرفته، تا کنترل نور یا فیلترهای نوری تو سیستمهای ارتباطی و حسگرها. حتی میتونن تو روباتهای میکروسکوپی حرکت بدن، یا اجزای مکانیکی کوچیک مثل دریچهها، سوپاپها و بازوهای میکرومکانیکی رو حرکت بدن. بهخاطر دقت زیرمیکرومتری، میشه حرکتهای خیلی ظریف و پیچیده ساخت و به صورت همزمان چندین وظیفهٔ متفاوت روی یه تراشه انجام داد. تو یه سطح تخیلیتر، این موتورهای میکروسکوپی میتونن تو پوشیدنیهای نانو یا روباتهای خودگردان میکروسکوپی کار کنن که خون یا سلولها رو کنترل میکنن، یا حتی تو سیستمهای نوری پیشرفته مثل «پوشش نامرئیکننده» و میکروآینههای متحرک برای تغییر مسیر نور در لحظه به کار برن.
اصل مقاله رو میتونید تو این لینک بخونید.
📡openpcb
قلب این فناوری یه «متاروتوره»! یه رینگ میکروسکوپی با متاسطح نوری که روی یه پایهٔ ستونی مهار شده و تو محیط مایع آزادانه میچرخه. نور ورودی روی متاسطح پراکنده میشه و طبق پایستگی تکانهٔ نوری، نیرویی در خلاف جهت به حلقه وارد میشه و گشتاور ایجاد میکنه. با تغییر طراحی متاسطح یا شدت و قطبش نور، سرعت زاویهای و حتی جهت چرخش رو میشه لحظهای تنظیم کرد. این فرآیند با CMOS و لیتوگرافی معمول سازگاره و الان دهها هزار واحد تو مساحت ۵×۵ میلیمتر روی یه تراشه ساخته شده.
برای نمایش قابلیتها، چند متاماشین کاربردی ساختن:
– یه قطار چرخدنده که با یه «متاچرخدنده» محرک، چندین چرخدندهٔ غیرفعال رو به حرکت درمیآره و بسته به نسبت قطرها گشتاور یا سرعت رو تقویت میکنه.
– یه سیستم رکوپینیون که حرکت دورانی متاروتور رو به حرکت خطی رفتوبرگشتی تبدیل میکنه و جهت حرکت با تغییر قطبش نور کنترل میشه.
– یه رک مجهز به آینههای طلا که میتونه نور رو در مقیاس میکرو منحرف یا مسدود کنه و جایگزین آینههای الکترواستاتیکی موجود تو کاربردهای جابجایی بزرگ بشه.
مزایای این رویکرد منبع انرژی تمیز و در دسترس (نور)، سازگاری با محیطهای زیستی (لیزر ۱۰۶۴ نانومتر آسیب کمی به سلولها و باکتریها داره)، تولید انبوه و یکپارچهسازی با اجزای نوری و الکترونیکی دیگه روی تراشه ست. محدودیتهای فعلی هم بازده پایین و حساسیت به آلودگی محیطیه که خود نویسندهها پیشنهاد دادن با مواد فازتغییری یا آینههای تطبیقی بهصورت پویا رفع بشه.
این موتورهای میکروسکوپی میتونن تو خیلی زمینهها کاربرد پیدا کنن. از جابهجایی و دستهبندی ذرات خیلی ریز تو آزمایشگاههای زیستی و شیمیایی گرفته، تا کنترل نور یا فیلترهای نوری تو سیستمهای ارتباطی و حسگرها. حتی میتونن تو روباتهای میکروسکوپی حرکت بدن، یا اجزای مکانیکی کوچیک مثل دریچهها، سوپاپها و بازوهای میکرومکانیکی رو حرکت بدن. بهخاطر دقت زیرمیکرومتری، میشه حرکتهای خیلی ظریف و پیچیده ساخت و به صورت همزمان چندین وظیفهٔ متفاوت روی یه تراشه انجام داد. تو یه سطح تخیلیتر، این موتورهای میکروسکوپی میتونن تو پوشیدنیهای نانو یا روباتهای خودگردان میکروسکوپی کار کنن که خون یا سلولها رو کنترل میکنن، یا حتی تو سیستمهای نوری پیشرفته مثل «پوشش نامرئیکننده» و میکروآینههای متحرک برای تغییر مسیر نور در لحظه به کار برن.
اصل مقاله رو میتونید تو این لینک بخونید.
📡openpcb
👍18🔥8❤6
Forwarded from TechTube 𝕏 تک توب
شرکت کوالکام از نسل بعدی چیپهای این شرکت برای پرچمداران با نام Snapdragon 8 Elite Gen 5 رونمایی کرده که از تکنولوژی ساخت 3 نانومتری استفاده میکنه و به ادعای این شرکت قویترین چیپ موبایل دنیا هست و حتی از A19 Pro هم قویتره.
این چیپ دارای پردازنده 8 هسته ای هست که 2 هسته اصلی اون فرکانسی تا 4.6 گیگاهرتز دارن و بقیه اونها دارای حداکثر فرکانس 3.62 گیگاهرتزی هستن که در مجموع 20 درصد نسبت به نسل قبل قویتره و 35 درصد مصرف انرژی بهینه تری داره.
پردازشگر گرافیکی اون هم 23 درصد عملکرد بهتری نسبت به نسل قبل کسب کرده، دارای پشتیبانی کامل از موتور بازی سازی Unreal Engine 5 هست و 20 درصد مصرف انرژی بهتری داره. عملکرد بخش هوش مصنوعی این چیپ 37 درصد افزایش داشته. با ترکیب این تغییرات در مجموع مصرف انرژی این چیپ 16 درصد بهتر شده که حدود 2 ساعت شارژدهی بهتری در حین بازی خواهد داشت.
این چیپ به زودی در پرچمداران شرکتهای مختلف ظاهر خواهد شد که اولین اونها شیاومی 17 خواهد بود.
🔎 gsmarena
📍 @TechTube
این چیپ دارای پردازنده 8 هسته ای هست که 2 هسته اصلی اون فرکانسی تا 4.6 گیگاهرتز دارن و بقیه اونها دارای حداکثر فرکانس 3.62 گیگاهرتزی هستن که در مجموع 20 درصد نسبت به نسل قبل قویتره و 35 درصد مصرف انرژی بهینه تری داره.
پردازشگر گرافیکی اون هم 23 درصد عملکرد بهتری نسبت به نسل قبل کسب کرده، دارای پشتیبانی کامل از موتور بازی سازی Unreal Engine 5 هست و 20 درصد مصرف انرژی بهتری داره. عملکرد بخش هوش مصنوعی این چیپ 37 درصد افزایش داشته. با ترکیب این تغییرات در مجموع مصرف انرژی این چیپ 16 درصد بهتر شده که حدود 2 ساعت شارژدهی بهتری در حین بازی خواهد داشت.
این چیپ به زودی در پرچمداران شرکتهای مختلف ظاهر خواهد شد که اولین اونها شیاومی 17 خواهد بود.
🔎 gsmarena
📍 @TechTube
👍6🔥2👏1
گول تبلیغات رو نخورید! پاوربانکهای ارزون با ظرفیتهای فضایی و دروغی میتونن جون و مالتون رو به خطر بندازن. احتمال آتیشسوزی توی این باتریها خیلی بالاست.
امروزه همهچیز با باتری کار میکنه! از گوشی و لپتاپ گرفته تا اسکوتر و دریل شارژی. توی ایران، ماجرا حتی جدیتره: خیلیها برای قطعی برق، مودمها رو با UPSهای دستساز اینستاگرامی و باتریهای چینی بیکیفیت روشن میکنن. این یعنی خطر مضاعف.
گزارش Lumafield بعد از سیتیاسکن بیش از ۱۰۰۰ سلول 18650 از ۱۰ برند مختلف، هشدار مهمی داده:
«مشکل فقط ظرفیت الکی یا عمر کم نیست! خطر اصلی آتیش گرفتن سلولهاست.»
طبق آمار، سالی بیش از ۱۰ میلیارد سلول باطری ساخته میشه. خرابی فقط «یک در میلیون» هم میتونه به آتیشسوزیهای جدی ختم بشه. بررسیها نشون داده حدود ۸٪ از باتریهای ارزون «بیرونزدگی کاتد» دارن که یعنی ریسک بالقوهی اتصال کوتاه و انفجار. «حاشیه ایمنی آند» هم تا ۷ برابر بدتر از برندهای معتبر بوده. ظرفیتهای تقلبی مثل ۹۹۰۰ mAh عملاً فقط حدود ۱۲۰۰ mAh خروجی داشتن! یعنی یکدهم!
ظاهر همهی سلولها شبیه همه، ولی اگه آند درست طراحی نشده باشه یا لایهها موجدار بشن، اتصال کوتاه تقریباً حتمیه. توی پکهای چندسلولی مثل پاوربانک یا دوچرخه برقی، این خطر چند برابر هم میشه.
نتیجه:
سمت قیمتهای غیرعادی پایین و ظرفیتهای غیرواقعی نرید. فقط از فروشندهی معتبر بخرید. باتریهای مختلف رو با هم قاطی نکنید. به نشونههایی مثل تورم (بادکردگی)، گرمای غیرعادی، بوی شیمیایی یا صدای عجیب حساس باشید. اگه دیدید، همون لحظه باتری رو کنار بذارید.
گزارش کامل و فنی Lumafield رو میتونید از لینک زیر دانلود کنید:
📺Source
📡openpcb
امروزه همهچیز با باتری کار میکنه! از گوشی و لپتاپ گرفته تا اسکوتر و دریل شارژی. توی ایران، ماجرا حتی جدیتره: خیلیها برای قطعی برق، مودمها رو با UPSهای دستساز اینستاگرامی و باتریهای چینی بیکیفیت روشن میکنن. این یعنی خطر مضاعف.
گزارش Lumafield بعد از سیتیاسکن بیش از ۱۰۰۰ سلول 18650 از ۱۰ برند مختلف، هشدار مهمی داده:
«مشکل فقط ظرفیت الکی یا عمر کم نیست! خطر اصلی آتیش گرفتن سلولهاست.»
طبق آمار، سالی بیش از ۱۰ میلیارد سلول باطری ساخته میشه. خرابی فقط «یک در میلیون» هم میتونه به آتیشسوزیهای جدی ختم بشه. بررسیها نشون داده حدود ۸٪ از باتریهای ارزون «بیرونزدگی کاتد» دارن که یعنی ریسک بالقوهی اتصال کوتاه و انفجار. «حاشیه ایمنی آند» هم تا ۷ برابر بدتر از برندهای معتبر بوده. ظرفیتهای تقلبی مثل ۹۹۰۰ mAh عملاً فقط حدود ۱۲۰۰ mAh خروجی داشتن! یعنی یکدهم!
ظاهر همهی سلولها شبیه همه، ولی اگه آند درست طراحی نشده باشه یا لایهها موجدار بشن، اتصال کوتاه تقریباً حتمیه. توی پکهای چندسلولی مثل پاوربانک یا دوچرخه برقی، این خطر چند برابر هم میشه.
نتیجه:
سمت قیمتهای غیرعادی پایین و ظرفیتهای غیرواقعی نرید. فقط از فروشندهی معتبر بخرید. باتریهای مختلف رو با هم قاطی نکنید. به نشونههایی مثل تورم (بادکردگی)، گرمای غیرعادی، بوی شیمیایی یا صدای عجیب حساس باشید. اگه دیدید، همون لحظه باتری رو کنار بذارید.
گزارش کامل و فنی Lumafield رو میتونید از لینک زیر دانلود کنید:
📺Source
📡openpcb
❤16👍10
محققانی از دانشگاههای مختلف، از جمله دانشگاه کالیفرنیا، حملهای به نام «Mic‑E‑Mouse» توسعه دادن که ماوسهای گیمینگ با حساسیت بالا (DPI و polling rate بالا) رو به میکروفونهای پنهان تبدیل میکنه.
سنسورهای این ماوسها با اینکه برای ثبت حرکت طراحی شدن، بلکه ارتعاشات آکوستیکی میز رو هم ناخواسته ضبط میکنن. این موضوع به محققان اجازه داده تا بهجای روشهای سنتی جاسوسی، از یک پایپلاین ترکیبی پردازش سیگنال و یادگیری ماشین استفاده کنن و دادههای خام موس رو به گفتار قابلفهم تبدیل کنن، حتی بدون میکروفون واقعی یا فعال.
روند کار به این صورته که ماوس خیلی حساس روی میزه و یه برنامه آلوده (مثلاً بازی) به دادههای خام HID دسترسی داره. از اونجایی که دادهها ممکنه با زمانبندی نامنظم ثبت شده باشن، پس اول زمانبندی نمونهها اصلاح میشه تا همه روی یک نرخ نمونهبرداری قرار بگیرن. بعد با فیلترهای دیجیتال، فقط بازه فرکانسی مهم برای گفتار (~۲۰۰–۲۰۰۰ هرتز) جدا میشه تا بقیه فرکانسها حذف شن. چون حسگر ممکنه پاسخ فرکانسی خطی نداشته باشه، با کالیبراسیون اثرهای غیرخطی جبران میشن. در نهایت مدلهای یادگیری ماشین، نویزِ باقیمونده رو کم میکنن و از سیگنال ارتعاشی، موج صوتی شنیدنی میسازن.
آزمایشها نشون دادن این حمله در دنیای واقعی هم جواب میده! از
مزایای این روش نیاز فقط به دسترسی نرمافزاری و سختافزار معمولی، بدون میکروفون اضافی، و قابل اجرا برای کاربران خانگی یا سازمانیه!
با این حال کیفیت وابسته به محیطه (کثیفی یا نویز بالا عملکرد رو کم میکنه) و فعلاً نیاز به پردازش آفلاین هم وجود داره، محققان میگن با الگوریتمها یا فیلترهای تطبیقی این موارد قابلبهبودن.
موارد استفاده هم میتونه جاسوسی در محل کار یا خونه، استخراج اطلاعات حساس، سوءاستفاده در سیستمهای امنیتی که ماوس ورودیشونه، و بهکارگیری در روباتها/IoT یا دستگاههای پوشیدنی برای نظارت پنهان باشه.
خلاصه این مقاله رو میتونید تو این لینک و نسخه کاملش رو هم اینجا مطالعه کنید.
📡openpcb
سنسورهای این ماوسها با اینکه برای ثبت حرکت طراحی شدن، بلکه ارتعاشات آکوستیکی میز رو هم ناخواسته ضبط میکنن. این موضوع به محققان اجازه داده تا بهجای روشهای سنتی جاسوسی، از یک پایپلاین ترکیبی پردازش سیگنال و یادگیری ماشین استفاده کنن و دادههای خام موس رو به گفتار قابلفهم تبدیل کنن، حتی بدون میکروفون واقعی یا فعال.
روند کار به این صورته که ماوس خیلی حساس روی میزه و یه برنامه آلوده (مثلاً بازی) به دادههای خام HID دسترسی داره. از اونجایی که دادهها ممکنه با زمانبندی نامنظم ثبت شده باشن، پس اول زمانبندی نمونهها اصلاح میشه تا همه روی یک نرخ نمونهبرداری قرار بگیرن. بعد با فیلترهای دیجیتال، فقط بازه فرکانسی مهم برای گفتار (~۲۰۰–۲۰۰۰ هرتز) جدا میشه تا بقیه فرکانسها حذف شن. چون حسگر ممکنه پاسخ فرکانسی خطی نداشته باشه، با کالیبراسیون اثرهای غیرخطی جبران میشن. در نهایت مدلهای یادگیری ماشین، نویزِ باقیمونده رو کم میکنن و از سیگنال ارتعاشی، موج صوتی شنیدنی میسازن.
آزمایشها نشون دادن این حمله در دنیای واقعی هم جواب میده! از
مزایای این روش نیاز فقط به دسترسی نرمافزاری و سختافزار معمولی، بدون میکروفون اضافی، و قابل اجرا برای کاربران خانگی یا سازمانیه!
با این حال کیفیت وابسته به محیطه (کثیفی یا نویز بالا عملکرد رو کم میکنه) و فعلاً نیاز به پردازش آفلاین هم وجود داره، محققان میگن با الگوریتمها یا فیلترهای تطبیقی این موارد قابلبهبودن.
موارد استفاده هم میتونه جاسوسی در محل کار یا خونه، استخراج اطلاعات حساس، سوءاستفاده در سیستمهای امنیتی که ماوس ورودیشونه، و بهکارگیری در روباتها/IoT یا دستگاههای پوشیدنی برای نظارت پنهان باشه.
خلاصه این مقاله رو میتونید تو این لینک و نسخه کاملش رو هم اینجا مطالعه کنید.
📡openpcb
🔥20🤯13👍4
به نظرم کانکتور USB-C یکی از درخشانترین ایدههای بشره، البته بعد از چرخ!
با این حال مهندسهای شرکت Segger وقتی داشتن J-Link BASE Compact با قیمت ۴۰۰یورویی رو بازطراحی میکردن، انگار از چگونگی کارکرد این استاندارد اطلاعی نداشتن به طور خجالتآوری همون اشتباهی رو تکرار کردن که مهندسها حین طراحی Raspberry Pi 4 در سال ۲۰۱۹ مرتکب شده بودن.
اون موقع کابلهای موسوم به e-marked باعث میشدن برد رزبری اصلاً روشن نشه! حالا هم تاریخ با دقت آزمایشگاهی تکرار شده! این دیباگر وقتی با یکی از همین کابلها وصل میشه، تصمیم میگیره هیچ کاری نکنه! نه برق بگیره، نه حتی یه LED از خودش نشون بده.
داستان از پینهای CC میاد، همون دو لاین که باید به هاست بگن «من یه دیوایسم، لطفاً بهم برق بده». طبق استاندارد، دستگاه باید روی هر پین CC یه مقاومت ۵.۱ کیلواهمی به زمین بذاره تا هاست بفهمه مجازه برق بده، ولی Segger ظاهراً تصمیم گرفته هر دو پین رو با هم قاطی کنه، دقیقاً همون اشتباه کلاسیکی که Pi 4 قبل از اصلاح طراحی مرتکب شده بود.
مشخص شده هر دو مقاومت CC به هم وصل شدن، احتمالاً برای صرفهجویی در یه دیود ESD بیزبان. طنز ماجرا اینجاست که طراحی فعلی احتمالاً از نسخهی قبلی با micro-USB کپی شده و یکی یادش رفته که حالا دیگه CC هم داریم. اصلاحش چند سنت بیشتر خرج نداره، ولی نتیجهی نداشتنش یه دیباگر ۴۰۰ یوروییه که با کابل خودش کار میکنه و با کابلهای استانداردتر خاموش میمونه. راهحل فعلاً سادهست: از کابلهای e-marked مثل کابلهای Thunderbolt یا 100 W استفاده نکنید، یا برید سراغ USB-A-to-C، یا اگه اهل ریسکید، دو تا مقاومت عوض کنید و گارانتی رو بفرستید پی کارش.
📺Source
📡openpcb
با این حال مهندسهای شرکت Segger وقتی داشتن J-Link BASE Compact با قیمت ۴۰۰یورویی رو بازطراحی میکردن، انگار از چگونگی کارکرد این استاندارد اطلاعی نداشتن به طور خجالتآوری همون اشتباهی رو تکرار کردن که مهندسها حین طراحی Raspberry Pi 4 در سال ۲۰۱۹ مرتکب شده بودن.
اون موقع کابلهای موسوم به e-marked باعث میشدن برد رزبری اصلاً روشن نشه! حالا هم تاریخ با دقت آزمایشگاهی تکرار شده! این دیباگر وقتی با یکی از همین کابلها وصل میشه، تصمیم میگیره هیچ کاری نکنه! نه برق بگیره، نه حتی یه LED از خودش نشون بده.
داستان از پینهای CC میاد، همون دو لاین که باید به هاست بگن «من یه دیوایسم، لطفاً بهم برق بده». طبق استاندارد، دستگاه باید روی هر پین CC یه مقاومت ۵.۱ کیلواهمی به زمین بذاره تا هاست بفهمه مجازه برق بده، ولی Segger ظاهراً تصمیم گرفته هر دو پین رو با هم قاطی کنه، دقیقاً همون اشتباه کلاسیکی که Pi 4 قبل از اصلاح طراحی مرتکب شده بود.
مشخص شده هر دو مقاومت CC به هم وصل شدن، احتمالاً برای صرفهجویی در یه دیود ESD بیزبان. طنز ماجرا اینجاست که طراحی فعلی احتمالاً از نسخهی قبلی با micro-USB کپی شده و یکی یادش رفته که حالا دیگه CC هم داریم. اصلاحش چند سنت بیشتر خرج نداره، ولی نتیجهی نداشتنش یه دیباگر ۴۰۰ یوروییه که با کابل خودش کار میکنه و با کابلهای استانداردتر خاموش میمونه. راهحل فعلاً سادهست: از کابلهای e-marked مثل کابلهای Thunderbolt یا 100 W استفاده نکنید، یا برید سراغ USB-A-to-C، یا اگه اهل ریسکید، دو تا مقاومت عوض کنید و گارانتی رو بفرستید پی کارش.
📺Source
📡openpcb
👍29❤8
کوالکام آردوینو رو خرید!
بله، همون آردوینویی که سالها الهامبخش رویاپردازان سختافزار بود و باهاش میشد از یه چراغ چشمکزن ساده تا رباتهای پیچیده ساخت، حالا رسماً رفته زیر پرچم Qualcomm. معاملهای که احتمالاً یکی از مهمترین نقطهعطفهای دنیای میکرها و دوستداران آماتور سختافزارها باشه!
قراره ترکیب جالبی ببینیم! قدرت پردازشی و هوش مصنوعی کوالکام در کنار سادگی و جامعهی باز آردوینو. نتیجه این میشه که کابران این پلتفرم میتونن ایدههاشون رو خیلی سریعتر از قبل به محصول واقعی تبدیل کنن.
اولین ثمرهی این خرید هم Arduino UNO Qـه. یه برد با دو پردازنده، یکی لینوکس Debian بالا میاره، اون یکی میکروکنترلر ریلتایمه. یعنی از یه طرف قدرت محاسباتی بالا داری، از اون طرف کنترل دقیق در زمان واقعی. قلب این برد پردازندهی Qualcomm Dragonwing QRB2210ـه، مخصوص اجرای هوش مصنوعی روی صدا و تصویره! این برد میتونه تو سیستمها و اتوماسیون هوشمند خونگی گرفته تا رباتیک آماتور کاربرد داشته باشه. هدف آردوینو اینه که UNO Q بشه ابزار پایهی هر توسعهدهندهای، از تازهکار تا حرفهای (هرچند شخصاً بعید میدونم!)
در کنارش، آردوینو یه ابزار تازه معرفی کرده به اسم Arduino App Lab. یه محیط توسعهی یکپارچه که کل تجربهی آردوینو رو از سیستمعاملهای ریلتایم تا لینوکس، پایتون و پایپلاینهای هوش مصنوعی تو یه فضا جمع میکنه. دیگه لازم نیست بین چند محیط مختلف سوییچ کنید. App Lab اوپنسورسه و هدفش اینه که مسیر تبدیل ایده به محصول نهایی، مخصوصاً تو پروژههای AI، سریعتر و تمیزتر بشه.
کوالکام با خریدهای اخیرش مثل Foundries.io و Edge Impulse داشت نشون میداد دنبال ساخت یه Edge Platform کامله! حالا با آردوینو اون پازل تقریباً تکمیل شده.
فابیو ویولانته، مدیرعامل آردوینو گفته این فقط شروعه و UNO Q قراره دروازهی ورود به یه دورهی جدید باشه! دورهای که توسعهی هوش مصنوعی راحتتر، مقیاسپذیرتر و در دسترستر میشه.
ماسیمو بانزی، اون یکی بنیانگذار آردوینو هم گفته:
«ما از اول دنبال سادگی و جامعه بودیم، حالا با کوالکام میخوایم همون فلسفه رو با ابزارهای هوش مصنوعی پیشرفته ادامه بدیم.»
خبر اصلی رو میتونید اینجا بخونید.
📡openpcb
بله، همون آردوینویی که سالها الهامبخش رویاپردازان سختافزار بود و باهاش میشد از یه چراغ چشمکزن ساده تا رباتهای پیچیده ساخت، حالا رسماً رفته زیر پرچم Qualcomm. معاملهای که احتمالاً یکی از مهمترین نقطهعطفهای دنیای میکرها و دوستداران آماتور سختافزارها باشه!
قراره ترکیب جالبی ببینیم! قدرت پردازشی و هوش مصنوعی کوالکام در کنار سادگی و جامعهی باز آردوینو. نتیجه این میشه که کابران این پلتفرم میتونن ایدههاشون رو خیلی سریعتر از قبل به محصول واقعی تبدیل کنن.
اولین ثمرهی این خرید هم Arduino UNO Qـه. یه برد با دو پردازنده، یکی لینوکس Debian بالا میاره، اون یکی میکروکنترلر ریلتایمه. یعنی از یه طرف قدرت محاسباتی بالا داری، از اون طرف کنترل دقیق در زمان واقعی. قلب این برد پردازندهی Qualcomm Dragonwing QRB2210ـه، مخصوص اجرای هوش مصنوعی روی صدا و تصویره! این برد میتونه تو سیستمها و اتوماسیون هوشمند خونگی گرفته تا رباتیک آماتور کاربرد داشته باشه. هدف آردوینو اینه که UNO Q بشه ابزار پایهی هر توسعهدهندهای، از تازهکار تا حرفهای (هرچند شخصاً بعید میدونم!)
در کنارش، آردوینو یه ابزار تازه معرفی کرده به اسم Arduino App Lab. یه محیط توسعهی یکپارچه که کل تجربهی آردوینو رو از سیستمعاملهای ریلتایم تا لینوکس، پایتون و پایپلاینهای هوش مصنوعی تو یه فضا جمع میکنه. دیگه لازم نیست بین چند محیط مختلف سوییچ کنید. App Lab اوپنسورسه و هدفش اینه که مسیر تبدیل ایده به محصول نهایی، مخصوصاً تو پروژههای AI، سریعتر و تمیزتر بشه.
کوالکام با خریدهای اخیرش مثل Foundries.io و Edge Impulse داشت نشون میداد دنبال ساخت یه Edge Platform کامله! حالا با آردوینو اون پازل تقریباً تکمیل شده.
فابیو ویولانته، مدیرعامل آردوینو گفته این فقط شروعه و UNO Q قراره دروازهی ورود به یه دورهی جدید باشه! دورهای که توسعهی هوش مصنوعی راحتتر، مقیاسپذیرتر و در دسترستر میشه.
ماسیمو بانزی، اون یکی بنیانگذار آردوینو هم گفته:
«ما از اول دنبال سادگی و جامعه بودیم، حالا با کوالکام میخوایم همون فلسفه رو با ابزارهای هوش مصنوعی پیشرفته ادامه بدیم.»
خبر اصلی رو میتونید اینجا بخونید.
📡openpcb
❤25🔥7👍6
اورنجپای کامپیوتر تکبردی جدیدی معرفی کرده که عملاً یه غول برای پردازشهای هوش مصنوعی روی لبهست. این برد رو OrangePi 6 Plus صدا کنیم و کلی امکانات جذاب داره، قلب این برد یه پردازنده ۱۲هستهای ۶۴بیتی با یه NPU اختصاصیه که مجموعاً تا ۴۵ تِرا عملیات بر ثانیه (TOPS) قدرت داره. یعنی برای اجرای مدلهای زبانی بزرگ، بینایی ماشین، چتبات یا حتی تولید تصویر با هوش مصنوعی، کاملاً آمادهست.
این برد با رم LPDDR5 تا ظرفیت ۶۴ گیگابایت عرضه میشه و دو تا اسلات M.2 Key-M برای SSDهای NVMe داره. عملاً یه مینیورکاستیشنه. دو پورت اترنت ۵ گیگابیتی، چند تا پورت USB3.0 و USB2.0، ورودی و خروجی تصویر از نوع HDMI، DP، Type-C و eDP، و حتی پورت MIPI برای دوربین عملا هر چیزی برای پروژههای صنعتی، سیستمهای هوشمند، یا حتی یه سرور خونگی جمع و جور نیازه، این برد داره.
پردازنده گرافیکی داخلیش هم از ویدئوهای ۸K و Ray Tracing پشتیبانی میکنه، که برای اپهای طراحی سهبعدی یا بازی هم کاملاً قابل استفادهست. از نظر نرمافزاری هم دبیان، اوبونتو، اندروید، ویندوز و ROS2 رو پشتیبانی میکنه و با مستندات کامل و ابزارهای متنباز.
تغذیهاش از طریق Type-C PD تا ۱۰۰ وات تأمین میشه و ابعادش حدود ۱۱۵ در ۱۰۰ میلیمتره، با وزن فقط ۱۳۲ گرم. یه فن PWM داره، دکمههای بوت و ریست، و حتی کانکتور باتری و RTC برای پروژههای خاص.
از نظر عملکرد، OrangePi 6 Plus عملاً وارد قلمرو بردهایی مثل NVIDIA Jetson Orin Nano شده و میتونه جدیترین رقیبش باشه مخصوصاً وقتی بحث اجرای مدلهای هوش مصنوعی بزرگ روی لبه (Edge AI) پیش میاد.
اطلاعات کامل این برد رو میتونید اینجا ببینید.
📡openpcb
این برد با رم LPDDR5 تا ظرفیت ۶۴ گیگابایت عرضه میشه و دو تا اسلات M.2 Key-M برای SSDهای NVMe داره. عملاً یه مینیورکاستیشنه. دو پورت اترنت ۵ گیگابیتی، چند تا پورت USB3.0 و USB2.0، ورودی و خروجی تصویر از نوع HDMI، DP، Type-C و eDP، و حتی پورت MIPI برای دوربین عملا هر چیزی برای پروژههای صنعتی، سیستمهای هوشمند، یا حتی یه سرور خونگی جمع و جور نیازه، این برد داره.
پردازنده گرافیکی داخلیش هم از ویدئوهای ۸K و Ray Tracing پشتیبانی میکنه، که برای اپهای طراحی سهبعدی یا بازی هم کاملاً قابل استفادهست. از نظر نرمافزاری هم دبیان، اوبونتو، اندروید، ویندوز و ROS2 رو پشتیبانی میکنه و با مستندات کامل و ابزارهای متنباز.
تغذیهاش از طریق Type-C PD تا ۱۰۰ وات تأمین میشه و ابعادش حدود ۱۱۵ در ۱۰۰ میلیمتره، با وزن فقط ۱۳۲ گرم. یه فن PWM داره، دکمههای بوت و ریست، و حتی کانکتور باتری و RTC برای پروژههای خاص.
از نظر عملکرد، OrangePi 6 Plus عملاً وارد قلمرو بردهایی مثل NVIDIA Jetson Orin Nano شده و میتونه جدیترین رقیبش باشه مخصوصاً وقتی بحث اجرای مدلهای هوش مصنوعی بزرگ روی لبه (Edge AI) پیش میاد.
اطلاعات کامل این برد رو میتونید اینجا ببینید.
📡openpcb
🔥19❤8👍2
فریمور آپدیت از نوع OTA وجود داشت، وقتی هنوز کسی نمیدونست OTA یعنی چی!
با اینکه در دهه ۸۰ میلادی خبری از وایفای، اینترنت یا سرور نبود، ولی رادیوهای FM تو هلند داشتن برای کامپیوترهای خونگی برنامه پخش کامپیوتری پخش میکردن، اونم فقط با صدای بوقی که تشکیل میشد از دو فرکانس ۱۲۰۰ و ۲۴۰۰ و مدولاسیونFSK روی رادیو FM که خودش هم یه بار مدوله شده بود!
اسم این ماجرا BASICODE بود! یه استاندارد عجیب و درخشان از اوایل دههی ۸۰ که میخواست همهی کامپیوترهای خُرد اون دوران رو با یه زبان واحد به هم برسونه.
ماجرا از یه مهندس رادیویی به اسم Hessel de Vries شروع شد، کسی که برای شبکهی ملی هلند (NOS) کار میکرد. اون فهمید که کامپیوترهای اون دوران از کومودور گرفته تا ZX Spectrum، BBC Micro و MSX هر کدوم زبان BASIC مختص به خودشون رو دارن و عملاً نمیتونن با هم حرف بزنن. نتیجه؟ BASICODE رو اختراع کرد، یا به قول خودشون «اسپرانتوی کامپیوترها». یه نسخهی حداقلی و استاندارد از BASIC که روی هر دستگاهی اجرا میشد، فقط کافی بود یه «بیسکودر» مخصوص اون دستگاه رو لود میکردی.
بیسکودر یه جور محیط اجرایی بود، یه بوتلودر دستساز که توش تابعهای مشترک برای ورودی/خروجی، نمایش متن، ذخیرهسازی روی کاست و بعدتر صدا و گرافیک ساده تعریف شده بود! برنامهها از خط ۱۰۰۰ به بعد شروع میشدن و بقیهی خطوط پایینتر مخصوص خود بیسکودر بودن. برای فراخوانی توابعش هم فقط یه GOSUB میزدی، درست مثل یه API ابتدایی برای ۸ بیتیها.
حالا تصور کنید رادیو برنامه رو به صورت صدا پخش میکرد، تو ضبط میکردی روی نوار کاست، بعد اون رو به کامپیوترت میدادی تا کدها رو از توی صدا بخونه و اجرا کنه. به معنای واقعی کلمه «OTA»! فقط نه با پکت و فرکانس ۲.۴ گیگاهرتز، بلکه با بوق ۱۲۰۰ و ۲۴۰۰ هرتز! سرعت انتقالش؟ حدود ۶ کیلوبایت در دقیقه. بله، دقیقه. ولی برای اون دوران، همین هم مثل جادو بود.
در نسخهی BASICODE 2 سال ۱۹۸۳، کارکردها گستردهتر شد مدیریت داده، ورودی از نوار، و یه کتابخونهی کامل از حدود ۵۰ تابع مشترک. نسخهی سوم (BASICODE 3) در ۱۹۸۶ حتی گرافیک تکرنگ و صدا هم اضافه کرد، و نسخهی 3C در ۱۹۹۱ رنگی هم شد. برنامهها از رادیو در سراسر آلمان شرقی و هلند پخش میشدن، حتی روی صفحهگِرامافون هم منتشر میکردن تا مردم بتونن کد رو از صدا بخونن!
اما مثل همهی پروژههای قهرمانانهی دههی ۸۰، پایانش با ظهور ۱۶ و ۳۲ بیتیها رقم خورد. وقتی آمیگا، آتاری ST و PCها با سیستمعاملهای گرافیکی اومدن، BASICODE دیگه زیادی ساده به نظر میرسید. نسخهی چهارمی هم برنامهریزی شده بود، ولی هیچوقت ساخته نشد.
با این حال، BASICODE هنوز یه میراث زندهست. خیلی از مفاهیمی که امروز تو جاوا، PDF یا حتی پلتفرمهای کراسپلتفرم مدرن میبینیم، ریشه در همون ایده داره: یه استاندارد زبانی مشترک + یه مفسر مخصوص هر سیستم. همون کاری که JVM برای جاوا میکنه، بیسکودر برای کامپیوترهای ۸ بیتی میکرد.
و شاید قشنگترین بخش ماجرا این بود که کل سیستم، فقط با یه رادیو، یه نوار کاست، و چند خط BASIC کار میکرد.
جالب اینه که هنوزم هستن کسایی که به عنوان سرگرمی از این شیوه و زبان و ... استفاده میکنند.
تو این لینک میتونید در موردش بخونید.
📡openpcb
با اینکه در دهه ۸۰ میلادی خبری از وایفای، اینترنت یا سرور نبود، ولی رادیوهای FM تو هلند داشتن برای کامپیوترهای خونگی برنامه پخش کامپیوتری پخش میکردن، اونم فقط با صدای بوقی که تشکیل میشد از دو فرکانس ۱۲۰۰ و ۲۴۰۰ و مدولاسیونFSK روی رادیو FM که خودش هم یه بار مدوله شده بود!
اسم این ماجرا BASICODE بود! یه استاندارد عجیب و درخشان از اوایل دههی ۸۰ که میخواست همهی کامپیوترهای خُرد اون دوران رو با یه زبان واحد به هم برسونه.
ماجرا از یه مهندس رادیویی به اسم Hessel de Vries شروع شد، کسی که برای شبکهی ملی هلند (NOS) کار میکرد. اون فهمید که کامپیوترهای اون دوران از کومودور گرفته تا ZX Spectrum، BBC Micro و MSX هر کدوم زبان BASIC مختص به خودشون رو دارن و عملاً نمیتونن با هم حرف بزنن. نتیجه؟ BASICODE رو اختراع کرد، یا به قول خودشون «اسپرانتوی کامپیوترها». یه نسخهی حداقلی و استاندارد از BASIC که روی هر دستگاهی اجرا میشد، فقط کافی بود یه «بیسکودر» مخصوص اون دستگاه رو لود میکردی.
بیسکودر یه جور محیط اجرایی بود، یه بوتلودر دستساز که توش تابعهای مشترک برای ورودی/خروجی، نمایش متن، ذخیرهسازی روی کاست و بعدتر صدا و گرافیک ساده تعریف شده بود! برنامهها از خط ۱۰۰۰ به بعد شروع میشدن و بقیهی خطوط پایینتر مخصوص خود بیسکودر بودن. برای فراخوانی توابعش هم فقط یه GOSUB میزدی، درست مثل یه API ابتدایی برای ۸ بیتیها.
حالا تصور کنید رادیو برنامه رو به صورت صدا پخش میکرد، تو ضبط میکردی روی نوار کاست، بعد اون رو به کامپیوترت میدادی تا کدها رو از توی صدا بخونه و اجرا کنه. به معنای واقعی کلمه «OTA»! فقط نه با پکت و فرکانس ۲.۴ گیگاهرتز، بلکه با بوق ۱۲۰۰ و ۲۴۰۰ هرتز! سرعت انتقالش؟ حدود ۶ کیلوبایت در دقیقه. بله، دقیقه. ولی برای اون دوران، همین هم مثل جادو بود.
در نسخهی BASICODE 2 سال ۱۹۸۳، کارکردها گستردهتر شد مدیریت داده، ورودی از نوار، و یه کتابخونهی کامل از حدود ۵۰ تابع مشترک. نسخهی سوم (BASICODE 3) در ۱۹۸۶ حتی گرافیک تکرنگ و صدا هم اضافه کرد، و نسخهی 3C در ۱۹۹۱ رنگی هم شد. برنامهها از رادیو در سراسر آلمان شرقی و هلند پخش میشدن، حتی روی صفحهگِرامافون هم منتشر میکردن تا مردم بتونن کد رو از صدا بخونن!
اما مثل همهی پروژههای قهرمانانهی دههی ۸۰، پایانش با ظهور ۱۶ و ۳۲ بیتیها رقم خورد. وقتی آمیگا، آتاری ST و PCها با سیستمعاملهای گرافیکی اومدن، BASICODE دیگه زیادی ساده به نظر میرسید. نسخهی چهارمی هم برنامهریزی شده بود، ولی هیچوقت ساخته نشد.
با این حال، BASICODE هنوز یه میراث زندهست. خیلی از مفاهیمی که امروز تو جاوا، PDF یا حتی پلتفرمهای کراسپلتفرم مدرن میبینیم، ریشه در همون ایده داره: یه استاندارد زبانی مشترک + یه مفسر مخصوص هر سیستم. همون کاری که JVM برای جاوا میکنه، بیسکودر برای کامپیوترهای ۸ بیتی میکرد.
و شاید قشنگترین بخش ماجرا این بود که کل سیستم، فقط با یه رادیو، یه نوار کاست، و چند خط BASIC کار میکرد.
جالب اینه که هنوزم هستن کسایی که به عنوان سرگرمی از این شیوه و زبان و ... استفاده میکنند.
تو این لینک میتونید در موردش بخونید.
📡openpcb
10🔥29❤9👌2
This media is not supported in your browser
VIEW IN TELEGRAM
اگه یادتون باشه قبلاً تو این پست در مورد یکی از پروژههای خاص استیو نوشته بودم! که با ترکیب یه برد رزبریپیکو و یه دانگل hdmi یک ابزار DAQ با نرخ انتقال داده 75 مگابایت بر ثانیه ساخته بود!
استیو یبار دیگه با پروژه جذاب Pico-100BASE-TX برگشته! یه فرستندهی اترنت سریع ۱۰۰ مگابیتی که کامل تو نرمافزار روی میکروکنترلر یک دلاری 2040 یا RP2350 بدون هیچ سختافزار اضافه دیگهای اجرا میشه.
مارکگراف با ترکیب PIO و DMA تونسته کدینگهای MLT-3، 4B5B و scrambling رو با نرخ ۱۲۵ MHz پیاده کنه. نتیجهاش یه لینک واقعی ۱۰۰ مگابیتی شده که حدود ۱۱ مگابایت بر ثانیه میتونه از طریق UDP داده بفرسته — مثلاً استریم زندهی صدا یا دادهی ADC.
جزییات کامل این پروژه رو اینجا میتونید بررسی کنید.
📡openpcb
استیو یبار دیگه با پروژه جذاب Pico-100BASE-TX برگشته! یه فرستندهی اترنت سریع ۱۰۰ مگابیتی که کامل تو نرمافزار روی میکروکنترلر یک دلاری 2040 یا RP2350 بدون هیچ سختافزار اضافه دیگهای اجرا میشه.
مارکگراف با ترکیب PIO و DMA تونسته کدینگهای MLT-3، 4B5B و scrambling رو با نرخ ۱۲۵ MHz پیاده کنه. نتیجهاش یه لینک واقعی ۱۰۰ مگابیتی شده که حدود ۱۱ مگابایت بر ثانیه میتونه از طریق UDP داده بفرسته — مثلاً استریم زندهی صدا یا دادهی ADC.
جزییات کامل این پروژه رو اینجا میتونید بررسی کنید.
📡openpcb
🔥26❤5
به نظر تو ژاپن برای «ساخت قطعات الکترونیکی دقیق و فوقکممصرف» جایزه دارن😬
چیپ NC4650 از Nisshinbo که یه رگولاتور بوست فوق کممصرفه، تو جایزهی «سوپر قطعهسازی ۲۰۲۵» (جایزهی قطعات برتر مونوزوکوری ژاپن🤷🏻♂️) تو بخش «قطعات الکتریکی-الکترونیکی» برنده شده.
جریان حالت استندبای این رگولاتور ۷۰ نانوآمپره.
مراسم اهدای جایزه هم دسامبر برگزار میشه انگار!
منبع:
https://x.com/NisshinboMicro/status/1986249092587266106
📡openpcb
چیپ NC4650 از Nisshinbo که یه رگولاتور بوست فوق کممصرفه، تو جایزهی «سوپر قطعهسازی ۲۰۲۵» (جایزهی قطعات برتر مونوزوکوری ژاپن🤷🏻♂️) تو بخش «قطعات الکتریکی-الکترونیکی» برنده شده.
جریان حالت استندبای این رگولاتور ۷۰ نانوآمپره.
مراسم اهدای جایزه هم دسامبر برگزار میشه انگار!
منبع:
https://x.com/NisshinboMicro/status/1986249092587266106
📡openpcb
❤24🔥13🏆2
اگه چند سال پیش میگفتن یه روزی میشه با زیر ۲۰۰ دلار چیپ اختصاصی ASIC خودت رو تولید کنی! جدی نمیگرفتم. ولی خب الان به لطف اکوسیستم TinyTapeout و سرویسهای شاتل ارزون که فبها باز کردن، دیگه واقعاً ممکنه.
الان با حدود ۱۸۵ یورو میتونی یه طرح ساده دیجیتال بسازی، Tapeout بدی، و نسخه واقعی چیپ رو دستت بگیری. نه شبیهسازی، نه FPGA، خود چیپ سیلیکونی رو!
این یعنی دروازه طراحی چیپ از دست «شرکتهای میلیارد دلاری» دراومده و رسیده به دست میکرو تیمها، دانشجوها، DIYها و دیوونههای کنجکاو!
کمکم دنیای الکترونیک هم مثل نرمافزار داره دموکراتیک میشه و از این به بعد «من خودم چیپش رو ساختم» دیگه ادعای عجیبغریبی نیست، روزمرهست!
لیست پروژههایی که تا الان ثبت شدن هم اینجاست، کارای عجیبغریب قشنگ زیاد هست:
https://app.tinytapeout.com/shuttles/ttsky25b
📡openpcb
الان با حدود ۱۸۵ یورو میتونی یه طرح ساده دیجیتال بسازی، Tapeout بدی، و نسخه واقعی چیپ رو دستت بگیری. نه شبیهسازی، نه FPGA، خود چیپ سیلیکونی رو!
این یعنی دروازه طراحی چیپ از دست «شرکتهای میلیارد دلاری» دراومده و رسیده به دست میکرو تیمها، دانشجوها، DIYها و دیوونههای کنجکاو!
کمکم دنیای الکترونیک هم مثل نرمافزار داره دموکراتیک میشه و از این به بعد «من خودم چیپش رو ساختم» دیگه ادعای عجیبغریبی نیست، روزمرهست!
لیست پروژههایی که تا الان ثبت شدن هم اینجاست، کارای عجیبغریب قشنگ زیاد هست:
https://app.tinytapeout.com/shuttles/ttsky25b
📡openpcb
🔥31❤12👍6
با توجه به پست قبلی بد نیست یه مروری کنیم ببینیم چی شد که ساخت یه چیپ اختصاصی حتی برای یک نوجوون ۱۶ساله با هزینه ۱۸۰ دلار ممکن شد!
ماجرا برمیگرده به چند سال پیش، وقتی ایدهی «ارزونکردن Tapeout» تازه جدی شد. ریشهی کار از همکاری Google و فب SkyWater شروع شد. گوگل اومد با اسکایواتر روی یه ایده تاریخی دست گذاشت: فرآیند ساخت تراشهی ۱۳۰ نانومتری رو از حالت محرمانه درآورد و بهشکل یک Open PDK عمومی منتشر کرد. یعنی دیتایی که قبلاً فقط شرکتهای میلیارددلاری بهش دسترسی داشتن، یکباره شد عمومی. این لحظه واقعاً نقطهی عطف بود.
اینطوری راه برای ابزارهای طراحی متنباز باز شد. ابزارهایی مثل OpenLane و Yosys و Magic که قبلاً فقط تو حاشیه بودن، یهدفعه تبدیل شدن به گزینههای واقعی برای طراحی ASIC بدون لایسنسهای چندمیلیوندلاری! یعنی از این لحظه طراحی چیپ از «باشگاه اختصاصی چند شرکت غول» تبدیل شد به چیزی که عملاً روی لپتاپ خونه هم میشد انجامش داد.
منفعتش برای اسکایواتر چی بود؟ خب اسکایواتر یه فب ۱۳۰نانومتری داشت که دیگه برای صنعت موبایل و CPUهای جدید جذاب نبود، اما برای چیپهای دیجیتالی ساده، IoT، مدارهای ترکیبی و هزار مدل کاربرد ساده، هنوز کاملاً بهدردبخور بود. اونها به جای خاک خوردن خط تولید، گفتن: «خب چرا تبدیلش نکنیم به یه پلتفرم Tapeout ارزون؟» اینجاست که ایدهی Multi Project Wafer جرقه خورد: چند نفر طراحیهاشون رو با هم میفرستن و هزینهی یه ویفر بین همه تقسیم میشه. خط قدیمی دوباره فعال شد، ولی اینبار نه برای تولید انبوه، بلکه بهعنوان ماشین Tapeout کمهزینه. و در کنارش، مشتریهای آینده هم تربیت شدن!
همینجا بود که یه سری آدم خوره و خوشفکر دور هم جمع شدن که بگن طراحی ASIC باید «برای همه» قابل انجام باشه. از دل همین فضا پروژهی TinyTapeout بیرون اومد. Matt Venn شد چهرهی جلوی صحنه! آدمی که از روز اول دنبال این بود که ساخت چیپ مثل پروژههای نرمافزاری بشه: متنباز، قابل تجربه، و بدون مانعهای سنگین مالی. گوگل هم ظرفیت شاتل و حمایت مالی گذاشت که دانشگاهیها، هکرها و آدمهای کنجکاو واقعاً بتونن Tapeout کنن، نه فقط حرفش رو بزنن.
این حمایت گوگل هم اصلاً از روی خیرخواهی نبود! بلکه دقیق و بلندمدت بود. گوگل دنبال آیندهایه که سختافزار هم مثل نرمافزار «قابل اتوماسیون و تولید بهوسیله ابزارها» باشه. برای رسیدن به «AI-Silicon Design» باید جامعهی طراح وجود داشته باشه. این پروژه عملاً داشت نسل بعدی مهندسهای سیلیکون رو میساخت.
در نهایت هم هیچ آسیبی به «رازهای بزرگ» وارد نشد. نه فرایند ۵ نانومتر باز شد، نه ۷ نانومتر. چیزی که باز شد، فرآیندی بود که از نظر اقتصادی از اوجش گذشته بود و حالا ارزش جدید پیدا کرد. در عوض چی بهدست اومد؟ نیروی انسانی بیشتر، اکوسیستم متنباز قویتر، بازگشت جریان درآمد به فبی که عملاً از چرخه خارج شده بود، و نفوذ استراتژیک در آیندهی طراحی تراشه.
در اصل جایی که بقیه فقط «یه چیپ ۱۳۰ نانومتری» میدیدن، گوگل و اسکایواتر داشتن نسل طراحهای فردا رو میساختن و راه رو برای «سختافزار مثل نرمافزار» هموار میکردن.
📡openpcb
ماجرا برمیگرده به چند سال پیش، وقتی ایدهی «ارزونکردن Tapeout» تازه جدی شد. ریشهی کار از همکاری Google و فب SkyWater شروع شد. گوگل اومد با اسکایواتر روی یه ایده تاریخی دست گذاشت: فرآیند ساخت تراشهی ۱۳۰ نانومتری رو از حالت محرمانه درآورد و بهشکل یک Open PDK عمومی منتشر کرد. یعنی دیتایی که قبلاً فقط شرکتهای میلیارددلاری بهش دسترسی داشتن، یکباره شد عمومی. این لحظه واقعاً نقطهی عطف بود.
اینطوری راه برای ابزارهای طراحی متنباز باز شد. ابزارهایی مثل OpenLane و Yosys و Magic که قبلاً فقط تو حاشیه بودن، یهدفعه تبدیل شدن به گزینههای واقعی برای طراحی ASIC بدون لایسنسهای چندمیلیوندلاری! یعنی از این لحظه طراحی چیپ از «باشگاه اختصاصی چند شرکت غول» تبدیل شد به چیزی که عملاً روی لپتاپ خونه هم میشد انجامش داد.
منفعتش برای اسکایواتر چی بود؟ خب اسکایواتر یه فب ۱۳۰نانومتری داشت که دیگه برای صنعت موبایل و CPUهای جدید جذاب نبود، اما برای چیپهای دیجیتالی ساده، IoT، مدارهای ترکیبی و هزار مدل کاربرد ساده، هنوز کاملاً بهدردبخور بود. اونها به جای خاک خوردن خط تولید، گفتن: «خب چرا تبدیلش نکنیم به یه پلتفرم Tapeout ارزون؟» اینجاست که ایدهی Multi Project Wafer جرقه خورد: چند نفر طراحیهاشون رو با هم میفرستن و هزینهی یه ویفر بین همه تقسیم میشه. خط قدیمی دوباره فعال شد، ولی اینبار نه برای تولید انبوه، بلکه بهعنوان ماشین Tapeout کمهزینه. و در کنارش، مشتریهای آینده هم تربیت شدن!
همینجا بود که یه سری آدم خوره و خوشفکر دور هم جمع شدن که بگن طراحی ASIC باید «برای همه» قابل انجام باشه. از دل همین فضا پروژهی TinyTapeout بیرون اومد. Matt Venn شد چهرهی جلوی صحنه! آدمی که از روز اول دنبال این بود که ساخت چیپ مثل پروژههای نرمافزاری بشه: متنباز، قابل تجربه، و بدون مانعهای سنگین مالی. گوگل هم ظرفیت شاتل و حمایت مالی گذاشت که دانشگاهیها، هکرها و آدمهای کنجکاو واقعاً بتونن Tapeout کنن، نه فقط حرفش رو بزنن.
این حمایت گوگل هم اصلاً از روی خیرخواهی نبود! بلکه دقیق و بلندمدت بود. گوگل دنبال آیندهایه که سختافزار هم مثل نرمافزار «قابل اتوماسیون و تولید بهوسیله ابزارها» باشه. برای رسیدن به «AI-Silicon Design» باید جامعهی طراح وجود داشته باشه. این پروژه عملاً داشت نسل بعدی مهندسهای سیلیکون رو میساخت.
در نهایت هم هیچ آسیبی به «رازهای بزرگ» وارد نشد. نه فرایند ۵ نانومتر باز شد، نه ۷ نانومتر. چیزی که باز شد، فرآیندی بود که از نظر اقتصادی از اوجش گذشته بود و حالا ارزش جدید پیدا کرد. در عوض چی بهدست اومد؟ نیروی انسانی بیشتر، اکوسیستم متنباز قویتر، بازگشت جریان درآمد به فبی که عملاً از چرخه خارج شده بود، و نفوذ استراتژیک در آیندهی طراحی تراشه.
در اصل جایی که بقیه فقط «یه چیپ ۱۳۰ نانومتری» میدیدن، گوگل و اسکایواتر داشتن نسل طراحهای فردا رو میساختن و راه رو برای «سختافزار مثل نرمافزار» هموار میکردن.
📡openpcb
👍26❤14🔥5
در ادامه دو پست قبلی میخوام توضیح بدم کل روند Tapeout کردن چطور کار میکنه و چطور میتونید چیپ ASIC خودتون رو با زیر ۲۰۰ دلار بسازید.
از اونجایی که TinyTapeout کل زنجیرهی «طراحی > سنتز > P&R > تولید» رو تبدیل کرده به یک خط اتوماتیک و دمدستی. اول شما مدار دیجیتالتون رو طراحی و تست میکنید. این مرحله کاملاً رایگانه. میتونید از Wokwi استفاده کنید که بهشکل شماتیک و منطقی مدار رو میسازید و شبیه سازی میکنید!
اگر هم از اونایی هستید که با HDL راحتید، مستقیم Verilog مینویسید و تستبنچ میزنید. نکتهی کلیدی اینه که TinyTapeout یک Interface ثابت بین طراحی شما و پدهای چیپ داره, یعنی شما فقط «منطق داخلی» رو میسازید، بخش «پدها، باندینگ، IO آپشنها, کلاک و ریست» استاندارد شده و همین باعث میشه طراحی خیلی قابل اعتماد و قابل Tapeout باشه.
وقتی از صحت مدار مطمئن شدید، پروژهتون رو روی GitHub میذارید و فقط یک فایل info.yaml رو پر میکنید. از اینجا به بعد، GitHub Actions وارد بازی میشه و پروسه سنتز منطق با Yosys، Place & Route با OpenLane، و در نهایت تولید فایل GDSII. GDS همون نقشهی واقعی سیمکشی لایههای فلز و ترانزیستورهای پلی/دیفیوژن هست اتفاق میافته و مستقیم میره فب. این مرحله اتوماتیکه یعنی شما دقیقاً دارید از همون پایپلاین ابزارهای اپنسورس صنعتی استفاده میکنید! بدون لایسنسهای میلیون دلاری Cadence و Synopsys.
هزینه فقط وقتی پرداخت میشه که تصمیم میگیرید طرحتون رو روی شاتل Tapeout واقعی بفرستید. همونطور که قبلا گفتم TinyTapeout از Multi-Project Wafer استفاده میکنه یعنی چند ده طرح با هم روی یک ویفر ساخته میشن و هزینه بین همه تقسیم میشه. همین باعث میشه قیمت Tapeout بیاد روی حدود ۱۸۵ یورو.
وقتی چیپ تولید شد، براتون روی یک هدر برد دمو مونتاژ شده ارسال میشه. این برد شامل IOهای استاندارد، 7-Segment، هدرهای توسعه، و یک Raspberry Pi Pico بهعنوان «درایور + محیط تست» هست. با MicroPython یا حتی UART ساده میتونید ورودی بدید، خروجی بخونید، و رفتار چیپتون رو ببینید و وریفای کنید. این همون لحظهایه که پروژه از یک شبیهسازی دیجیتال تبدیل میشه به یک چیپ واقعی روی میز! اون لحظه، لحظهی «این دیگه شوخی نیست، این دیگه واقعاً چیپه» هستش.
اگر کسی بخواد عمیقتر بره سمت طراحی جدیتر، منابع درجهیک و کاملاً رایگانی در دسترس هست که تا همین چند سال پیش عملاً غیرممکن بود بهشون دسترسی داشته باشید. مثلاً کورس طراحی مدار آنالوگ مبتنی بر جریان باز و معماری آزاد از Prof. Pretl در JKU که طراحی آنالوگ رو از سطح Device تا Tapeout آموزش میده، یا برنامهی SSCS-Chipathon تحت هدایت Prof. Mourmann که عملاً یک بوتکمپ Tapeout محور برای عمومه!
از اون طرف، گروه Prof. Frank Gürkaynak در ETH که یکی از فعالترین تیمها در RISC-V و طراحی بازه، پلتفرمها و هستههایی مثل croc رو منتشر کرده که بسیار جذابه. در نهایت اگر دنبال جامعهای هستید که بیشتر با این مبحث آشنا بشید، جامعهی طراحان مدار باز در اینجا رو دنبال کنید.
و نکتهی آخر و البته مهم:
به لطف یکی از خوانندههای کانال، پنج کوپن TinyTapeout برای شاتلهای بعدی موجوده. یعنی اگر طرحتون به مرحلهای رسیده که تست سیمولیشن و تست منطقی پشتسر گذاشته و واقعاً قصد Tapeout دارید، پیغام بدید تا یکی از کوپنها در اختیارتون قرار بگیره.
📡openpcb
از اونجایی که TinyTapeout کل زنجیرهی «طراحی > سنتز > P&R > تولید» رو تبدیل کرده به یک خط اتوماتیک و دمدستی. اول شما مدار دیجیتالتون رو طراحی و تست میکنید. این مرحله کاملاً رایگانه. میتونید از Wokwi استفاده کنید که بهشکل شماتیک و منطقی مدار رو میسازید و شبیه سازی میکنید!
اگر هم از اونایی هستید که با HDL راحتید، مستقیم Verilog مینویسید و تستبنچ میزنید. نکتهی کلیدی اینه که TinyTapeout یک Interface ثابت بین طراحی شما و پدهای چیپ داره, یعنی شما فقط «منطق داخلی» رو میسازید، بخش «پدها، باندینگ، IO آپشنها, کلاک و ریست» استاندارد شده و همین باعث میشه طراحی خیلی قابل اعتماد و قابل Tapeout باشه.
وقتی از صحت مدار مطمئن شدید، پروژهتون رو روی GitHub میذارید و فقط یک فایل info.yaml رو پر میکنید. از اینجا به بعد، GitHub Actions وارد بازی میشه و پروسه سنتز منطق با Yosys، Place & Route با OpenLane، و در نهایت تولید فایل GDSII. GDS همون نقشهی واقعی سیمکشی لایههای فلز و ترانزیستورهای پلی/دیفیوژن هست اتفاق میافته و مستقیم میره فب. این مرحله اتوماتیکه یعنی شما دقیقاً دارید از همون پایپلاین ابزارهای اپنسورس صنعتی استفاده میکنید! بدون لایسنسهای میلیون دلاری Cadence و Synopsys.
هزینه فقط وقتی پرداخت میشه که تصمیم میگیرید طرحتون رو روی شاتل Tapeout واقعی بفرستید. همونطور که قبلا گفتم TinyTapeout از Multi-Project Wafer استفاده میکنه یعنی چند ده طرح با هم روی یک ویفر ساخته میشن و هزینه بین همه تقسیم میشه. همین باعث میشه قیمت Tapeout بیاد روی حدود ۱۸۵ یورو.
وقتی چیپ تولید شد، براتون روی یک هدر برد دمو مونتاژ شده ارسال میشه. این برد شامل IOهای استاندارد، 7-Segment، هدرهای توسعه، و یک Raspberry Pi Pico بهعنوان «درایور + محیط تست» هست. با MicroPython یا حتی UART ساده میتونید ورودی بدید، خروجی بخونید، و رفتار چیپتون رو ببینید و وریفای کنید. این همون لحظهایه که پروژه از یک شبیهسازی دیجیتال تبدیل میشه به یک چیپ واقعی روی میز! اون لحظه، لحظهی «این دیگه شوخی نیست، این دیگه واقعاً چیپه» هستش.
اگر کسی بخواد عمیقتر بره سمت طراحی جدیتر، منابع درجهیک و کاملاً رایگانی در دسترس هست که تا همین چند سال پیش عملاً غیرممکن بود بهشون دسترسی داشته باشید. مثلاً کورس طراحی مدار آنالوگ مبتنی بر جریان باز و معماری آزاد از Prof. Pretl در JKU که طراحی آنالوگ رو از سطح Device تا Tapeout آموزش میده، یا برنامهی SSCS-Chipathon تحت هدایت Prof. Mourmann که عملاً یک بوتکمپ Tapeout محور برای عمومه!
از اون طرف، گروه Prof. Frank Gürkaynak در ETH که یکی از فعالترین تیمها در RISC-V و طراحی بازه، پلتفرمها و هستههایی مثل croc رو منتشر کرده که بسیار جذابه. در نهایت اگر دنبال جامعهای هستید که بیشتر با این مبحث آشنا بشید، جامعهی طراحان مدار باز در اینجا رو دنبال کنید.
و نکتهی آخر و البته مهم:
به لطف یکی از خوانندههای کانال، پنج کوپن TinyTapeout برای شاتلهای بعدی موجوده. یعنی اگر طرحتون به مرحلهای رسیده که تست سیمولیشن و تست منطقی پشتسر گذاشته و واقعاً قصد Tapeout دارید، پیغام بدید تا یکی از کوپنها در اختیارتون قرار بگیره.
📡openpcb
1❤29👍7😍3
شاید براتون جالب باشه بدونید اولین میکروپروسسور دنیا یعنی Intel 4004 کاملا با دست طراحی و ساخته شد.
اون موقع هنوز خبری از CAD و نرمافزارهای مدرن امروزی نبود. Bob Noyce و تیمش از روشی به اسم Rubylith استفاده میکردن! یه ورق قرمز که ماسک لیتوگرافی رو روی اون به صورت دستی میبریدن.
یعنی مسیر ترانزیستورها، گیتها، لایهها… همش واقعاً با کاتر و خطکش. فکر کنید مدار چند هزار ترانزیستوری رو مثل معرقکاری تیکهتیکه کنار هم بذاری. نه Undo، نه Grid، نه DRC/ ERC… فقط چشم، دست، دقت و صبر.
همین که اینا تونستن در اون شرایط اولین میکروپروسسور تاریخ رو بسازن و جواب بده، خودش یه شاهکار واقعیه. گاهی تکنولوژی امروز رو میبینیم و فراموش میکنیم که ریشهاش رو یه مشت آدم با دست خالی شروع کردن. این بهنظرم واقعاً خفنه.
📡openpcb
اون موقع هنوز خبری از CAD و نرمافزارهای مدرن امروزی نبود. Bob Noyce و تیمش از روشی به اسم Rubylith استفاده میکردن! یه ورق قرمز که ماسک لیتوگرافی رو روی اون به صورت دستی میبریدن.
یعنی مسیر ترانزیستورها، گیتها، لایهها… همش واقعاً با کاتر و خطکش. فکر کنید مدار چند هزار ترانزیستوری رو مثل معرقکاری تیکهتیکه کنار هم بذاری. نه Undo، نه Grid، نه DRC/ ERC… فقط چشم، دست، دقت و صبر.
همین که اینا تونستن در اون شرایط اولین میکروپروسسور تاریخ رو بسازن و جواب بده، خودش یه شاهکار واقعیه. گاهی تکنولوژی امروز رو میبینیم و فراموش میکنیم که ریشهاش رو یه مشت آدم با دست خالی شروع کردن. این بهنظرم واقعاً خفنه.
📡openpcb
1❤63🔥16😍4
طبق گفته FFmpeg پچ جدید باعث شده یه تابع مهم تو پردازش ویدیو ۳.۴۶ برابر سریعتر بشه. ماجرا اینه که یکی از کانتریبیوترها به اسم mkver اومده تابع add_8x8basis_sse3 رو که قبلاً با C نوشته شده بود رو کاملا با اسمبلی x86 بازنویسی کرده و خروجی هم شده همین جهش سرعت جدی.
دلیلش اینه که کامپایلرهای GCC و Clang وقتی با فلگ O3 کد رو کامپایل میکنند، معمولاً یه سری حلقه هایی که اصلاً قرار نیست زیاد اجرا بشن رو باز میکنن و کد رو حجیمتر میکنن. اینجا هم اون فانکشن رو از ۱۷۶ بایت رسونده به ۱۴۰۶ بایت! تو این مدل پردازشها، چون دستورهای خاص و عجیبغریبی مثل pmulhrsw وجود داره، کامپایلر همیشه انتخابهای درستی نمیکنه. دولوپرهای FFmpeg هم میگن: «باشه، خودمون درستش میکنیم.» نکته مهم اینه که لزوماً کد C مشکل نداره! این رفتار کامپایلر تو مرحله بهینهسازیه که گاهی خودش دردسر درست میکنه.
این اولینبار نیست FFmpeg از اسمبلی برای گرفتن نهایت قدرت سختافزار استفاده میکنه واین همون بحث معروف چند وقت پیشه که چرا پلیر dav1d که چندتا آدم معمولی ساختنش، بعضی جاها از libgav1 گوگل بهتره. جواب همون همیشگیه: وقتی دقیق میدونی چی میخوای و خودت دستی کد اسمبلی رو مینویسی، خروجی معمولاً از نسخهی تولیدشده توسط کامپایلر بهتره.
یه سوال هم که همیشه مطرح میشه اینه که «چرا این مشکلات رو به سازندههای کامپایلر گزارش نمیکنن؟» گزارش میدن، ولی تا نسخه جدید کامپایلر بیاد مدتها طول میکشه. یعنی عملاً بهترین کار اینه که خودشون همزمان دست به آچار باشن و مشکل رو دور بزنن.
برای همین پروژههایی مثل FFmpeg اینقدر ارزشمندن. از یه طرف همیشه تو بهینهترین حالت ممکنه، از یه طرف دیگه همین مواردی که پیدا میکنن عملاً به کل کامیونیتی C و کامپایلرها سود میرسونه و باعث میشه ابزارهایی که همه استفاده میکنن، کمکم بهتر بشن.
📺Source
📡openpcb
دلیلش اینه که کامپایلرهای GCC و Clang وقتی با فلگ O3 کد رو کامپایل میکنند، معمولاً یه سری حلقه هایی که اصلاً قرار نیست زیاد اجرا بشن رو باز میکنن و کد رو حجیمتر میکنن. اینجا هم اون فانکشن رو از ۱۷۶ بایت رسونده به ۱۴۰۶ بایت! تو این مدل پردازشها، چون دستورهای خاص و عجیبغریبی مثل pmulhrsw وجود داره، کامپایلر همیشه انتخابهای درستی نمیکنه. دولوپرهای FFmpeg هم میگن: «باشه، خودمون درستش میکنیم.» نکته مهم اینه که لزوماً کد C مشکل نداره! این رفتار کامپایلر تو مرحله بهینهسازیه که گاهی خودش دردسر درست میکنه.
این اولینبار نیست FFmpeg از اسمبلی برای گرفتن نهایت قدرت سختافزار استفاده میکنه واین همون بحث معروف چند وقت پیشه که چرا پلیر dav1d که چندتا آدم معمولی ساختنش، بعضی جاها از libgav1 گوگل بهتره. جواب همون همیشگیه: وقتی دقیق میدونی چی میخوای و خودت دستی کد اسمبلی رو مینویسی، خروجی معمولاً از نسخهی تولیدشده توسط کامپایلر بهتره.
یه سوال هم که همیشه مطرح میشه اینه که «چرا این مشکلات رو به سازندههای کامپایلر گزارش نمیکنن؟» گزارش میدن، ولی تا نسخه جدید کامپایلر بیاد مدتها طول میکشه. یعنی عملاً بهترین کار اینه که خودشون همزمان دست به آچار باشن و مشکل رو دور بزنن.
برای همین پروژههایی مثل FFmpeg اینقدر ارزشمندن. از یه طرف همیشه تو بهینهترین حالت ممکنه، از یه طرف دیگه همین مواردی که پیدا میکنن عملاً به کل کامیونیتی C و کامپایلرها سود میرسونه و باعث میشه ابزارهایی که همه استفاده میکنن، کمکم بهتر بشن.
📺Source
📡openpcb
1❤55👍8🙏2