אני ממליץ בחום ללכת עם לוח CPLD תחילה (משהו כמו זה), או איגלו ננו מבוסס אקטל, או משהו כזה. FPGA גדולים יכולים להיות מכריע, ויש להם כה הרבה סיכות שזה די זמן לקחת דברים מחוברים כראוי. בנוסף, ברגע שתרצה לשלב אחד בעיצוב שלך, תבין שהם מגיעים באריזות גדולות מאוד, עם עשרות סיכות חשמל. לרובם נדרשים כמה מתחים להפעלה, שלא לדבר על כך שרוב ה- FPGA הם מבוססי SRAM, ולא מבוססי פלאש, כך שברגע שאתה מנתק את החשמל, הם מאבדים את העיצוב שלהם. אז אתה צריך לפחות לחבר שבב זיכרון פלאש סידורי פעיל, אך אנשים רבים משתמשים ב- CPLDs ברכב צדדי או במיקרו-בקרים כדי להעמיס עיצובים על ה- FPGA. לעומת זאת, CPLDs נהדרים! בדרך כלל הם פועלים באספקה אחת, ואם אתה רוצה תאימות של 5 וולט, אתה עדיין יכול לקנות שבבי Altera MAX 7000 ישנים יותר. בנוסף יש להם זיכרון פלאש על הלוח, כך שהם לא צריכים רכיבים אחרים כדי לאתחל אותם. ו- CPLDs פועלים פחות או יותר זהים ל- FPGA, אז אתה מתכנת אותם על ידי כתיבת VHDL / Verilog, או באמצעות עורך סכמטי. אותו ג'אז בנוגע לשעון (זכור להשתמש ב- OSCILLATORS קריסטל ולא בקריסטלים!), ובאותה צורה של תכנות באמצעות JTAG. ל- CPLD יש הרבה פחות אלמנטים לוגיים מאשר FPGA, כך שלא תוכלו להשליך מעבדים רכים עליהם או לעשות משהו מטורף מדי. אבל אם אתה רק יוצא לדרך, הם בהחלט הדרך - והם עולים כמה דולר כל אחד ומגיעים באריזות מספיק גדולות שניתן להלחין ביד, מה שהופך אותן למעשיות לשילוב בפרויקטים קטנים שאתה יכול להיות שעל השולחן שלך.
אפשרות נוספת היא FPGAs המבוססים על פלאש נמוכים מתוצרת Actel. לאחרונה שיחקתי עם ערכת המתנע של איגלו ננו, שזה בערך 100 דולר. מכשירים אלה פשוט גדולים מספיק כדי להתאים ליבת 8051 עליו יחד עם היגיון דיגיטלי מותאם אישית כלשהו, ולכן הם אופציה נהדרת כאשר אתה מערבב מצבי זרימת תוכנה עם לוגיקה מותאמת אישית.