ברצוני להשיב לתגובה שלך. כמי שבגר לאחרונה מהטכניון בפקולטה להנדסת
חשמל, יש לי מעט ידע בנושא. רוב חומרה היום בנויה ברובה
מרכיבים אלקטרונים בשם טרנזיסטורים. ישנם בגדול שני סוגי חומרה:
חומרה דיגיטלית, וחומרה אנלוגית. בחומרה דיגיטלית מטפלים באותות
המורכבים מסיבית (bit) ספרתית אחת או יותר. בחומרה אנלוגית מטפלים
באותות רציפים, באמצעות מגברים, מסננים וכו. בשניהם נעשה שימוש
בטרנזיסטורים, אך השימוש בהם הוא שונה. אני מניח שבתור מתכנת או מישהו
שמעניין בתוכנה, חומרה ספרתית ממעניינת אותך יותר, ולכן אתמקד בה.
מהטרנזיסטורים בונים שערים לוגיים, כמו AND, OR, NOT, NAND וכו. לפעמים
פעולה לוגית מצריכה שרשור של כמה שערים בטור ו/או במקביל. מהשערים
הלוגיים ניתן לבנות פעולות יותר מורכבות. המערכת היא שלמה וניתן לבטא
בעזרתה כל ביטוי לוגי, אך לא ניתן בעזרת שערים פשוטים לשמור מצב של
המערכת (או זכרון).
לשם כך יוצרים רכיבי זכרון הידועים בשם Flip-Flops או Latches, שהם
למעשה מעגל של שני שערים לוגיים, המעבירים אותות אחד לשני וכך שומרים
עליהם. בעזרתם ניתן לשמור מצב של המערכת. מהם ניתן לבנות רגיסטרים,
או אף זכרון SRAM כדוגמת מה שנמצא בזכרון המטמון של המעבד. לזכרון
ה-DRAM משתמשים בטכנולוגיה אחרת, שהיא זולה יותר.
באמצעות פליפ-פלופים ניתן לבנות מכונת מור ( Moore Machine(, שבה המצב
בתדר השעון הבא והיציאות הינן פונקציה של המצב הקיים והכניסות.
רכיבים פשוטים עשויים להכיל מספר בודד של שערים ופליפ-פלופים. מערכת
יותר מורכבת, (כמו מעבדים) עשויה להכיל אלפי או יותר כאלה.
לאחרונה, כבר לא מתכננים את המעגל ישירות באמצעות חיווט שערים
לוגיים ורכיבי זכרון. במקום זאת משתמשים בשפות הגדרת
חומרה כמו Verilog או VHDL. מהנסיון המועט שהיה לי עם VHDL, הרי
שמהתרשמותי היא שפה שנמצאת בערך בין אסמבלר ל-C. התכנות בה, לדעתי,
הוא מתיש ולא ממש מגרה. מצד שני, לא תכננתי בה שום דבר מלהיב
כל-כך.
לפי מה שהבנתי ממישהו שעובד בזה, כל מי שלמד בטכניון שני קורסים
מסוימים ("מערכות ספרתיות" ו-"תכן לוגי ומבוא למחשבים" (או לפחות
הקורס בשם זה שניתן ע"י הפקולטה להנדסת חשמל)) יכול לעסוק בתכנון
מעגלים כאלה. במידה שאין באפשרותך ללמוד קורסים אלה, או המקבילים
להם באוניברסיטה אחרת, אני יכול להמליץ על הספר שמתשמשים בו
בקורסים:
Computation Structures.
אולם ראוי לציין, שלפי מה שהבנתי ממרצה של הקורס, הספר כבר די
מיושן, והם שקלו להחליפו בספר אחר. אני בכל מקרה מצאתי אותו מאוד
מעניין ומלהיב.
דבר אחרון: לפי מה שהבנתי, הרי שבעוד שיש תוכנות שמתרגמות את שפות
הגדרת החומרה לטרנזיסטורים, הרי שהתרגום לא תמיד אופטימלי או אף
לא עובד כלל, ויש לשנות אותו ידנית. משמעות הדבר, היא שכל שינוי
בהגדרת החומרה, דורש שינוי מתאים בסכמה המדויקת של המעגל, כפי שהוא
מובא להדפסה סופית.