پازج FPGA گروه توسعه
1.19K subscribers
96 photos
27 videos
66 files
200 links
پازج ارائه‌کننده آموزش‌های ویدئویی و تصویری در زمینه طراحی دیجیتال با FPGA
ارتباط باما:
www.posedge.ir
لینک گروه پازج:
https://t.me/joinchat/Papst0MTE0aWIDWP
تبادل نظر پیرامون FPGA و بوردهای توسعه با محوریت بورد توسعه پازج-یک
Download Telegram
Forwarded from zaki
تقریبا در همه خانه ها 3 نوع معماری پردازنده یافت می شود
معماری x86 که در کامپیوترها و لپتاپها وجود دارد
معماری mips که در روترها و مودمهای adsl یافت می شود
و معماری arm که در موبایلها وجود دارد

معماری x86 در اختیار intel قرار دارد و آن را در اختیار کسی قرار نمی دهد
معماری های mips و arm در ازای دریافت پول در اختیار سازندگان پردازنده و soc قرار می گیرد

بخاطر این مسائل ، معماری رایگان risc-v در سال 2010 در دانشگاه برکلی ارائه شد که قرار است رایگان و open source باشد، یعنی هر کسی بخواهد یک soc بسازد می تواند به رایگان مبتنی بر این معماری بسازد(کامپایلرهای رایگانی هم برای آن موجود است)

در سال 2013 نمونه هایی از از چیپهای ساخته شده که مبتنی بر این معماری هستند ارائه شد
در سال 2016 استارتاپهایی برای ساخت میکروکنترلر و پردازنده مبتنی بر این معماری ایجاد شدند و از طریق crowd funding پولهایی جمع آوری کرده و جدیدا میکروکنترلرهای آنها به بازار آمده است از جمله استارتاپ sifive و open-v
کشور هندوستان هم یک پردازنده مبتنی بر این معماری به نام شاکتی ارائه کرده است.
برخی از انواع چیپهای ساخته شده مبتنی بر این معماری حتی می توانند لینوکس را بوت کنند

https://www.forbes.com/sites/aarontilley/2016/07/11/risc-v-sifive-chips/#6c6dbfaf29ec

http://linuxgizmos.com/linux-boots-on-new-shakti-risc-v-chip/
Forwarded from zaki
پروژه FPGArduino هم از هسته f32c استفاده می کنه که اون هم مبتنی بر معماری RISC-V هستش
Forwarded from Mhagh
اتفاقا f32c (پروژه ی fpgarduino) روی پازج هم پورت شده!
http://posedge.ir/forum/index.php?/topic/25-fpgarduino-پیوندی-دیگر-با-آردوینو/
Forwarded from Sina Asadiyan
من مدتی هست که به خاطر بعضی نکات زبان C++ دنبال کتاب خوب و دوره آموزشی خوب میگشتم و پیدا نمیکردم، این پلی لیستی که لینکش رو میزارم واقعا بهترین دوره آموزشی c++ هست، گفتم اگه کسی مثل من دنبال همچین دوره ای میگرده خیلی کمکش میکنه.

https://www.youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb&disable_polymer=true
Forwarded from Mhagh
💥به دنبال درخواست برخی دوستان در رابطه با پیاده سازی قابلیت #analogWrite در محیط #DesignLab، به اطلاع عزیزان میرسانیم در پچ جدید DesignLab برای پازج (پچ "یلدا"! به تاریخ 97.09.30) این امکان افزوده شده است!
بدین منظور دوستان میتوانند با دانلود پچ جدید پازج، مثال جدیدی که در بخش posedge_one به نام PWM_Encoder اضافه شده است را اجرا کرده و با قرار دادن مگاوینگ (نسخه‌ی 1.2) روی برد پازج، عملکرد fade را روی led های آن مشاهده نمایند.
در این مثال از تابع Robot_Control_Library.setPWMDuty() استفاده شده است که دقیقا مشابه تابع analogWrite در آردوینو عمل می‌کند.
🔅نکته‌ی جالب دیگری که در این پچ اضافه شده است، امکان استفاده از Flex Pin ها است. پین های Flex، در واقع IO های مجازی هستند که امکان اتصال آنها به هر یک از IO های واقعی FPGA، توسط توابع outputPinForFunction() و inputPinForFunction() وجود دارد. نمونه‌ای از نحوه‌ی کاربرد این پین‌ها را در پروژه‌ی نمونه‌ی جدید (PWM_Encoder) میتوانید ملاحظه نمایید. در اینجا ما پین‌های Flex با شماره های 0 و 1 و2 تعریف کرده ایم و آنها را به پین‌های واقعی WC8 و WC9 و WC10 (که در صورت استفاده از مگاوینگ نسخه‌ی 1.2 به LED های 8و 7و 6 متصل هستند) مپ کرده ایم. حسن این کار این است که بدون نیاز به تغییر سخت افزار و فایل ucf میتوانید ورودی و خروجی های مورد نظر خود را روی پین های FPGA جابجا کنید!
هم اکنون میتوانید این پچ را دانلود کرده و از اجرای این مثال لذت ببرید!
یلدای خوبی داشته باشید!🍉
Forwarded from Mhagh
This media is not supported in your browser
VIEW IN TELEGRAM
نتیجه اجرای مثال PWM_Encoder روی برد پازج و مگاوینگ Logix1 v1.2
فید (Fade) کردن LED ها با کمک PWM !
Forwarded from Javad Boorghani
✅✏️ انواع خروجی در آی سی های دیجیتال
دقت کنید هر نوع خروجی مزایا و کاربرد خود را دارد و در هر مورد نکاتی که گفته شد باید رعایت گردد.
Forwarded from Mohammad Amin Nili
بیایید با گوگل دوست شویم ...!

بعد از مشورتی که با آقای @mhagh66 عزیز داشتم به این نتیجه رسیدیم که بیش از ۸۰ درصد سوالات و پرسش هایی که در گروه مطرح می شوند با یک جستجوی کم تر از ۵ دقیقه در گوگل به یک جواب به مراتب دقیق تر و کامل تر منجر می شوند.
نتیجه این که برخی از پرسش گران عزیز یا با "هنر" جستجو در موتور های جستجو (در این جا گوگل منظور است)، بیگانه اند و یا خدای ناکرده حوصله ی کافی برای سرچ ندارند و ترجیح می دهند فرد دیگری به جای آن ها این کار را انجام دهد! ما فرض را بر مورد اول می گذاریم و در نتیجه این پست را برای این دسته از بزرگواران به رشته ی تحریر در می آوریم.

من در این جا و در این پست قصد ندارم برای عزیزان نحوه ی کوئری نوشتن در گوگل را آموزش دهم، بلکه برای شروع و به عنوان مقدمه می خواهم به نکات ظریفی اشاره کنم که شاید در کم تر جای دیگری شنیده باشید و همین نکات ظریف گاهی از صد نوع کوئری زدن مفید تر و کاربردی تر است:
۱. اگر کار خیلی خیلی خاصی انجام نمی دهید یا در یک کار به حد رفرنس (همان اوستا کار خودمان) نرسیده اید، با احتمال بیش از ۸۰ درصد می توانید پاسخ پرسش های خود را در موتور های جستجو پیدا کنید.
این نکته از نظر من اساس و کلید جستجو در گوگل است. این که شما یقین داشته باشید بالاخره در گوشه ای از این دنیای بزرگ کسی پرسش شما را قبلا داشته و راه حل آن را به نحوی پیدا کرده است بسیار در نتیجه ی جستجو های شما می تواند مفید باشد.
۲. گوگل قرار نیست به شما پاسخی بدهد وقتی خود شما نمی دانید چه سوالی باید بپرسید! کم نیستند مواقعی که سوال یا هدف جستجوی تان به صورت یک مفهوم در ذهنتان وجود دارد و نمی توانید آن را در قالب کلمات بیان کنید. در این گونه مواقع بهترین کار این است که ابتدا به دنبال کلید واژه هایی بگردید که بتوانند سوال شما را بیان کنند و بعد به سراغ جستجو بروید.
۳. در بسیاری از مواقع ممکن است شما کلمات مناسب برای جستجو را پیدا نکنید. در این گونه موارد بهترین کار روشی است که من به آن سرچ تو در تو می گویم.
روش سرچ تودرتو به این شکل است که شما جستجو را با یک سری کلمات و عباراتی که به نظرتان اصلا به هدف اصلی نزدیک نیست شروع می کنید. بعد در هر مرحله نتایج جستجو را بررسی می کنید و با استفاده از نتایج به دست آمده کلیدواژه ها و عبارات جستجوی خود را تغییر داده و بهبود می بخشید. تا زمانی که نتیجه ی مورد نظرتان حاصل شود به این کار ادامه ی می دهید.
۴. همان طور که در ابتدای این پست اشاره شد، اصولا سرچ در گوگل به طور معمول یک امر زمان بر تلقی نمی شود، اما توجه به این نکته ضروری است که به میزانی که شما در کارتان حرفه ای و خبره می شوید، به همان میزان جستجوی در گوگل برای شما سخت تر و زمان بر تر خواهد شد. دلیل این امر نیز کوچک تر شدن دایره ی افرادی است که به محدوده ی دانش شما از قبل وارد شده اند. اما با تمام این اوصاف شما باید به جستجوی خود ادامه بدهید و تنها زمانی که اصطلاحا "کارد به استخوان رسید" پرسش خود را در گروه ها و فروم های مختلف مطرح کنید. از نظر این حقیر چیزی بدتر از این نیست که یک نفر پاسخم را با یک لینک بدهد که دقیقا به پرسش من اشاره دارد!
۵. متاسفانه در حوزه ی کاری ما (FPGA) وب فارسی چندان قوی عمل نکرده است. بنابراین مهم ترین لازمه ی جستجو در گوگل استفاده از زبان و عبارات انگلیسی است.
۶. اگر این نکات را قبول کردید، حالا شما فردی هستید که کوئری زدن در گوگل بسیار می تواند برایش مفید باشد. انشاالله در پست بعدی به موضوع کوئری زدن در گوگل خواهم پرداخت.

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

http://posedge.ir/2018/08/10/fpga_sdcard_microblaze/


#پروژه #حافظه #SD #Microblaze
Forwarded from Mohammad Amin Nili
بیایید با گوگل دوست شویم ...!

عرض سلام و ادب خدمت تمامی دوستان.
همان طور که در قسمت قبل عرایضم بیان کردم، طی صحبتی که با آقای @mhagh66 عزیز داشتیم به این نتیجه رسیدیم که بسیاری از سوالات گروه با یک جستجوی ساده در گوگل با سرعت بسیار بیشتری به جواب بسیار دقیق تری می رسند، از این رو تصمیم بر این شد که بنده ی حقیر پست هایی در باب سرچ در گوگل را در این جا بنویسم که خوشبختانه اقبال من بلند بود یا تاثیر پست اول، از پست اول تا به این لحظه میزان سوالاتی که با یک جستجوی ساده حل شوند بسیار کم شده. از همکاری شما بزرگواران (و یا شانس خودم) بسیار سپاس گزارم.
این پست قسمت دوم و پایانی این بحث است که به موضوع کوئری نوشتن در گوگل اختصاص دارد.

نوشتن کوئری در گوگل یک کار پیچیده و عجیب نیست. اما در کنار قواعدی که در پست قبل بیان کردم، در بسیاری از مواقع به شما یک ابزار بسیار بسیار قدرتمند برای یافتن جوابتان می دهد.
شاید بتوان در گوگل ده ها نوع مختلف کوئری نوشت اما بعضی از آن ها برای نیاز ما در این گروه بسیار کاربردی تر و مناسب تر هستند که من سعی می کنم در این جا به ترتیب اهمیت به آن ها اشاره کنم:


1. inurl:<some text here> <search keywords>
شاید مهم ترین کوئری برای یافتن نمونه کد، کوئری بالا باشد که بسیار می تواند سریع ما را به جواب برساند. این کوئری بیان می کند که در صفحاتی در وب که url آن ها حاوی عبارت some text here است، به دنبال search keywords بگرد.
نکته: توجه کنید که عبارت مقابل inurl باید حتما پشت سر هم باشد، چنان که در url ها دقیقا این مطلب را مشاهده می کنیم.
مثلا فرض کنید که من به دنبال نمونه کد یک جمع کننده ی ۶۴ بیتی با کد verilog می گردم. طبیعتا یکی از بهترین جاها برای جستجو سایت github است. پس حاصل کوئری من به شرح زیر می شود:
inurl:github verilog 64bit adder

2. site:<site address> <search keywords>
این کوئری نیز با تقریب خوبی مانند بالا عمل می کند اما با این تفاوت که شما در مقابل عبارت site باید حتما url مربوط به سایت (مثلا آدرس دامنه) را وارد کنید نه یک عبارت. این کوئری باعث می شود که search keywords تنها در سایت ذکر شده جستجو شود و نه هیچ جای دیگری از وب.
site:github.com verilog 64bit adder

3. -<keyword to remove from search result>
شاید از کوئری مطرح شده تعجب کرده باشید. بله درست دیدید "-" یا همان dash. من شخصا بسیار از این کوئری استفاده می کنم تا از شر عبارات مزاحم خلاص شوم. گوگل نتایج جستجوی حاوی کلمه ی بعد از dash را حذف می کند.
نکته: تا جایی که می دانم این کوئری صرفا روی کلمه ی بلافاصله بعد از خود اثر می کند. مگر یک حالا خاص و آن هم این که عبارت داخل کوت (") باشد.
نکته: می توانید چندین dash در یک جستجو داشته باشید که گوگل تک تک آن ها را از نتایج به دست آمده غربال و حذف می کند.
inurl:github verilog 64bit adder -nextseto -"floating point"

4. "<phrase to be exactly in the search result>"
فکر می کنم اکثر دوستان با "" یا همان کوت آشنایی داشته باشند. گوگل وظیفه دارد که عین عبارت داخل کوت را به شما نشان بدهد. اما کوت وقتی کاربرد اصلی خود را نشان می دهد که در ترکیب با سایر موارد بالا استفاده شود (مانند مورد ۳)، یا این که ممکن است گوگل در نتایج خود یک سری حدس های غلط بزند (مثلا هم معنی کلمه را نشان بدهد) و شما با کوت تاکید کنید که خود کلمه مد نظرتان است.


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

موفق باشید.
Forwarded from Mohammad Amin Nili
چگونه فایل و کتاب مورد نظرمان را پیدا کنیم؟

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

چگونگی یافتن کتاب و مقاله:
من این جا فرض را بر این می گذارم که شما ISBN کتاب و یا DOI مقاله را در اختیار دارید. چرا که در غیر این صورت برای پیدا کردن عنوان دقیق کتاب (و یا ISBN آن) می توانید به سادگی با نوشتن کوئری زیر به این اطلاعات دست پیدا کنید
inurl:amozon.com <book title>
برای پیدا کردن DOI نیز باید عنوان مقاله را جستجو کنید که به طور معمول نتیجه ی اول یا دوم جستجو به شما لینک مربوط به مجوعه ی منتشر کننده ی مقاله را می دهد و شما به سادگی می توانید در لینک مربوطه (که مثلا برای ieee است) DOI مقاله را پیدا کنید.

در مورد کتاب:
اگر به دنبال کتاب هستید، توصیه می کنم وقت خودتان را با هیچ سایتی تلف نکنید و مستقیم به سراغ
http://gen.lib.rus.ec/
بروید. سایت هایی مانند bookyar.org نیز وجود دارند که از نظر من "کپیِ پولی و ناقص" این سایت کامل و مجانی هستند!!! به جرات می توانم بگویم که اگر کتابی در این سایت روسی نباشد عملا می توانید از عدم وجود آن کتاب در فضای نت (غیر مُجاز و مجانی) مطمین باشید (مگر موارد بسیار بسیار بسیار نادر که شخصا به این موارد بر نخوردم).

در مورد مقاله:
اما برای یافتن مقالات چه طور؟
سایتی که در بالا به آن اشاره کردم ظاهرا زیر مجموعه ای دارد به آدرس
http://sci-hub.tw
که این جا نیز تقریبا تمام مقالات روز (و غیر روز) را در اختیار تان می گذارد. عدم وجود یک مقاله در این سایت تقریبا به معنی عدم وجود آن مقاله در دنیای وب (غیر مُجاز و مجانی) است. اما یک نکته مهم وجود دارد و آن این است که ظاهرا این سایت همواره توسط سرویس های ارایه دهنده ی دامنه بلاک شده و در نتیجه هر چند ماه/سال یک بار مجبور به تغییر دامنه می شود. از این رو دقت کنید که اگر نتوانستید به این سایت دسترسی پیدا کنید اول به دنبال آدرس جدیدش بگردید و سپس اگر یافت نشد به سراغ گزینه های بعدی تان برای پیدا کردن مقاله بروید.

در مورد فایل و برنامه:
قبل از هر چیز لازم به تذکر است که من در مورد فایل ها و اپلیکیشن هایی که به سادگی می توان آن ها را در سایت های ایرانی مثل p30download.com و ... پیدا کرد صحبت نمی کنم.
۱. گوگل برای این منظور یک کوئری ساده دارد که همان طور که یکی از سروران ارجمند اشاره فرمودند اکثر ما با آن آشنایی داریم
filetype:<file extention> <search keywords>
با توجه به این که اکثر ما با این روش آشنایی داریم من به ذکر یک مثال کفایت می کنم
filetype:pdf blockchain fpga
۲. اما این تنها روش یافتن فایل در دنیای وب نیست. اکثر افراد امروزه در فضای ابری خود یا فضا های اشتراک فایل، فایلی را بارگذاری می کنند و آدرس آن را در وبسایت خود قرار می دهند. برای این گونه مواقع باید چه کرد؟
اگر خوش شانس باشید و "نام فایل" در "لینک اشتراک گذاری شده" وجود داشته باشد، این بار سوء استفاده از یکی از کوئری های گوگل می تواند به شما کمک شایانی کند. ما با استفاده از این کوئری به گوگل دستور می دهیم تا در "محتوای" صفحات وب به دنبال صفحاتی بگردد که "لینک هایی" با دو ویژگی دارند: الف) لینک مربوط به سایت های اشتراک فایل، سرویس های ابری (مانند dropbox) و یا حتی تورنت باشد ب) در آن، عنوان مورد جستجوی ما قرار گرفته باشد.
allinanchor:<keywords to search>
مثال زیر تقریبا همه چیز را روشن می کند
allinanchor:vivado 2018 .torrent
نکته: امروز متوجه شدم که اگر بخواهید یک "عبارت چند کلمه ای" را بعد از query هایی که با in شروع می شوند جستجو کنید، نیازی به quote نیست و می توانید از all استفاده کنید که باعث می شود گوگل تمامی کلمات بعدی را جزو کوئری حساب کند.
inurl:"hello world" -> allinurl:hello world
۳. تمامی این روش ها تا زمانی به درد می خورند که شما به دنبال نرم افزار ها و فایل های "گیرآمدنی" هستید. اگر به دنبال نرم افزار های "گیرنیامدنی" باشید، باید به دنبال سایت های خاص بگردید که معمولا در نتایج جستجو گوگل نشان داده نمی شوند، چرا که اکثرا برای برادران چینی هستند! اگر روزی به دنبال یک نرم افزار EDA خاص مثل ICC بودید لطفا در خصوصی پیغام بدهید تا راهنماییتان کنم چون بحث مربوط به آن خارج از حوصله ی جمع است.

در ادامه یک لینک از مرجع کامل کوئری های گوگل قرار خواهم داد. البته فراموش نکنید این هنر شماست که چگونه از آن استفاده می کنید.
https://ahrefs.com/blog/google-advanced-search-operators/
Forwarded from Taksuntech.ir (سینا اسدیان)
دسترسی به ویدیوها، اسلایدها و گزارش آزمایشگاه کورس طراحی نرم افزاری و سخت افزاری FPGA با کد ECE522 برگزار شده در دانشگاه نیو مکزیکو .
این کورس به صورت آنلاین برگزار شده است.
برای سیلابس و مروز کلی دوره و مطالب آن میتوانید ویدیوی اول course overview را مشاهده کنید

http://ece-research.unm.edu/jimp/codesign/index.html

@Taksuntec
W5_HDL_Synthesizable_Verilog_Coding-2009-03-18.pdf
6.5 MB
"کدنویسی قابل سنتز با وریلاگ"
سندی مختصر و بسیار مفید در رابطه با نکات کاربردی زبان وریلاگ و دستوراتی که در عمل قابل پیاده سازی نیستند!
#verilog #synthesizable
معرفی سرویس شکن (shecan)!
دور زدن تحریم های اینترنتی بدون استفاده از فیلترشکن!

🎉امروز از طریق یکی از دوستان با سرویس رایگانی به اسم شکن (shecan.ir) آشنا شدم که با استفاده از اون به راحتی و بدون نیاز به هیچ گونه نرم افزار اضافی از قبیل فیلترشکن و ... میشه به وبسایتهایی که ایران را تحریم کرده اند دسترسی پیدا کرد. کافی است آدرس دی.ان.اس سرورتان را به آی.پی های دی.ان.اس سرور شکن تغییر دهید و از وبسایتهایی مثل digikey.com و ti.com و Coursera.org و ... که ایران را تحریم کرده اند استفاده کنید!

آی.پی های دی.ان.اس سرور شکن:
178.22.122.100
94.232.174.194

❗️توجه داشته باشید که شکن سرویسی جهت دور زدن فیلترینگ نبوده و امکان دسترسی به سایتهای فیلترشده از طرف ایران را فراهم نمیکند! این سرویس تنها برای دسترسی به وبسایتهایی است که آنها ما را فیلتر کرده اند، نه ما آنها را ! 😄

🌟نحوه ی فعالسازی این سرویس در وبسایت Shecan.ir توضیح داده شده است. نکته ای که در این رابطه بایستی اضافه کنم این است که چنانچه پس از تنظیم دی.ان.اس سرورها، باز هم سایتی باز نشد، لازم است به روش زیر اقدام به پاک کردن کش dsn خود کنید:
1- از طریق منوی استارت، عبارت cmd را جستجو کنید و با راست کلیک روی آن عبارت run as administrator را انتخاب کنید.
2- در پنجره‌ی باز شده عبارت زیر را تایپ کنید و اینتر را بزنید:
ipconfig /flushdns

همچنین بهتر است کش dns مرورگر خود را نیز پاک کنید.
برای این کار در مرورگر کروم آدرس زیر را وارد کنید:
chrome://net-internals/#dns
و با انتخاب عبارت dns، کلید clear host cache را بفشارید!

🌟چنانچه باز هم مشکلی بود، به احتمال بسیار قوی با تنظیم سرور دی.ان.اس در تنظیمات مودم خود به آی.پی های شکن مشکل حل خواهد شد.

🆔@posedge
realTimeCpp.pdf
4.9 MB
لینک دانلود کتاب مورد اشاره در مقاله فوق
#کتاب #book
#cpp #programming

🆔@posedge