بیژن بینایی GitHub
بیژن بینایی Rss

Allegro vs Altium

نوشته شده توسط بیژن | در دسته مخابرات, مهندسی برق | نوشته شده در ۰۵-۰۱-۱۳۹۶

۳

Altium تو ایران خیلی معروف هست، شاید چون رییسش یه ایرانیه.... شاید چون ساده ترین tools بازار هست و .... . در مقابل تو خارج Eagle و KiCad بخاطر رایگان بودنشون رایج تر از آلتیوم هستن. اما اگه scale کاری رو ببریم بالاتر و به غول های صنعت الکترونیک نگاه کنیم می بینیم همشون بدون استثنا از Allegro استفاده می کنند. تو اینجا نمی خوام بگم کدوم یک از این EDA ها خوبن. فقط یه مروری می کنم روی تجربه کوچیکم با هر کدوم.

اول از Eagle شروع می کنم. Eagle و KiCad هر دو بخاطر رایگان بودن بین مردم غیر ایرانی خیلی رایج هست. بخاطر همین اگر تا حالا یکبار هم PCB نزدید و نمی دونید روندش چطوریه وقت هم زیاد دارید Eagle گزینه خیلی خوبی برای شروع هست. راستی یادتون نره که Eagle کاملا رایگان نیست ولی یک نسخه رایگان داره که می شه PCB های نیمه صنعتی و کوچک رو باهاشون طراحی کرد. Eagle هم خروجی gerber می ده هم بسیاری از تولیدکننده های PCB داخل فایل خروجیش رو می تونند باز کنند. توی اینترنت هم اگه یه STFG کنید از سایت های معروف مثل adafruit تا بلاگ های درب و داغونی مثل همینجا کلی quick start guide براش نوشتن. Eagle و KiCad هر دو نه خیلی ساده هستند نه خیلی پیچیده ولی چون جامعه کاربریش آدم های تازه وارد هستند مطالب خیلی خوبی برای یادگیریش برا کسی که هیچی بلد نیست روی نت وجود داره.

مشکل اصلی Eagle اینه که ابزار mature ای نیست. به عبارت دیگه خیلی از ویژگی هایی که شما با حرفه ای تر شدن انتظار دارید یه ابزار Cad داشته باشه رو نداره بنابراین سرعت طراحیتون رو بشدت می یاره پایین. همینطور ابزارهای لازم برای یک طراحی حرفه ای وجود نداره. DRC ها خیلی قوی نیست و شورتکات ها استاندارد نیستند و خلاصه خودتون بعد یکی دو سال به این نتیجه می رسید که برای PCB هایی با کلی track و via کار کردن با Eagle حماقت محضه.

■ Altium

Altium گزینه بعدی روی میز هست. Altium  سادست و طراحیش Intuitive هه و برای رسم PCB ابزارهای زیادی داره. خوبی Altium اینه که اگه بهش مسلط بشین ابزارهای زیادی داره که بهتون اجازه می ده پیچیده ترین PCB ها رو هم در کمتر از یکی دو روز بزنید. یک ویژگی عالی دیگه آلتیوم نمایش ۳ بعدی هست که تقریبا هیچ کدوم از EDA های دیگه ندارند که هم برای برای presentation بسیار عالی هست هم برای تست جا شدن قطعات در جعبه دستگاه. آلتیوم منو ها و display نسبتا ساده ای داره بنابراین با یکی دو ماه ور رفتن و گوگل کردن همه چی دستتون می یاد. اما با تمام این خوبی ها، Altium قیمت بسیار بالایی داره که اگرچه شاید در نگاه اول برای ایرانی ها مشکل به حساب نیاد اما نداشتن لایسنس شما رو از بهترین ویژگی های آلتیوم محروم می کنه.

Altium Live و Vault هر دو ابزار های  online ای هستند که فقط کسانی که لایسنس دارند می تونند استفاده کنند. اولی کلی template دازه که وقتی می خواید برد بزنید از صفر شروع نکنید. دومی footprint و شماتیک برا قطعات ارایه می ده. که دسترسی نداشتن به این دو مورد فرایند یادگیری رو سخت تر می کنه همینطور مجبورید footprint ها رو یا دستی بزنید یا کلی سرچ کنین تو github و ...

اما خب پس بدی آلتیوم چیه که شرکت های بزرگ ازش استفاده نمی کنن؟ آلتیوم سادست. و سادگی همیشه متضاده با سرعت. مقایسه آلتیوم و Allegro دقیقا مثل مقایسه ویندوز و لینوکسه. لینوکس سخت تره، یادگیریش زمان بر تره و خیلی کارهای ساده توش سخت تر انجام می شه اما بجاش config پذیریش بسیار بالاست. مثلا تو لینوکس شما می تونین دکمه شیفت چپتون رو بکنید یه دکمه جدید که با ترکیبش با دکمه های دیگه کار های عجیب غریب بکنه و یه عملی رو که هر روز ۱۰۰ بار انجام می دین رو با یه دکمه راحت انجام بدید. شاید برای یکی که فقط ۱ بار می خواد اون کار رو انجام بده این مزیت نباشه ولی کسی که در سال ۱۰,۰۰۰ بار قراره اون کار رو بکنه احمقانس ده هزار بار جای یه دکمه ۲۰ تا کلید فشار بده.

مشکل بعدی Altium ضعف در simulation هست. prototype کردن برد ۱۵ لایه منطقی نیست چون هم هزینه بره هم بسیار وقتگیر. توی برد های امروز که همه فرکانس بالا و high density هستن قابلیت شبیه سازی مهم ترین چیزیه که یه Cad نیاز داره هرچند که ساده نباشه و همین باعث شده Allegro جایی برای Altium تو بازار باقی نگذاره.

و مشکل آخر Altium متنی یا text-based نیست. شاید وقتی شما یکی دونفری روی یه پروژه PCB کار می کنید اصلا مفهوم این رو هم نفهمید که چیه ولی وقتی می شین ۱۰۰ نفر و یه تیم Design Verification وجود داره یه تیم Component Designer و ... که هر کدوم دارن رو برد همزمان کار می کنن مهمه که تیم IT بتونه کارهای اینها رو sync کنه. اینجا یه نرم افزار مخصوص داخل شرکت نوشته می شه که کارهای همه رو با هم sync کنه و خلاصه فرایند تست و طراحی رو اتوماسیون کنه. البته Altium هم یه تلاش هایی از سمت vault انجام داده ولی چون فرمت کاریشون open نیست شرکت ها نمی تونن توی چرخه طراحی و توسعشون استفاده کنن که به همین دلیل Allegro بر آلتیوم ترجیح داده می شه.

■ Allegro

Allegro یکی از نرم افزار های پکیچ orCad هست که برخلاف آلتیوم از لحاظ شبیه سازی ابزارهای کاملی رو در اختیار کاربر می ده. Allegro یک command line داره که به شما اجازه می ده با استفاده  TCL و Do file و Did editor برای کارهای تکراریتون command و alias تعریف کنید. Allegro مثل vim مد های مختلف مثل Placement etching routing rf و .... داره که هر کدوم بر حسب mode ای که هستید shortcut های اون حالت رو ارایه می دن. خلاصه allegro اونقدر پیشرفتس که اگه بدونید چی کجاست می تونه تا ۴ ۵ برابر سرعت routing اتون رو افزایش بده. Allegro یه آپشن داره به نام rain routing که روت های world class مثل شکل زیر براتون می کشه و کلی آپشن های عجیب و غریب دیگه که بهتون اجازه می ده طراحی pcb ایتون رو یه level ببرید بالا.

ولی با تمام این خوبی ها نصب Allegro سخت تر از آلتیومه کار کردن باهاش فاجعست و یادگیریش تقریبا غیر ممکن :| . برا همین یکی می گف

OrCAD and Allegro packages from Cadences are for the pros who do pcb designing for a living.

به عبارت دیگه اگه شما یه مهندس برق ساده اید که سال یکی دوبار بیشتر گذرش به PCB زدن نمی افته و تعداد المان هاتون از ۱۰۰ تا بیشتر نمی شه Allegro یادگرفتن شاید خیلی کار منطقی نباشه. من تصمیم خودم رو گرفتم که Allegro رو یادبگیرم. هنوز خیلی بهش مسلط نیستم و تا مسلط شدن بهش ۲ ۳ سالی راه هست. اینجا چیزهایی رو که در طول مسیر یادمی گیرم برای خودم می نویسم تا یادم نره

شروع کار با Orcad

۱. مثل تمام نرم افزارهای بزرگ برقی بهترین و تنها جا برای شروع یادگیری نرم افزار Help نرم افزار و document های نصب شده در کنار برنامه هست. داکیومنت flowtut اولین doc ای هست که باید بخونید. حدودا ۱۳۰ صفحس و بهتون یاد می ده که design اتون رو از نقشه تا پیاده سازی تو مجموعه نرم افزاری orCad پیاده سازی کنید. بعد از اون برای حرفه ای تر شدن در allgro داکیومنت algrostart منبع خوبیه ولی یادتون نره که algrostart شبیه دایره المعارفه. پس بعد خوندن flowtut سعی کنید PCB بعدیتون رو تو Allegro بزنید و مشکلاتی رو که بهش می خورید رو توی algrostart سرچ کنید و ببینید چطوری حل می شن.

۲. بعد از Help فروم cadence بهترین منبع برای حل مشکلاته. سایت Cadence ایران رو تحریم کرده بنابراین برای استفاده مجبور به استفاده از VPN هستید.

۳. www.referencedesigner.com/tutorials/allegro پیشنهاد من بعد خوندن flowtut دنبال کردن آموزش های این سایته.

نکات اضافی

۱. فرق PCB Editor با PCB Router یا SPECCTRA امکانات متفاوت SPECCTRA هست که در طول طراحی متوجه می شید. قبل از استفاده و بعد از استفاده از SPECCTRA باید فایل ها از PCB Editor به فرمت SPECCTRA تبدیل و بازتبدیل بشوند.

۲. alias شورتکات های commandline هستند مثلا یکی از بدرد بخور ترین هاشون x هست. برای دیدن alias ها تایپ کنید alias

۳. سیستم pan و zoom و rotate نرم افزار کمی متفاوت با نرم افزارهای CAD متداول بازار هست ( خیلی پیشرفته تره ) که اگه ندونید گیج می شید. برای یادگیری می تونید به algrostart مراجعه کنید. یادتون نره که به rotate تو allegro می گن spin.

نظرات (۳)

خیلی خوب بود، تا حالا ندیده بودم کسی بهش بپردازه:(

پاسخ: اوهوم، البته هنوز خیلی ناقصه

بسیار تو ضیحات خوبی بود
به این اشاره می کردید که کدام یک قابلیت نصب در چند سیستم عامل دارد هم خوب بود.
در مورد kicad هم مطلب بنویس

KiCad و Eagle کراس پلتفرم هستن. Altium رو باید Win E نصب کنید و اگه زور بزنید می شه اونم تو لینوکس اجرا کرد (ولی من خودم پیشنهادم نصب VmWare هست)
Allegro هم نسخه لینوکس داره و من نصب کردم اما OrCad Capture دیگه کنارش نیست. علتش هم اینه که Allegro ماله Cadence هست ولی Orcad Capture ماله شرکته Orcad بوده که بعدا Cadence می خرتش و می زنه تنگ Allegro ولی بخاطر بر پایه VS بودن orcad دیگه اون فقط رو ویندوز run می شه
KiCad رو هم حسش رو ندارم متاسفانه