۴ مطلب در دی ۱۳۹۶ ثبت شده است

خونه من مهمون بیاین

  • هایتن
  • دوشنبه ۸ ژانویه ۱۸
  • ۱۱:۰۴
  • ۶ نظر

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

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

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

+ خونه من مهمون بیاین، هر چند وقت که برام مهمون میاد مجبور میشم یه دستی به سر و روی خونه بکشم، نه پس فکر کردین عاشق چشم و ابروی شمام؟

و اما 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 اونجا هست که یه گزارش از دستورات انجام شده رو توش ثبت کرده، تو چند خط آخرش علت خطا رو گفته، مثلا ممکنه خطا مربوط به ورژن یا چیزی شبیه به این باشه. 

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