۵ مطلب در دسامبر ۲۰۱۷ ثبت شده است

و اما FPGA چیست اصلا

  • هایتن
  • جمعه ۲۹ دسامبر ۱۷
  • ۱۰:۳۰
  • ۲ نظر

و اما FPGA

آنچه در این پست یاد می گیرید:

1.       مفهموم کلی FPGA

2.       فرق FPGA با میکرو کنترلر

3.       شرکت‌های عمده سازنده FPGA

4.       نرم افزارهای مورد استفاده برای برنامه ریزی FPGA

FPGA یک آی سیه شبیه همه‌ی آی سی‌های دیگه. شما تو کامپیوتر، گوشی تلفن همراه، تلویزیون دیجیتال، ماشین حساب و غیره حتما یک آی سی پردازنده دارید که به عنوان مغز این دستگاه عمل می‌کنه. این آی سی‌ها رو شرکت تولیدکننده برنامه‌ریزی می‌کنه و به شما می‌فروشه. FPGA مزیتش اینه که یک آی سی بی‌جانه و شما برنامه‌ریزیش می‌کنید، یعنی خیلی هم بی جان نیست قابلیت برنامه‌ریزی مجدد داره واسه همین اسمش FPGA است Field Programmable Gate Arrays یعنی آرایه‌ای از از گیت‌های منطقی که قابلیت برنامه‌ریزی میدانی (در محیط عملیاتی یا کاربردی) رو دارن. مثلا شما می‌تونید با FPGA یک تلفن همراه، یک تلویزیون دیجتال، یک ماشین حساب یا هر چیز دیگه ای که پردازش دیجیتال انجام میده بسازید. شاید بعضی از شماها اسم میکروکنترلر یا میکروپروسسور را شنیده باشین (مثلا AVR)، اینها مثل FPGA نیستن که قابلیت برنامه ریزی مجدد داشته باشن یک سری ماژول‌های آماده هستن و شما برای استفاده از قابلیت اونا یک application می‌نویسید. مثلا مثل یک کامپیوتر هستن که شما با یک زبان برنامه نویسی مثل C یک اپلیکشین می‌نویسید تا کار مورد نظرتون را باهاش انجام بدید در واقع شما کامپیوتر نمی‌سازید بلکه از امکاناتش استفاده می‌کنید اما با FPGA شما واقعا یک کامپیوتر می‌سازید.

البته این به این معنی نیست که کار با میکروکنترلر‌ها آسون تر از کار با FPGA است بلکه برعکس، در خیلی از موارد کار با میکروکنترلر سخت‌تر هم هست چون FPGA رو صد در صد خودتون برنامه نویسی می‌کنید و اگر چیزی اشتباه شد می دونید چه مرگشه و معمولا عیب یابیش از میکرو آسون تره.

میکروکنترلر برای کار در سرعت‌ها و حجم پردازش بالا مناسب نیست مثلا شما اگر در کامپیوتر یک برنامه سنگین اجرا کنید احتمالا نمی تونید برنامه دیگه‌ای رو همزمان اجرا کنید، و همون برنامه هم نمی تونه با سرعتی بیشتر از سرعت CPU اجرا بشه، محدودیت دارید. اما در FPGA این محدودیت رو ندارید، دلیلش رو در آینده می فهمید. یک مزیتی که میکرو به FPGA داره انعطاف پذیری اونه یعنی مثلا شما یک برنامه به زبان C نوشتید خیلی راحت می‌تونید پارامترهای برنامه رو تغییر بدید ولی در FPGA این کار خیلی سخته. به همین خاطر شرکت‌های بزرگ اومدن داخل FPGA یک میکروکنترلر هم گذاشتن تا قسمت‌هایی که نیاز به انعطاف داره رو اونجا بنویسن و قسمت‌هایی که یک پردازش ثابت انجام میشه رو داخل FPGA بنویسن. اینطوری هم از قدرت پردازش بالای FPGA استفاده می‌کنن و هم از انعطاف پذیری میکروکنترلر.

دو تا شرکت عمده تولید‌کننده FPGA داریم Xilinx و Altera. FPGA‌های این دو شرکت مشترکات زیادی دارن ولی از نرم‌افزارهای متفاوتی برای برنامه‌ریزی FPGA استفاده می‌کنن. Xilinx در حال حاضر از نرم افزار Vivado استفاده می‌کنه (در نسخه‌های قبلی از ISE استفاده می‌کرد) و Altera از نرم افزار Quartus استفاده می‌کنه. من با FPGA‌های Xilinx کار می‌کنم. شرکت زایلینکس خانواده‌های متفاوتی از FPGA رو ارائه داده که چند تاشون که در ذهنم هست Spartan، Virtex، Artix، Kintex و Zynq هستن که هر کدوم بسته به کاربرد، ویژگیهای متفاوتی دارن.

اولین کاری که برای کار بر روی FPGA انجام بدید اینه که نرم افزار Vivado رو نصب کنید. من الان دارم از Vivado 2015.4 تو لپ تاپم استفاده می کنم و فکر می کنم همین برای شما هم مناسب باشه. حجم نرم افزارش چند گیگ هست و برای نصبش باید حداقل 20 گیگ خالی داشته باشید. 

آلما

  • هایتن
  • پنجشنبه ۲۸ دسامبر ۱۷
  • ۱۰:۵۸
  • ۵ نظر

یک روش جدید برای غذا پختن کشف کرده‌ام که مناسب حال من است. عدسی، لوبیایی، کدویی، بادمجانی را داخل یک قابلمه کوچک، که قبلا مال پدرم بود و با خودش سر کار می‌برد، خرد می‌کنم و درش را محکم می‌کنم، چند تا بشقاب چینی روی درش می‌گذارم تا حسابی سفت شود. شعله گاز را بسیار کم می‌کنم و می‌آیم می‌نشینم، به انتظارش نمی نشینم، یکی دو ساعت بعد خودش آماده می‌شود. مزیتش این است که با این حافظه‌ای که من دارم اگر یادم رفت غذا روی شعله است احتمالا تا چند ساعت اتفاقی نمی‌افتد. امروز هم از همین روش استفاده کردم، یک سیب زمینی را داخل قابلمه گذاشتم با مقدار کمی آب، به زحمت درش را سفت کردم این کار یک مقدار وقتم را گرفت و مرا به زحمت انداخت. آمدم نشستم و به زندگی‌ام ادامه دادم، دو ساعت بعد که به سراغ قابلمه رفتم متوجه شدم که شعله را روشن نکرده بودم.

معمولا حرف‌های مهمم را آخر از همه می‌زنم و میوه‌هایی که دوست دارم را آخر از همه می‌خورم. سیب را همیشه اول از همه می‌خوردم، قبل از موز و گلابی و نارنگی و خرمالو، می‌خواستم زودتر از شرش خلاص شوم. تصمیم گرفته‌ام در این قضیه تجدید نظر کنم، مدتی هست که سیب را آخر از همه می‌خورم. هنوز هم عاشقش نیستم ولی می‌خواهم به خاطر روزهای سختی که در کنارم بوده، و موز و گلابی و نارنگی و خرمالو نبوده‌اند، ازش قدردانی کنم. 

+ آلما به ترکی هم میشه سیب هم میشه نخر. 

راه اندازی AD9371: استفاده از Cygwin

  • هایتن
  • جمعه ۲۲ دسامبر ۱۷
  • ۰۷:۱۶
  • ۱۲ نظر

سلام

می‌خوام از این به بعد آموزش بخشی از کارهایی که انجام میدم رو اینجا بذارم. ، فعلا سازماندهی نداره ولی به تدریج بهتر میشه. می‌دونم که بهتر بود برای اولین کار یه آموزش مقدماتی‌تر میذاشتم. ان شالله این کارو می‌کنم.

امروز می‌خوام در مورد درست کردن پروژه Vivado با Cygwin صحبت کنم. سیگوین یه نرم افزاره که محیط لینوکس رو تو ویندوز شبیه سازی می‌کنه. مزیت کار با سیگوین اینه که تمام آی‌پی‌ها و اینترفیس‌ها رو به ترتیب درستش می‌سازه و نیازی نیست شما دستی این کار رو بکنید، به هر حال برای پروژه‌هایی که تو github هست استفاده از سیگوین بهتره. مثلا من در حین اینکه این پست رو می‌نوشتم پروژه راه اندازی AD9361 رو با سیگوین ساختم. الان دارم برای ساخت پروژه fpga و راه اندازی ماژول AD9371 از این نرم افزار استفاده می‌کنم. البته هنوز راه نیفتاده، AD9361 ساده‌تر بود ولی این یکی یک مقدار تخسه. می‌تونید از این صفحه برای ساخت پروژه Vivado استفاده کنید. سیگوین رو از اینجا  دانلودش کنید. یه سری Package داره شما باید shell و make (توی Devel) رو هم تیکش رو بزنید. وقتی installer رو اجرا کردید همه رو دیفالت اوکی کنید تو پنجره Select Packegas زیر شاخه Devel و شاخه Shells ، make  و bash رو انتخاب کنید.  Git رو تو همون صفحه سیگوین لینک داده می‌تونید دانلودش کنید.  بعدش می‌تونید از این صفحه برای ساخت پروژه Vivado استفاده کنید. وقتی git clone رو بزنید خطا میده، باید برید تو git،

git remote add origin  git@github.com:analogdevicesinc/hdl.git

رو بزنید. احتمالا باید درست بشه. برای git clone از پروتکل https استفاده کنید. Ssh یک مقدار فرآیندش پیچیده است. یعنی به جای دستور

git clone git@github.com:analogdevicesinc/hdl.git

از دستور

git clone https://github.com/analogdevicesinc/hdl.git

استفاده کنید. اگر دستور make خطا داد برید تو آخرین دیرکتوری که ازش خارج شده، یه فایل .log اونجا هست که یه گزارش از دستورات انجام شده رو توش ثبت کرده، تو چند خط آخرش علت خطا رو گفته، مثلا ممکنه خطا مربوط به ورژن یا چیزی شبیه به این باشه. 

در صف ایستاده‌گانیم

  • هایتن
  • پنجشنبه ۲۱ دسامبر ۱۷
  • ۱۱:۲۳
  • ۵ نظر

پیامک‌های فرواردی رو دوست نداشتم، یعنی خب یه آدم بی‌ربط بهت بگه یک دنیا عشق و مهربانی تقدیم تو باد، مثل این می‌مونه که یه غریبه آدمو بغل کنه. احتمالا زندگیم بیش از حد لاکچری بود که قدرت انتخاب هم داشتم، چی رو دوست دارم چی رو دوست ندارم. البته اینطور نبود، دارم به کسایی که قدرت انتخاب دارن طعنه می‌زنم. یک بار یکی از دوستانم پیام تبریکی چیزی رو برام فروارد کرده بود، منم فیش موبایلم رو براش فروارد کردم. مثلا می‌خواستم بهش یادآوری کنم چقدر این کارش بی‌معناست، آدم نچسبی بودم. منظورم برای خودم بدیهی بود ولی اون بنده خدا رفته بود فیش رو پرداخت کرده بود. بعدا فهمیدم نتیجه‌ای که دوستم گرفته بود بدیهی بود. هنوزم آرزو ندارم کسی من رو در لیست فرواردش بذاره، می‌خوام بگم سالها تلاشی که کردم نتیجه داده، همین. یک مثل معروفی هست که میگه غذای خوب می‌خوای باید تو صف واستی. 

شان ژانگ یا، یک روز در میان خوشحال بود و غمگین

  • هایتن
  • جمعه ۸ دسامبر ۱۷
  • ۱۰:۳۵
  • ۴ نظر

دو روزی مسافرت بودیم، عروسی علی بود. همان که سال اول کارشناسی سبیل می‌گذاشت و قد بلند و بدن تنومندی داشت، برای من دنبال آهنگ‌های ترکی می‌گشت. چه می‌دانم، شاید چون از راه دوری آمده بودم شبیه جواهری در قصر بودم. مشهد و نیشابور رفته بودیم. با قطار رفتیم و با هواپیما برگشتیم.

هزاران سال پیش، شان ژانگ یا هم مثل من از راه دوری آمده بود و در مسیر جاده ابریشم از نیشابور هم گذشت. به قیافه‌اش نمی‌آمد (دندان‌های جلویش دراز بود) اما هر چه بیشتر آدم‌های اطرافش را می‌دید بیشتر متوجه می‌شد یک فرمانده بی‌لشکر است. این که یک فرمانده بود خوشحال‌کننده است ولی اینکه بی‌لشکر بود غم‌انگیز است، حالا دیگر قضاوت با خودتان، این یک داستان شاد است یا غم‌انگیز. 

باید وصیت کنم وقتی از دنیا رفتم مرا بالای یک کوه بی سر و صدا چال کنند. بادگیر باشد و ترجیحا در سایه‌ی یک صخره باشد قبرم. صخره‌اش بزرگ نباشد تا از افتادنش نترسم و هر روز صبح یک چوپان از آنجا رد شود تا حساب روزهای مردنم دستم باشد.
موضوعات
آرشیو مطالب
کلمات کلیدی
پیوندها