KALOP_NODE: ACTIVE // 200 OK
دانش، تحلیل مدار و مهندسی معکوس الکترونیک
پیشنهادات جستجو: #MOSFET #Altium #Optocoupler #AI_Vision

نویسنده: miller

  • NPU یا FPGA برای هوش مصنوعی لبه؟ راهنمای انتخاب سخت‌افزار

    برای اجرای یک مدل هوش مصنوعی روی دستگاه لبه، همیشه پرسش «کدام تراشه سریع‌تر است؟» پرسش اول خوبی نیست. شکل ورودی، تأخیر مجاز، انرژی، تعداد مدل‌های قابل پشتیبانی و زمان توسعه مشخص می‌کند که NPU آماده مناسب‌تر است یا FPGA قابل‌پیکربندی. این دو گزینه هم همیشه جدا از هم نیستند: در بعضی سامانه‌ها، NPU خودش از منطق قابل‌برنامه‌ریزی FPGA و بلوک‌های محاسباتی اختصاصی کنار هم استفاده می‌کند.

    NPU و FPGA چه تفاوتی دارند؟

    NPU یک شتاب‌دهنده برای الگوهای رایج شبکهٔ عصبی است. سازنده معمولاً ابزار تبدیل مدل، کامپایلر، runtime و مجموعه‌ای از عملگرها یا قالب‌های عددی پشتیبانی‌شده ارائه می‌کند. اگر مدل در محدودهٔ این پشته باشد، مسیر پیاده‌سازی اغلب کوتاه‌تر از طراحی datapath اختصاصی است؛ اما محدودیت اپراتورها و وابستگی به SDK همان پلتفرم باید از ابتدا بررسی شود.

    FPGA تراشه‌ای با منطق قابل‌پیکربندی است. طراح می‌تواند مسیرهای داده و رابط‌های لازم را برای مسئلهٔ مشخص پیاده کند و پیش‌پردازش حسگر، انتقال داده و بخش‌هایی از inference را در یک pipeline ترکیب کند. این انعطاف، هزینهٔ مهندسی دارد: آشنایی با HDL یا HLS، کامپایل و زمان‌بندی، مصرف منابع منطقی، طراحی حافظه و اعتبارسنجی زمان‌بندی مدار. بنابراین FPGA را نباید صرفاً «NPU سریع‌تر» فرض کرد.

    مرز این دو در محصولات واقعی می‌تواند ترکیبی باشد. برای نمونه، پشتهٔ AMD Vitis AI از NPU IP برای inference روی Adaptive SoC و FPGA استفاده می‌کند و اجزای آن می‌توانند منطق قابل‌برنامه‌ریزی و AI Engine را کنار هم قرار دهند. این نمونه نشان می‌دهد که مقایسه باید بر اساس معماری دقیق برد و ابزارهای همان قطعه انجام شود، نه فقط نام دستهٔ تراشه.

    مقایسهٔ کاربردی برای انتخاب اولیه

    معیارNPU آمادهFPGA قابل‌پیکربندی
    زمان رسیدن به نمونهٔ اولیهمعمولاً کوتاه‌تر، اگر مدل و اپراتورها پشتیبانی شوندمعمولاً طولانی‌تر؛ طراحی، ساخت و زمان‌بندی سخت‌افزار لازم است
    انعطاف‌پذیری datapath و I/Oوابسته به قابلیت‌های SoC و API سازندهبالا؛ منطق و رابط‌های خاص پروژه قابل پیاده‌سازی‌اند
    مدل و اپراتورهای پشتیبانی‌شدهمحدود به کامپایلر و معماری NPUوابسته به IP، ابزار و منابعی که برای مدل فراهم می‌شود
    پیش‌پردازش هم‌زمان با inferenceممکن است بخشی روی CPU یا واحدهای دیگر انجام شودقابل ترکیب با pipeline اختصاصی، در صورت داشتن منابع و زمان‌بندی مناسب
    ریسک اصلی پروژهسازگاری مدل، محدودیت ابزار و وابستگی به پلتفرمپیچیدگی طراحی، زمان توسعه، مصرف منابع و بسته‌شدن timing

    چه زمانی NPU انتخاب مناسب‌تری است؟

    • مدل از خانوادهٔ رایج است و ابزار رسمی، اپراتورها و نوع دادهٔ آن را پشتیبانی می‌کنند.
    • تیم می‌خواهد زودتر نمونهٔ محصول بسازد و توان طراحی منطق سفارشی محدود است.
    • پردازش ورودی و خروجی را CPU یا peripheralهای موجود می‌توانند با نرخ لازم انجام دهند.
    • چرخهٔ تغییر مدل و انتشار firmware سریع است و SDK پلتفرم برای آن مسیر مناسبی دارد.

    برای MCUs و دستگاه‌های محدود، شتاب‌دهنده‌هایی مثل Arm Ethos-U کنار Cortex-M طراحی شده‌اند و ابزارهایی مانند Vela مدل را برای همان NPU آماده می‌کنند. با این حال، «وجود NPU» به‌تنهایی تضمین نمی‌کند کل گراف روی آن اجرا شود؛ بررسی قالب مدل، اپراتورهای مجاز و نتیجهٔ کامپایل بخشی از کار انتخاب است.

    چه زمانی FPGA ارزش بررسی دارد؟

    • داده به شکل جریانی یا از رابط خاص می‌رسد و تأخیر کل سامانه از حسگر تا تصمیم مهم است.
    • به پیش‌پردازش اختصاصی، چند کانال موازی یا اتصال به رابط‌های صنعتی خاص نیاز دارید.
    • مدل یا الگوریتم بخشی دارد که شتاب‌دهندهٔ آماده به‌خوبی پوشش نمی‌دهد و ارزش ساخت IP سفارشی وجود دارد.
    • تیم تجربهٔ FPGA دارد و حجم تولید یا عمر پلتفرم، هزینهٔ توسعه و اعتبارسنجی سخت‌افزار را توجیه می‌کند.

    حتی در FPGA هم هیچ تضمین عمومی برای سرعت یا انرژی بهتر وجود ندارد. نتیجه به حجم محاسبات، نوع داده، پهنای باند حافظه، موازی‌سازی، نرخ کلاک و میزان استفاده از منابع وابسته است. ابزارهای AMD و Intel هر دو مسیرهای مدل‌محور برای تبدیل، کامپایل و اجرای inference ارائه می‌کنند؛ در Intel FPGA AI Suite، مدل و توصیف معماری با کامپایلر به تنظیمات IP تبدیل می‌شوند. این یعنی سازگاری مدل و معماری FPGA باید در نمونهٔ عملی اثبات شود.

    روش مقایسهٔ منصفانه روی برد واقعی

    1. یک workload مشخص بسازید: همان مدل، ورودی، پیش‌پردازش، نرخ فریم یا نرخ نمونه‌برداری را برای هر دو گزینه تعریف کنید.
    2. محدودیت‌ها را قبل از benchmark بنویسید: latency انتهابه‌انتها، throughput، دقت قابل‌قبول، بودجهٔ توان، اندازهٔ حافظه و هزینهٔ BOM را تعیین کنید.
    3. زمان فقط هستهٔ inference را نسنجید: انتقال داده، تبدیل قالب، پیش‌پردازش، فراخوانی runtime و پس‌پردازش را در زمان کل وارد کنید.
    4. مدل را برای هر پشته آماده کنید: quantization یا تبدیل لازم را انجام دهید و گزارش اپراتورهای پشتیبانی‌شده، fallback به CPU و بخش‌های شتاب‌گرفته را بررسی کنید.
    5. اندازه‌گیری را تکرار کنید: latency میانه و صدک ۹۹، انرژی هر inference، مصرف حافظه و دما را تحت بار پیوسته ثبت کنید.
    6. هزینهٔ مهندسی را هم حساب کنید: زمان یادگیری ابزار، اشکال‌زدایی، به‌روزرسانی مدل، تأمین قطعه و نگهداری چندساله را کنار قیمت تراشه بگذارید.

    نکته‌های طراحی PCB و سامانه

    شتاب‌دهندهٔ قوی با تغذیه و حافظهٔ نامناسب به نتیجهٔ پایدار نمی‌رسد. برای FPGA یا SoC، ریل‌های ولتاژ، ترتیب روشن‌شدن، افت گذرا، دفع حرارت و مسیرهای حافظه را طبق راهنمای همان برد و قطعه طراحی کنید. اگر از DRAM خارجی استفاده می‌شود، پهنای باند و layout آن می‌تواند گلوگاه باشد. رابط حسگر را هم طوری انتخاب کنید که داده با کمترین کپی و تبدیل غیرضروری به شتاب‌دهنده برسد. در تست توان، مصرف کل برد را اندازه بگیرید، نه فقط رقم اسمی NPU یا FPGA را.

    جمع‌بندی انتخاب

    اگر مدل متعارف است و هدف، استقرار سریع با ابزار آماده است، ابتدا NPU را با مدل واقعی ارزیابی کنید. اگر جریان داده، رابط‌ها یا pipeline اختصاصی تعیین‌کننده‌اند و تیم توان توسعهٔ سخت‌افزار دارد، FPGA را روی نمونهٔ واقعی مقایسه کنید. برای هر دو مسیر، دادهٔ تصمیم باید از benchmark منصفانه، دقت مدل و مصرف انرژی کل سامانه بیاید. گاهی پاسخ مناسب یک SoC ناهمگن است که CPU، NPU و منطق قابل‌برنامه‌ریزی را با هم به‌کار می‌گیرد.

    سوالات متداول

    آیا FPGA همیشه کم‌تأخیرتر از NPU است؟

    خیر. FPGA امکان ساخت pipeline سفارشی می‌دهد، ولی کیفیت نتیجه به پیاده‌سازی و مسیر حافظه وابسته است. NPU آماده ممکن است برای مدل پشتیبانی‌شده سریع‌تر و ساده‌تر باشد. latency کل را روی برد بسنجید.

    آیا برای FPGA باید کل شبکه را با HDL از نو نوشت؟

    نه همیشه. ابزارهای موجود می‌توانند مدل را کامپایل یا بخش‌هایی از آن را روی IP شتاب‌دهنده اجرا کنند؛ اما میزان خودکارسازی، اپراتورهای پشتیبانی‌شده و نیاز به طراحی سفارشی بین پلتفرم‌ها فرق دارد.

    برای نمونهٔ اولیهٔ کم‌تیراژ کدام را انتخاب کنم؟

    اگر مدل روی NPU موجود قابل اجراست، آن مسیر معمولاً ارزیابی ساده‌تری دارد. بااین‌حال، رابط‌ها و نیاز واقعی پروژه را هم بسنجید؛ نتیجهٔ انتخاب را با اندازه‌گیری و هزینهٔ توسعه تعیین کنید، نه فقط قیمت قطعه.

    منابع و مراجع

  • مهندسی معکوس PCB با هوش مصنوعی؛ از عکس برد تا شماتیک قابل‌بررسی

    خلاصه: اگر فایل‌های طراحی یک برد پیدا نشوند، می‌توان از روی دو سمت PCB یک شماتیک تازه ساخت؛ اما عکس به‌تنهایی همهٔ اتصال‌ها را نشان نمی‌دهد. در این راهنما مسیر کار را قدم‌به‌قدم می‌بینیم و روشن می‌کنیم هوش مصنوعی امروز کجا کمک می‌کند و کجا هنوز باید مهندس وارد شود.

    مهندسی معکوس PCB دقیقاً یعنی چه؟

    مهندسی معکوس برد یعنی از روی خود PCB و شواهدی مثل نوشتهٔ قطعات، مسیرهای مسی، پدها، ویاها و اندازه‌گیری‌های بدون برق، ارتباط الکتریکی قطعات را دوباره مستند کنیم. نتیجه معمولاً نسخهٔ اصلی طراحی نیست؛ یک شماتیک قابل‌بررسی است که باید با برد واقعی تطبیق داده شود. این کار برای تعمیر تجهیزات قدیمی، فهمیدن یک نمونهٔ اولیه یا مستندسازی بردی که فایل‌های CAD آن در دسترس نیست مفید است.

    یک روند عملی برای استخراج شماتیک از برد

    1. از هر دو سمت، عکس دقیق بگیرید. برد را خاموش و از منبع جدا کنید. از روی عمود، با نور یکنواخت و وضوحی عکس بگیرید که نوشتهٔ قطعات و مسیرها خوانا باشد. جهت بالا، جای کانکتورها و شمارهٔ عکس‌ها را ثبت کنید. برای بردهای دوطرفه، نمای بالا و پایین باید از یک جهت مرجع قابل‌تطبیق باشند.
    2. قطعات را شناسایی و فرض‌ها را یادداشت کنید. شمارهٔ مرجع مثل U1 یا R7، نوشتهٔ روی قطعه، تعداد پایه‌ها و جهت پایهٔ یک را ثبت کنید. دیتاشیت سازنده را برای تطبیق پین‌ها بررسی کنید؛ شباهت ظاهری به‌تنهایی شناسهٔ قطعه نیست. اگر نوشته ناخواناست، به‌جای حدس قطعی، آن را به‌صورت «نامطمئن» علامت بزنید.
    3. اتصال‌ها را از شواهد قابل‌اندازه‌گیری بسازید. با برد بی‌برق و ابزار مناسب، پیوستگی بین پایه‌ها، پدها و ویاها را بررسی و روی نقشه ثبت کنید. از زمین و تغذیه شروع کنید، ولی هر اتصال را با مسیر قابل‌مشاهده یا اندازه‌گیری تأیید کنید. عکس معمولی مسیرهای زیر قطعه، لایه‌های داخلی و بعضی اتصال‌های پوشیده را نشان نمی‌دهد؛ این بخش‌ها را نباید از روی حدس پر کرد.
    4. شماتیک را در ابزار EDA ترسیم کنید. در KiCad برای هر قطعه نماد متناسب انتخاب کنید، پایه‌ها را بر اساس دیتاشیت تطبیق دهید و نت‌ها را با نام‌های روشن مثل GND، VIN یا SCL برچسب بزنید. برچسب‌ها و اتصالات را طوری بچینید که مسیر خواندن مدار مشخص باشد. مستندات رسمی KiCad نحوهٔ ترسیم شماتیک، نام‌گذاری نت و بررسی قواعد الکتریکی را توضیح می‌دهد.
    5. خروجی را با برد واقعی مقابله کنید. برای هر نت، از پایهٔ یک قطعه تا قطعهٔ بعدی مسیر را دوباره دنبال کنید؛ اتصال‌های تغذیه، زمین و کانکتورها را جداگانه بازبینی کنید. بررسی ERC در KiCad خطاهای متداولی را پیدا می‌کند، اما جای اندازه‌گیری، دیتاشیت یا قضاوت مهندسی را نمی‌گیرد. شماتیک را نسخه‌گذاری کنید و موارد نامطمئن را کنار همان نت ثبت کنید.

    هوش مصنوعی در بازسازی شماتیک چه کمکی می‌کند؟

    بینایی ماشین می‌تواند عکس‌های دو طرف برد را هم‌راستا کند، پد و ویا را پیدا کند، مسیرهای مسی را بخش‌بندی کند و از OCR برای خواندن نوشته‌ها سرنخ بگیرد. پژوهش Maliński و Okarma در سال ۲۰۲۶ یک جریان نیمه‌خودکار می‌سازد که از تصاویر TOP و BOTTOM، پیش‌نویس قابل‌ویرایش KiCad تولید می‌کند. ارزیابی کمی مقاله روی ۱۲ نمونهٔ مصنوعی KiCad انجام شده و با یک آزمایش کوچک و اکتشافی روی عکس بردهای واقعی همراه است. نویسندگان تأکید می‌کنند عبور فایل از آزمون round-trip به معنی اثبات صحت الکتریکی اتصال‌ها نیست؛ چهار مورد دشوار در معیار بازسازی شکست خوردند و استخراج مسیر روی عکس واقعی به نور و کنتراست حساس بود. پس این نتیجه را باید کمک‌یار بازبینی انسانی دانست، نه بازسازی خودکار قابل‌اعتماد برای استفادهٔ نهایی.

    در عمل، AI برای کم‌کردن کار تکراری و پیشنهاد مسیرهای محتمل ارزش دارد؛ تأیید اتصال‌های مبهم، تشخیص اتصال کوتاه کاذب و تصمیم دربارهٔ نت نهایی همچنان به شواهد و بازبینی انسان نیاز دارد. ابزار PRISM هم در مخزن خود صریحاً می‌گوید نسخهٔ فعلی آلفاست و اتصال‌ها و تخصیص قطعات تولیدشده باید پیش از استفاده بازبینی شوند.

    چند خطای رایج که بهتر است از آن‌ها دوری کنیم

    • ردیابی فقط از یک سمت برد و نادیده گرفتن ویاها یا لایه‌های دیگر.
    • تبدیل نوشتهٔ ناخوانا یا شکل ظاهری قطعه به یک شناسهٔ قطعی.
    • یکی دانستن دو مسیر نزدیک به هم بدون تست پیوستگی.
    • پذیرفتن خروجی ERC یا تشخیص خودکار به‌عنوان اثبات صحت کامل مدار.
    • حذف یادداشت‌های عدم‌قطعیت؛ در بازسازی، ثبت «نمی‌دانیم» از اتصال ساختگی بهتر است.

    جمع‌بندی

    برای استخراج شماتیک PCB، عکس خوب نقطهٔ شروع است، نه منبع کامل حقیقت. عکس‌های هم‌راستا، شناسایی مستند قطعات، ردیابی اتصال‌ها با ابزار مناسب و بازبینی مرحله‌به‌مرحله، کیفیت خروجی را بالا می‌برند. هوش مصنوعی می‌تواند پیش‌نویس و سرنخ بسازد؛ شماتیک نهایی باید با خود برد، دیتاشیت‌ها و اندازه‌گیری‌ها سنجیده شود.

    منابع و مطالعهٔ بیشتر