Forwarded from zaki
از JTAG معمولا برای پروگرام کردن میکروکنترلرها و fpga ها و یا دیباگ کردن کدهای اجرایی پروگرام شده روی میکروها و پردازنده ها استفاده می کنیم
اما هدف اصلی از ایجاد jtag اینها نبود! بلکه انگیزه اصلی امکان تست کردن پایه های ورودی و خروجی و سیستمهای داخلی IC ها بود!!
بخصوص در پکیجهای BGA که پایه ها زیر تراشه قرار می گیرند و امکان متصل کردن پروب به آنها وجود ندارد!!
امکانی که jtag به وجود میآورد این بود که تنها از طریق کابل jtag که دارای چهار سیگنال tdi tdo tms tck است و یک برنامه نوشته شده سمت کامپیوتر می توانیم مقدار هر کدام از پایه های تراشه را مقدار دهی کنیم و یا مقدار فعلی آن را بخوانیم!!!
مثلا اگر بخواهیم بفهمیم پایه x به علت لحیم کاری اشتباه به پایه های بغلی اتصال کوتاه شده باشد، کافی است که مقدار آن پایه را یک کنیم و مقادیر پایه های بغلی را بخوانیم اگر آنها هم یک شوند و هنگام صفر شدن x مجددا صفر شوند یعنی به همدیگر متصل شده اند!
اما هدف اصلی از ایجاد jtag اینها نبود! بلکه انگیزه اصلی امکان تست کردن پایه های ورودی و خروجی و سیستمهای داخلی IC ها بود!!
بخصوص در پکیجهای BGA که پایه ها زیر تراشه قرار می گیرند و امکان متصل کردن پروب به آنها وجود ندارد!!
امکانی که jtag به وجود میآورد این بود که تنها از طریق کابل jtag که دارای چهار سیگنال tdi tdo tms tck است و یک برنامه نوشته شده سمت کامپیوتر می توانیم مقدار هر کدام از پایه های تراشه را مقدار دهی کنیم و یا مقدار فعلی آن را بخوانیم!!!
مثلا اگر بخواهیم بفهمیم پایه x به علت لحیم کاری اشتباه به پایه های بغلی اتصال کوتاه شده باشد، کافی است که مقدار آن پایه را یک کنیم و مقادیر پایه های بغلی را بخوانیم اگر آنها هم یک شوند و هنگام صفر شدن x مجددا صفر شوند یعنی به همدیگر متصل شده اند!
Forwarded from zaki
bst_debug-emulation_programming.gif
8.2 KB
همانگونه که مشاهده می شود jtag به غیر از پروگرام کردن و دیباگ کردن امکان boundary scan را نیز فراهم می کند
Forwarded from zaki
برای پروگرام کردن fpga ها با jtag معمولا از ابزارهای تولید شده توسط سازندگان آنها استفاده می شود ، البته ابزارهای open source هم موجود هستند
برای boundary scan کردن تراشه ها و fpga ها نیز ابزاهای کمی موجود هستند
مثلا openocd و UrJTAG
برای boundary scan کردن تراشه ها و fpga ها نیز ابزاهای کمی موجود هستند
مثلا openocd و UrJTAG
Forwarded from zaki
مثلا در اینجا با برنامه urjtag و از طریق ft2232 روی برد به تراشه spartan xc6slx9 متصل شدم و یکی از پایه ها را یک کردم بدون نوشتن یک خط vhdl و حتی بدون پروگرام کردن fpga!!
این کار را میتوان برای میکروها و پردازنده و تراشه های مجهز به jtag نیز انجام داد
این کار را میتوان برای میکروها و پردازنده و تراشه های مجهز به jtag نیز انجام داد
Forwarded from MicroLab (Siyavash Adib)
آموزش طراحى ديجيتال با استفاده از FPGA - فصل 2 - قسمت 1
https://www.aparat.com/v/nHWFD
https://t.me/MicrLab
#FPGA
https://www.aparat.com/v/nHWFD
https://t.me/MicrLab
#FPGA
آپارات - سرویس اشتراک ویدیو
آموزش طراحی دیجیتال با استفاده از FPGA - فصل 2 قسمت 1
این جلسه : Serial ADC، SPI Interface، مبدل آنالوگ به دیجیتال، دوستان مهندس عزیزم ، در این مجموعه سعی می کنم هر چی FPGA بلدم به شما عزیزان منتقل کنم . انشاالله همگی بتونیم چرخی در جمهوری اسلامی عزیزمون بچرخونیم . یا علی . لینک کانال : https://t.me/MicrLab…
Forwarded from MicroLab (Siyavash Adib)
فصل 2 - قسمت 1 - آموزش طراحی دیجیتال با استفاده از FPGA 👇👇👇
#FPGA
#FPGA
Forwarded from MicroLab (Siyavash Adib)
Media is too big
VIEW IN TELEGRAM
Forwarded from zaki
تبدیل سیگنالهای دوربین موبایل به paralel RGB با استفاده از FPGA
از شرکت لاتیس
http://www.latticesemi.com/Products/DesignSoftwareAndIP/IntellectualProperty/IPCore/IPCores04/MIPICSI2toCMOSImageSensorBridge.aspx
از شرکت لاتیس
http://www.latticesemi.com/Products/DesignSoftwareAndIP/IntellectualProperty/IPCore/IPCores04/MIPICSI2toCMOSImageSensorBridge.aspx
Forwarded from zaki
این هم اطلاعاتی در مورد سیگنالهای دوربین موبایل
https://www.electroschematics.com/9767/mobile-phone-camera-interface/
https://www.electroschematics.com/9767/mobile-phone-camera-interface/
Forwarded from zaki
این هم نسخه ASIC مبدل سیگنالهای MIPI CSI به RGB parallel
از توشيبا
https://toshiba.semicon-storage.com/content/dam/toshiba-ss/ncsa/en_us/docs/product-brief/assp/11J02_TC358746_ProdBrief.pdf
از توشيبا
https://toshiba.semicon-storage.com/content/dam/toshiba-ss/ncsa/en_us/docs/product-brief/assp/11J02_TC358746_ProdBrief.pdf
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/
معماری 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/
Forbes
This New Chip Startup Wants To Bring Open Source To A Stagnant Industry
New chip startup SiFive wants to "democratize access to silicon" using an open source chip architecture called RISC-V.
Forwarded from zaki
پروژه FPGArduino هم از هسته f32c استفاده می کنه که اون هم مبتنی بر معماری RISC-V هستش
Forwarded from Mhagh
اتفاقا f32c (پروژه ی fpgarduino) روی پازج هم پورت شده!
http://posedge.ir/forum/index.php?/topic/25-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
https://www.youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb&disable_polymer=true
YouTube
C++ - YouTube
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 جابجا کنید!
هم اکنون میتوانید این پچ را دانلود کرده و از اجرای این مثال لذت ببرید!
یلدای خوبی داشته باشید!🍉
بدین منظور دوستان میتوانند با دانلود پچ جدید پازج، مثال جدیدی که در بخش 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 !
فید (Fade) کردن LED ها با کمک PWM !
Forwarded from Javad Boorghani
✅✏️ انواع خروجی در آی سی های دیجیتال
دقت کنید هر نوع خروجی مزایا و کاربرد خود را دارد و در هر مورد نکاتی که گفته شد باید رعایت گردد.
دقت کنید هر نوع خروجی مزایا و کاربرد خود را دارد و در هر مورد نکاتی که گفته شد باید رعایت گردد.
Forwarded from Mohammad Amin Nili
بیایید با گوگل دوست شویم ...!
بعد از مشورتی که با آقای @mhagh66 عزیز داشتم به این نتیجه رسیدیم که بیش از ۸۰ درصد سوالات و پرسش هایی که در گروه مطرح می شوند با یک جستجوی کم تر از ۵ دقیقه در گوگل به یک جواب به مراتب دقیق تر و کامل تر منجر می شوند.
نتیجه این که برخی از پرسش گران عزیز یا با "هنر" جستجو در موتور های جستجو (در این جا گوگل منظور است)، بیگانه اند و یا خدای ناکرده حوصله ی کافی برای سرچ ندارند و ترجیح می دهند فرد دیگری به جای آن ها این کار را انجام دهد! ما فرض را بر مورد اول می گذاریم و در نتیجه این پست را برای این دسته از بزرگواران به رشته ی تحریر در می آوریم.
من در این جا و در این پست قصد ندارم برای عزیزان نحوه ی کوئری نوشتن در گوگل را آموزش دهم، بلکه برای شروع و به عنوان مقدمه می خواهم به نکات ظریفی اشاره کنم که شاید در کم تر جای دیگری شنیده باشید و همین نکات ظریف گاهی از صد نوع کوئری زدن مفید تر و کاربردی تر است:
۱. اگر کار خیلی خیلی خاصی انجام نمی دهید یا در یک کار به حد رفرنس (همان اوستا کار خودمان) نرسیده اید، با احتمال بیش از ۸۰ درصد می توانید پاسخ پرسش های خود را در موتور های جستجو پیدا کنید.
این نکته از نظر من اساس و کلید جستجو در گوگل است. این که شما یقین داشته باشید بالاخره در گوشه ای از این دنیای بزرگ کسی پرسش شما را قبلا داشته و راه حل آن را به نحوی پیدا کرده است بسیار در نتیجه ی جستجو های شما می تواند مفید باشد.
۲. گوگل قرار نیست به شما پاسخی بدهد وقتی خود شما نمی دانید چه سوالی باید بپرسید! کم نیستند مواقعی که سوال یا هدف جستجوی تان به صورت یک مفهوم در ذهنتان وجود دارد و نمی توانید آن را در قالب کلمات بیان کنید. در این گونه مواقع بهترین کار این است که ابتدا به دنبال کلید واژه هایی بگردید که بتوانند سوال شما را بیان کنند و بعد به سراغ جستجو بروید.
۳. در بسیاری از مواقع ممکن است شما کلمات مناسب برای جستجو را پیدا نکنید. در این گونه موارد بهترین کار روشی است که من به آن سرچ تو در تو می گویم.
روش سرچ تودرتو به این شکل است که شما جستجو را با یک سری کلمات و عباراتی که به نظرتان اصلا به هدف اصلی نزدیک نیست شروع می کنید. بعد در هر مرحله نتایج جستجو را بررسی می کنید و با استفاده از نتایج به دست آمده کلیدواژه ها و عبارات جستجوی خود را تغییر داده و بهبود می بخشید. تا زمانی که نتیجه ی مورد نظرتان حاصل شود به این کار ادامه ی می دهید.
۴. همان طور که در ابتدای این پست اشاره شد، اصولا سرچ در گوگل به طور معمول یک امر زمان بر تلقی نمی شود، اما توجه به این نکته ضروری است که به میزانی که شما در کارتان حرفه ای و خبره می شوید، به همان میزان جستجوی در گوگل برای شما سخت تر و زمان بر تر خواهد شد. دلیل این امر نیز کوچک تر شدن دایره ی افرادی است که به محدوده ی دانش شما از قبل وارد شده اند. اما با تمام این اوصاف شما باید به جستجوی خود ادامه بدهید و تنها زمانی که اصطلاحا "کارد به استخوان رسید" پرسش خود را در گروه ها و فروم های مختلف مطرح کنید. از نظر این حقیر چیزی بدتر از این نیست که یک نفر پاسخم را با یک لینک بدهد که دقیقا به پرسش من اشاره دارد!
۵. متاسفانه در حوزه ی کاری ما (FPGA) وب فارسی چندان قوی عمل نکرده است. بنابراین مهم ترین لازمه ی جستجو در گوگل استفاده از زبان و عبارات انگلیسی است.
۶. اگر این نکات را قبول کردید، حالا شما فردی هستید که کوئری زدن در گوگل بسیار می تواند برایش مفید باشد. انشاالله در پست بعدی به موضوع کوئری زدن در گوگل خواهم پرداخت.
موفق باشید.
بعد از مشورتی که با آقای @mhagh66 عزیز داشتم به این نتیجه رسیدیم که بیش از ۸۰ درصد سوالات و پرسش هایی که در گروه مطرح می شوند با یک جستجوی کم تر از ۵ دقیقه در گوگل به یک جواب به مراتب دقیق تر و کامل تر منجر می شوند.
نتیجه این که برخی از پرسش گران عزیز یا با "هنر" جستجو در موتور های جستجو (در این جا گوگل منظور است)، بیگانه اند و یا خدای ناکرده حوصله ی کافی برای سرچ ندارند و ترجیح می دهند فرد دیگری به جای آن ها این کار را انجام دهد! ما فرض را بر مورد اول می گذاریم و در نتیجه این پست را برای این دسته از بزرگواران به رشته ی تحریر در می آوریم.
من در این جا و در این پست قصد ندارم برای عزیزان نحوه ی کوئری نوشتن در گوگل را آموزش دهم، بلکه برای شروع و به عنوان مقدمه می خواهم به نکات ظریفی اشاره کنم که شاید در کم تر جای دیگری شنیده باشید و همین نکات ظریف گاهی از صد نوع کوئری زدن مفید تر و کاربردی تر است:
۱. اگر کار خیلی خیلی خاصی انجام نمی دهید یا در یک کار به حد رفرنس (همان اوستا کار خودمان) نرسیده اید، با احتمال بیش از ۸۰ درصد می توانید پاسخ پرسش های خود را در موتور های جستجو پیدا کنید.
این نکته از نظر من اساس و کلید جستجو در گوگل است. این که شما یقین داشته باشید بالاخره در گوشه ای از این دنیای بزرگ کسی پرسش شما را قبلا داشته و راه حل آن را به نحوی پیدا کرده است بسیار در نتیجه ی جستجو های شما می تواند مفید باشد.
۲. گوگل قرار نیست به شما پاسخی بدهد وقتی خود شما نمی دانید چه سوالی باید بپرسید! کم نیستند مواقعی که سوال یا هدف جستجوی تان به صورت یک مفهوم در ذهنتان وجود دارد و نمی توانید آن را در قالب کلمات بیان کنید. در این گونه مواقع بهترین کار این است که ابتدا به دنبال کلید واژه هایی بگردید که بتوانند سوال شما را بیان کنند و بعد به سراغ جستجو بروید.
۳. در بسیاری از مواقع ممکن است شما کلمات مناسب برای جستجو را پیدا نکنید. در این گونه موارد بهترین کار روشی است که من به آن سرچ تو در تو می گویم.
روش سرچ تودرتو به این شکل است که شما جستجو را با یک سری کلمات و عباراتی که به نظرتان اصلا به هدف اصلی نزدیک نیست شروع می کنید. بعد در هر مرحله نتایج جستجو را بررسی می کنید و با استفاده از نتایج به دست آمده کلیدواژه ها و عبارات جستجوی خود را تغییر داده و بهبود می بخشید. تا زمانی که نتیجه ی مورد نظرتان حاصل شود به این کار ادامه ی می دهید.
۴. همان طور که در ابتدای این پست اشاره شد، اصولا سرچ در گوگل به طور معمول یک امر زمان بر تلقی نمی شود، اما توجه به این نکته ضروری است که به میزانی که شما در کارتان حرفه ای و خبره می شوید، به همان میزان جستجوی در گوگل برای شما سخت تر و زمان بر تر خواهد شد. دلیل این امر نیز کوچک تر شدن دایره ی افرادی است که به محدوده ی دانش شما از قبل وارد شده اند. اما با تمام این اوصاف شما باید به جستجوی خود ادامه بدهید و تنها زمانی که اصطلاحا "کارد به استخوان رسید" پرسش خود را در گروه ها و فروم های مختلف مطرح کنید. از نظر این حقیر چیزی بدتر از این نیست که یک نفر پاسخم را با یک لینک بدهد که دقیقا به پرسش من اشاره دارد!
۵. متاسفانه در حوزه ی کاری ما (FPGA) وب فارسی چندان قوی عمل نکرده است. بنابراین مهم ترین لازمه ی جستجو در گوگل استفاده از زبان و عبارات انگلیسی است.
۶. اگر این نکات را قبول کردید، حالا شما فردی هستید که کوئری زدن در گوگل بسیار می تواند برایش مفید باشد. انشاالله در پست بعدی به موضوع کوئری زدن در گوگل خواهم پرداخت.
موفق باشید.
Forwarded from پازج FPGA گروه توسعه
امروزه حافظههای MicoroSD به بخش جدایی ناپذیری از دستگاههای دیجیتال مبدل شدهاند. این حافظه ها به دلیل ابعاد کوچک و ظرفیتهای بالا به پرطرفدارترین راهحل برای ذخیرهی دائمی اطلاعات در دستگاههای قابل حمل مبدل شده اند. اما شاید بتوان گفت در این بین FPGA ها به دلیل عدم برخورداری از حافظهی غیرفرار، بیش از دیگران نیازمند این حافظهها باشند. بنابراین در این پست قصد دارم تا شما را با نحوهی ارتباط FPGA با حافظهی MicroSD آشنا کنم.
http://posedge.ir/2018/08/10/fpga_sdcard_microblaze/
#پروژه #حافظه #SD #Microblaze
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>"
فکر می کنم اکثر دوستان با "" یا همان کوت آشنایی داشته باشند. گوگل وظیفه دارد که عین عبارت داخل کوت را به شما نشان بدهد. اما کوت وقتی کاربرد اصلی خود را نشان می دهد که در ترکیب با سایر موارد بالا استفاده شود (مانند مورد ۳)، یا این که ممکن است گوگل در نتایج خود یک سری حدس های غلط بزند (مثلا هم معنی کلمه را نشان بدهد) و شما با کوت تاکید کنید که خود کلمه مد نظرتان است.
این ها مواردی هستند که شخصا بسیار استفاده می کنم، هرچند همان طور که عرض شد تعداد کوئری ها بسیار بیش از این هاست. اگر دوستان علاقه مند بودند و از این پست استقبال شد و هم چنین مدیر محترم گروه موافقت کردند، به شرط حیات می توانم در یک پست دیگر به طور ویژه به جستجوی کتاب و نرم افزار در گوگل بپردازم.
موفق باشید.
عرض سلام و ادب خدمت تمامی دوستان.
همان طور که در قسمت قبل عرایضم بیان کردم، طی صحبتی که با آقای @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>"
فکر می کنم اکثر دوستان با "" یا همان کوت آشنایی داشته باشند. گوگل وظیفه دارد که عین عبارت داخل کوت را به شما نشان بدهد. اما کوت وقتی کاربرد اصلی خود را نشان می دهد که در ترکیب با سایر موارد بالا استفاده شود (مانند مورد ۳)، یا این که ممکن است گوگل در نتایج خود یک سری حدس های غلط بزند (مثلا هم معنی کلمه را نشان بدهد) و شما با کوت تاکید کنید که خود کلمه مد نظرتان است.
این ها مواردی هستند که شخصا بسیار استفاده می کنم، هرچند همان طور که عرض شد تعداد کوئری ها بسیار بیش از این هاست. اگر دوستان علاقه مند بودند و از این پست استقبال شد و هم چنین مدیر محترم گروه موافقت کردند، به شرط حیات می توانم در یک پست دیگر به طور ویژه به جستجوی کتاب و نرم افزار در گوگل بپردازم.
موفق باشید.