FPGA: הכל על הצ'יפים האלה ותכנות שלהם

שבב FPGA

ل FPGA הפכו פופולריים יותר ויותר בפעמים האחרונות. אפילו עבור יישומים מקצועיים משתמשים לעתים קרובות בשבבים אלה, אך גם עבור יצרני DIY ויצרנים המעוניינים להטמיע מעגל בדיד בתוך שבב עם כל היתרונות המשתמע מכך. זה לא זול או קל למצוא מפעל כדי לשלוח את הפריסות או הדפוסים שלך ולייצר עבורך שבב מותאם אישית.

נכון שחלק מהיציקות מאפשרות זאת להכין רקיקים או רקיקים מרובי-פרוייקט להכין שבבים מאנשים פרטיים או מאוניברסיטאות כדי לבדוק איתם. סוגים אלה של מפעלים הם, כמו שאומר, קשה למצוא, בדרך כלל הם נמצאים בחו"ל והם אינם זולים. לאחר זמן מה, דוגמאות של הצ'יפס שלך נשלחות לכתובת המוסכמת, אך אינן אחראיות לבדיקת אלה או לבדוק שהן עובדות. הכל תלוי בעיצוב שלך ...

א פיתרון חלופי לכך הוא רכישת FPGA ותכנת את כל מה שאתה צריך ליישם בתוך השבב ...

מה זה FPGA?

תאים ניתנים לתכנות

FPGA מייצג מערך שער לתכנות בשטח. הם מכשירים דיגיטליים או שבבים שיכולים להיות מוגדרים כך שיאפשרו ליישם כמעט כל דבר. כלומר, במילים אחרות, זהו שבב ריק שבו אתה יכול "לכתוב". זה אומר שאתה יכול ליישם מעבד, זיכרון, בקר, כל היגיון וכו ', להשיג פעולה מהירה מאוד ועם כל היתרונות של שילובו בשבב ולא באלמנטים אלקטרוניים.

רוס פרימן וברנרד וונדרשמיט, מייסדי חברת Xilinx, היו אלה שהמציאו את ה- FPGA בשנת 1984. הם עשו זאת כאבולוציה לשבבי ה- CPLD של אז. לשבבים הניתנים לתכנות CPLD היו כמה חסרונות שפתרו את העיצובים החדשים של FPGA ומאז הם התפתחו עד היום.

שוק ה- FPGA כל כך פורה שחברות אוהבות אינטל, Xilinx, Altera, Quick Logic, Lattice וכו '., הם השקיעו הרבה בפיתוח FPGA טובים יותר וגם סביבות תכנות או IDE משובצים עבורם. ובכך לספק פלטפורמות טובות מאוד כדי להקל על משימתם של מפתחים או יצרנים.

נכון לעכשיו יצרנים אלה לא רק מספקים שבב לתכנות, אלא גם כוללים מרכיבי עזר רבים להביא אפשרויות נוספות למפתחים. לדוגמה, הם כוללים תאי זיכרון פלאש, תאי זיכרון SDRAM וכן הלאה.

לשם מה הם משמשים?

IDE לתכנת FPGA

לכן, FPGA יכול להיות דומה ל- ASIC אבל זה אנחנו יכולים לבחור מה שיהיה. לדוגמה, אנו יכולים ליצור קוד לתכנת אותו ולהפוך אותו למעבד, GPU, adder, בקר זיכרון או כל מעגל לוגי אחר המיושם על שבב יחיד.

האפשרויות די אינסופיות. למעשה, אני ממליץ לך לבקר באתר opencores.org, un sitio dedicado a ofrecer multitud de proyectos de hardware libre. Encontrarás códigos en VHDL, Verligo, etc., para זיכרון RAM, מעבד, GPU, בקרים, ALUs, FPUs, מפענחים, ועוד..

איך זה מתוכנת?

מתכנת עבור FPGA

כדי לתכנת FPGA אנו יכולים לעשות זאת ממערכת ההפעלה המועדפת עלינו, כגון GNU / Linux, Windows ו- MacOS, אם כי בהחלט קיימות סביבות פיתוח רבות יותר עבור Windows. באופן כללי, אותן חברות שמייצרות את ה- FPGA מציעות IDE שלם מאוד לעבודה והיכן למצוא את כל הכלים הדרושים באותה חבילת תוכנה.

אתה גם צריך את שבב או לוח FPGA והכבל או המתכנת הדרושים בעזרתו תוכלו לחבר את ה- FPGA למחשב האישי כדי להעביר את הקוד הכתוב ל- FPGA וכך הוא מתוכנת. זה משהו דומה למה שאתה עושה עם לוח הארדואינו, כותב את תוכנית ה- Arduino IDE בזיכרון הניתן לתכנות של המיקרו-בקר.

רק במקרה של ה- FPGA מה שיש לנו הוא מטריצה ​​או מערך של רכיבים אלמנטריים כמו תאי זיכרון, AND שערים, OR, NOT, כפכפים ואחרים. אלמנטים בסיסיים או בלוקים של אלקטרוניקה דיגיטלית שנוכל להשתמש בהם. עם התוכנית הכתובה, מה שאנחנו הולכים לעשות הוא להטיל את הדרך שבה יש לקבץ את הבלוקים החיוניים הללו כדי ליצור את המעגל הקטן שאנו רוצים, כגון ALU.

כלומר, אם אנו מתכנתים תוסף ב- IDE שלנו, החסימות הדרושות ליישום התוספת הזו הם הולכים לקשר בצורה הנכונה בתוך ה- FPGA כך שהשבב יעבוד כקודם. פשוט נכון? באופן כללי משתמשים בכמה שיטות לתכנות זה ברמה פיזית, כגון זיכרונות או נתיכים ליצירת קישור קבוע במקרה זה.

המהירות בה הם פועלים תלויה תדר שעון אליו עובד ה- FPGA שרכשנו. לדוגמה, הבסיסיים ביותר עובדים בדרך כלל ב 50 Mhz, אחרים יעשו זאת בתדרים גבוהים בהרבה. במקרה של 50 מגה-הרץ FPGA, זה אומר שהוא יפעל בקצב של 50.000.000 פעמים בשנייה. אם נמשיך עם התוספתן שנתתי כדוגמה, תוכל לעשות סכום סכומים זה בשנייה אחת ...

ממשיך לנושא התכנותברגע שנדע שאתה יכול לכתוב קוד כמו שהיינו עושים ב- Arduino IDE או לפתח כל תוכנית אחרת, ולראות איך זה נעשה ברמת החומרה, אני אגיד שזה באמת לא מתכנת ככזה. במקום זאת זהו תיאור חומרה. למעשה, משתמשים בשפות תיאור חומרה כגון VHDL, Verilog וכו '.

עם תוכנית זו מתוארת ברמה הגיונית מה המעגל הקטן שאנו רוצים ליישם עושה. ואז זה עובר ל- FPGA. למרות שזה נכון שפלטפורמות מסוימות מאפשרות תכנות בשפות תכנות כגון C להיות מסוגל להטמיע מעבד ב- FPGA ואז לייצר תוכניות להטענה בזיכרון ולעיבודן על ידי המעבד האמור.

שילוב עם ארדואינו

FPGA ארדואינו

בדרך כלל משתמשים ב- FPGA בנפרד, אך נכון שיש בשוק הרבה כלים וערכות שיקלו על חייכם לשלב את FPGA עם פלטפורמת Arduino. דוגמה ללוח להביא FPGAs לפרויקטים שלך עם Arduino הוא MKR Vidor 4000, אם כי יש אחרים.

MKR וידור 4000 זה לוח עם שלושה שבבים. אחד מהם הוא FPGA, ספציפית Intel Cyclone 10. יש גם שבבים אחרים לקישוריות Bluetooth LE או צריכת חשמל נמוכה וגם תאימות ל- WiFi. השלמה טובה לספק ל- Arduino פונקציות קישוריות ולהיות מימוש מה שאתה צריך ב- FPGA.

איתו יש לך חומרה הניתנת להתאמה אישית, מוגדרים בעצמך למטרה שאתה רוצה. זה מציע אינסוף אפשרויות.


היה הראשון להגיב

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.