שְׁאֵלָה:
כיצד לבחור FPGA?
fpganewbie
2009-11-28 23:38:37 UTC
view on stackexchange narkive permalink

אני צריך לעשות עיבוד אותות דיגיטלי בשמונה קווים אנלוגיים ב -10 קילוהרץ. זו משימה תובענית למדי, וחשבתי ש- FPGA עשויה להיות הגישה הנכונה. כרגע אני מסתכל על ערכות התפתחות של Xilinx, ומכיוון שאין לי ניסיון עם FPGA, אני באמת מתקשה לדעת לבחור את השבב הנכון. דמיינתי להשתמש בערכת dev ולהרחיב אותה באמצעות סיכות קלט / פלט כדי להתחבר לשבב A / D של 8 ערוצים ולשבב D / A של 8 ערוצים.

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

אני זקוק לפיתרון הניתן לתכנות באמצעות לינוקס. Xilinx מספק זאת, אבל אני לא בטוח מה המגבלות.

זה יעזור מאוד לדעת איזה סוג של אלגוריתמים אתה צריך ליישם. רוב הסיכויים שאתה בכלל לא צריך FPGA, מה שיחסוך לך הרבה זמן פיתוח ;-)
אני מסכים עם geschema; ייתכן שלא תזדקק ל- FPGA. אולי DSP הוא פיתרון טוב יותר. בכל מקרה קל יותר להתחיל איתם אם יש לך ניסיון רק ב- UC. FPGAs שונים מאוד!
שמונה תשובות:
#1
+13
Jason S
2009-11-29 00:42:06 UTC
view on stackexchange narkive permalink

לא הייתי משתמש ב- FPGA.

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

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

עבור פרויקט DSP כמו מה שתיארת, אני ממליץ על DSP או על Cypress PSOC או על Microconverter Microconverter (= מיקרו-בקר עם ADC + DAC מובנה) במקום.

(גילוי מלא, המספק הקשר כלשהו לעצותי: אני לא משתמש בעצמי ב- FPGA. השתמשתי בהיגיון לתכנות = PLD במקרים נדירים. השותף שלי אכן משתמש בתדירות FPGA, וראיתי מספיק קוד VHDL / Verilog מסתכל מעבר לכתפו כדי לדעת שהוא מתאים למניפולציות קצת. הוא מהנדס מנוסה עם הרבה ניסיון עם FPGA; בשיחה שהתקיימה איתו לאחרונה שם הוא עשה מתמטיקה פשוטה למדי במספרים שלמים עם רוחבי סיביות שונים, אמרתי לו שהוא צריך לבצע הארכת סימנים במכשירים מספר רוחב קצת יותר טוב כדי לחסר אותו כמו שצריך, והוא קיבל את המבט הזה על הפנים שלו, כמו "אוי בנאדם, אני לא רוצה לעשות סיומת שלטים ..." הוספה וחיסור לא קשה מאוד ב- FPGA . מעבר לחיבור וחיסור, אתה באמת צריך להכיר את הכלים והספריות. ועיבוד נקודות צפות ??!? !! ??!? !!?)

[MyHDL] (http://www.myhdl.org/doku.php) מנסה לתקן חלק מאותן בעיות.
אני לא חושב שקשה יותר להשתמש ב- FPGA מאשר במיקרו, פשוט יש להם סט אזהרות אחר.
#2
+10
Vincent P
2009-12-01 01:25:47 UTC
view on stackexchange narkive permalink

כולם די טובים. לא תצטרך יותר מדי מה- FPGA בכדי לעשות משהו פשוט כזה, ולכן כל FPGA מתחיל (כמו קו Spartan-3) אמור להספיק.

רק מילת אזהרה, לתכנת FPGA הוא LOOOOTTTTTT שונה ממשהו כמו C ++, C, perl ... הייתי מציע להתחיל עם verilog כי כנראה קל יותר לעבור ל ... VHDL דומה מאוד ל- COBOL אבל verilog דומה יותר לשפות תכנות מודרניות. / p>

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

אבל כמו ההערה האחרת, זו פרדיגמה אחרת לגמרי. עקומת הלמידה תלולה, אך ברגע שאתה קולט את השפה, הכל הגיוני (רק וודא שאתה מבין את אבני הבניין).

FPGA שמח שמח :)

VHDL מבוסס למעשה על עדה! ליאון
כמו כן, בבחירת Verilog או VHDL, שקול את השפה לאור היותה השקעה בסחירות העתידית שלך. בארה"ב, Verilog פופולרית יותר בפיתוח IC / שבבים מאשר VHDL, כך שידוע ש- Verilog (והגרסה המשופרת שלה, System Verilog) תהיה השקעה טובה יותר לטווח הארוך. נראה גם שכל חברות ה- EDA הגדולות משקיעות ב- verilog וב- verilog המערכת, ואילו VHDL לא זוכה לתשומת לב רבה. (היה עד לסימולציה מעורבת של VCS עם vhdl לעומת ההבדלים בביצועי סימולטור ה- VCS verilog). כן, אתה יכול ללמוד את שניהם, אבל למה לא לתת עדיפות.
אתה יכול לכתוב את זה בשתי השפות. אני חושב שכלי ה- Xilinx יכולים לקחת את Verilog ו- VHDL, אפילו באותו פרויקט. FWIW, אני בארה"ב ומעולם לא השתמשתי ב- Verilog.
"VHDL הוא מאוד כמו COBOL". לא במיליון מיילים!
#3
+9
davr
2009-12-22 02:43:35 UTC
view on stackexchange narkive permalink

לפני זמן מה הרכבתי טבלת השוואה של לוחות FPGA ברמת כניסה, משני ספקי ה- FPGA Xilinx ו- Altera. הם שני השחקנים הגדולים ב- FPGA, כמו PIC לעומת AVR או Sony לעומת Nintendo. הם מספקים את המפץ הטוב ביותר. ישנם ספקים אחרים המספקים תכונות ספציפיות, אך בדרך כלל אתה משלם יותר או מאבד תכונות / כוח עיבוד.

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

#4
+7
trondd
2010-11-03 14:52:59 UTC
view on stackexchange narkive permalink

כל כך הרבה שאלות; בוא ננסה לנסות לענות עליהן לפי הסדר:

  1. דרישת משאבים לעיבוד אותות: על מנת לקבוע באיזו חומרה אתה צריך להשתמש / לבנות אתה צריך מושג לגבי כמות העיבוד שאתה רוצה לעשות על האותות המדוברים. 8 ערוצים @ 10 קילוהרץ הוא לא קצב נתונים גבוה במיוחד, אם אלא אם כן הדרישות שלך מאוד מיוחדות, רוב ה- FPGA ו- DSP אמורים להיות מסוגלים לעבד את הנתונים.
  2. כיצד אוכל לבחור את המכשיר הנכון? בהתבסס על הדרישות של עיבוד האותות שלך אתה אמור להיות מסוגל להבין איזה מכשיר נדרש ליישום שלך. נקודות המפתח הן דרישת זיכרון, נדרשות מכפילים קשים, שיקולי IO מיוחדים וכו '. לרוב ספקי ה- FPGA יש כלים (מבוססי אינטרנט) המאפשרים לך לחפש את תיק העבודות שלהם על סמך גורמים כאלה.
  3. כיצד אוכל להתחיל עם DSP? DSP הם רק מחשבים רגילים שלרוב יש הוראות SIMD [הוראה יחידה, נתונים מרובים] הרלוונטיים לעיבוד אותות. כדי להתחיל אתה רק צריך להבין את המגבלות של חומרה "מוטבעת" ומהדר C כדי שתוכל לבדוק את הקוד שלך במחשב רגיל.
  4. כיצד אוכל להתחיל עם FPGA? FPGAs מתוכנתים בשפה לתיאור חומרה. אלה שונים באופן משמעותי משפות עוקבות כגון C או Java. על מנת להתפתח עבור FPGA עליכם להבין את האופי המקביל של חומרה אמיתית. הכלים שאתה צריך כדי להתחיל הם סימולטור HDL כגון Simili (חינם לעיצובים קטנים) או Modelsim. זה מאפשר לך לדמות את הקוד שלך במחשב האישי. לאחר מכן אתה זקוק לכלי סינתזה ספציפי של ספק אשר אוסף לך את קוד ה- HDL לקובץ סיביות המשמש להגדרת תצורת ה- FPGA. אם אתה מקבל ערכת התחלה מ- Altera, Actel או Xilinx כל הכלים שאתה צריך הם חלק מהערכה.
  5. תמיכת לינוקס: כלי FPGA מרוב הספקים פועל על לינוקס, אך בשדה DSP אתה נאלץ בדרך כלל להשתמש בקומפילציות חלונות בלבד אלא אם ה- DSP שלך נתמך על ידי GCC (Blackfin מבית Analog ומספר דגמים מטקסס אינסטרומנטס הם).
+1 עבור "8 ערוצים @ 10 קילוהרץ הוא לא קצב נתונים גבוה במיוחד" - אני לא מאמין שאף אחד עדיין לא אמר את זה.
לא אם הוא עושה FFT בן 8 ערוצים ...
DSP הם לרוב יחידות עיבוד מקביליות עם הברגה אחת, שכל אחת מהן מסוגלת לבצע הוראה שונה (בניגוד ל- SIMD כאשר כל היחידות חולקות את אותה ההוראה).
#5
+4
Shawn J. Goff
2009-12-01 18:40:18 UTC
view on stackexchange narkive permalink

עמית בשם אנתוני בורץ 'הרכיב סדרת קטעי וידאו ממוצא על FPGAs. אחת החינמיות כוללת מידע אודות בחירת FPGA.

#6
+4
ajs410
2010-11-03 20:14:33 UTC
view on stackexchange narkive permalink

כמעט כל ספק FPGA יעשה. זה כמו אינטל לעומת AMD ... יש הבדלים בין Xilinx ו- Altera, אבל הם דומים להפליא מבחינת הפונקציונליות. קנה ערכת פיתוח כלשהי בטווח המחירים שלך - אני אישית אהבתי את ה- Spartan 3 מ- Xilinx - ורץ איתה.

לגבי ספירת שערים, ערכת ה- dev תהיה בדרך כלל גדולה מאוד, בתקווה שהיא גדולה בהרבה ממה שאתה צריך. כשתתכונן לעבור ל- PCB משלך, כלי הסינתזה יעריכו עבורך כמה שערים דורש מהעיצוב שלך. אתה יכול להשתמש בזה לבחירת FPGA קטן יותר, אם כי אתה עשוי לגלות שגם מגבלות החבילה (QFP לעומת BGA) ממלאות תפקיד חשוב.

עם טכניקות תכנון נכונות מהירות השעון לא תהיה בעיה. . למעשה, אתה יכול בדרך כלל להשתמש בקריסטל במהירות נמוכה יחסית, כמו 12 מגה-הרץ, וה- FPGA יכול לסנתז שעון מהיר בהרבה (או שעונים מהירים הרבה יותר!) אם אתה באמת חושש מכפל-הוספות, אני יודע שלסדרת Virtex4 יש פרוסות DSP ייעודיות שיכולות להאיץ את החישובים האלה. אבל ה- FPGA מקבילים באופן מסיבי, כך שאינך זקוק ליותר מדי מגה-הרץ בכדי לבצע המון עבודה.

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

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

אה, וכדאי לקרוא את גליון הנתונים של FPGA, מלפנים לאחור.

#7
  0
Leon Heller
2009-12-01 21:48:48 UTC
view on stackexchange narkive permalink

בדוק את XMOS

הם עשויים לשמש להחלפת FPGA ביישומים רבים.

#8
  0
mikeselectricstuff
2010-11-04 14:04:06 UTC
view on stackexchange narkive permalink

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



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 2.0 עליו הוא מופץ.
Loading...