อะไรคือข้อดีของการใช้ FPGAs ผ่าน TTL ในสถาปัตยกรรมคอมพิวเตอร์บทนำ?


24

ฉันสอนหลักสูตรสถาปัตยกรรมคอมพิวเตอร์เพียงวิชาเดียวที่วิทยาลัยศิลปศาสตร์ หลักสูตรนี้เป็นวิชาบังคับสำหรับวิทยาการคอมพิวเตอร์รายใหญ่และรายย่อย เราไม่มีวิศวกรรมคอมพิวเตอร์วิศวกรรมไฟฟ้าหลักสูตรฮาร์ดแวร์อื่น ๆ ฯลฯ เป้าหมายหลักของฉันในหลักสูตรนี้คือเพื่อให้นักเรียนเข้าใจจนถึงระดับประตูการทำงานของคอมพิวเตอร์ซึ่งฉันเชื่อว่าพวกเขาเรียนรู้ได้ดีที่สุดผ่านห้องปฏิบัติการฮาร์ดแวร์และ ไม่เพียงแค่ผ่านตำราเรียน (การจัดระเบียบและการออกแบบคอมพิวเตอร์โดย Hennessy และ Patterson) เป้าหมายรองของฉันคือการทำให้พวกเขาตื่นเต้นเกี่ยวกับสถาปัตยกรรมคอมพิวเตอร์และเพิ่มความตื่นเต้นเกี่ยวกับวิทยาการคอมพิวเตอร์ การเตรียมความพร้อมสำหรับอุตสาหกรรมโดยตรงไม่ใช่เป้าหมายแม้ว่าจะเป็นการกระตุ้นให้พวกเขาศึกษาสถาปัตยกรรมคอมพิวเตอร์มากขึ้นก็ตาม โดยทั่วไปนักเรียนไม่ได้มีประสบการณ์ในการสร้างอะไรเลยหรือเรียนหลักสูตรห้องปฏิบัติการระดับวิทยาลัย โดยทั่วไปแล้วนักเรียน 10-15 คนจะเรียนหลักสูตรต่อภาคการศึกษา

ฉันสอนวิชานี้มาตั้งแต่ปี 2541 ในลักษณะที่คล้ายกับวิธีที่ฉันสอนสถาปัตยกรรมคอมพิวเตอร์และอุปกรณ์อิเล็คทรอนิคส์ดิจิตอลในช่วงปลายทศวรรษ 1980 ที่ MIT: การใช้ชิป DIP TTL บนแผงวงจรขับเคลื่อน ในการมอบหมายห้องปฏิบัติการฮาร์ดแวร์ครั้งแรกนักเรียนจะสร้าง adder แบบเต็ม ประมาณครึ่งภาคการศึกษาพวกเขาเริ่มสร้างคอมพิวเตอร์อย่างง่ายพร้อมชุดคำสั่ง 8 บิต เพื่อลดการเดินสายไฟฉันได้จัดเตรียม PCB พร้อมอุปกรณ์อิเล็กทรอนิกส์บางอย่าง (flip-flop D สองตัว, LS 181 ALU 4 บิตสองตัวต่อสายเข้าด้วยกันเพื่อทำหน้าที่เป็น 8 บิต ALU และบัฟเฟอร์ tri-state) ในห้องแล็บแรกพวกเขาได้รับสัญญาณควบคุม (ง่ายมาก) สำหรับรูปแบบการสอนสองรูปแบบและสร้างวงจรป้อนคำแนะนำเกี่ยวกับสวิตช์และอ่านผลจากแสง ในวันที่สองของห้องปฏิบัติการพวกเขาเพิ่มตัวนับโปรแกรม (2 LS163s) และ EPROM (ซึ่งคำถามเดิมของฉันเกี่ยวกับก่อนที่จะเปลี่ยนเป็นวิธีที่ฉันควรสอนสถาปัตยกรรมภายใน) ในห้องทดลองสุดท้ายพวกเขาเพิ่มคำสั่งสาขาตามเงื่อนไข ในขณะที่นักเรียนใช้เวลาในการเดินสายและตรวจแก้จุดบกพร่องในระดับที่เหมาะสมฉันรู้สึกว่าเป็นที่ที่การเรียนรู้ส่วนใหญ่เกิดขึ้นและนักเรียนก็มีความสำเร็จอย่างแท้จริง

ผู้คนในฟอรัมนี้กำลังบอกฉันว่าฉันควรเปลี่ยนมาใช้ FPGAs ซึ่งฉันไม่ได้ทำงานด้วยมาก่อน ฉันเป็นวิศวกรซอฟต์แวร์ไม่ใช่วิศวกรคอมพิวเตอร์และตอนนี้อยู่นอกโรงเรียนมาระยะหนึ่งแล้ว แต่ฉันสามารถเรียนรู้ได้ ฉันไม่สามารถรับเงินจำนวนมาก ( อาจจะสักสองสามพันดอลลาร์) เพื่อแทนที่วิทยากรดิจิทัลที่มีอยู่ของเรา เรามีเครื่องวิเคราะห์ลอจิกเดียว

ด้วยเป้าหมายและข้อ จำกัด ของฉันคุณจะแนะนำให้ฉันใช้แนวทางปัจจุบันของการเปลี่ยนไปใช้ FPGA หรือไม่ หากหลังคุณสามารถให้คำแนะนำกับฉันกับวัสดุที่ให้การศึกษาแก่ฉันได้หรือไม่?

ตามที่ร้องขอและนี่คือการเชื่อมโยงไปหลักสูตรและห้องปฏิบัติการได้รับมอบหมาย

เพิ่มเติม: ใช่มันเป็นหลักสูตรตรรกะดิจิตอลเช่นกัน เมื่อฉันไปถึงวิทยาลัยของฉันนักเรียนจะต้องใช้เวลาหนึ่งภาคการศึกษาของสถาปัตยกรรมคอมพิวเตอร์และตรรกะดิจิตอลและฉันรวมพวกเขาลงในภาคการศึกษาเดียว แน่นอนว่าเป็นคำแถลงเกี่ยวกับอดีตไม่ใช่อนาคต


คุณสามารถโพสต์หรือลิงค์ไปยังหลักสูตร / หลักสูตรของคุณได้หรือไม่?
Kevin Vermeer

ฉันขอแนะนำให้คุณพิจารณาแนวทางอื่นได้หรือไม่? วิธีการเกี่ยวกับการใช้ไมโครคอนโทรลเลอร์เช่น Arduinos ในแล็บของคุณ?
JonnyBoats

7
@JonnyBoats: ... มันจะพอดีได้อย่างไร? เธอกำลังพูดถึงการสร้างคอมพิวเตอร์จากประตูฮาร์ดแวร์
darron

เพื่อตอบคำถามของคุณ - ไม่มีใครสร้างประตูฮาร์ดแวร์พวกเขาซื้อชิปที่ใช้ประตูแล้ว ด้วย FPGAs หนึ่งไม่ได้สร้างประตูในฮาร์ดแวร์พวกเขาตั้งพวกเขาในซอฟต์แวร์
JonnyBoats

1
@ JonnyBoats: FPGA กำลังสร้างการออกแบบดิจิทัลจากประตูฮาร์ดแวร์ (LUT เป็นประตูที่ตั้งโปรแกรมได้) ประตูมีอยู่เป็นฮาร์ดแวร์และการออกแบบของคุณทำงานในลักษณะทางกายภาพทั้งหมด ด้วย TTL คุณไม่ได้ "สร้างประตู" ตามมาตรฐานนั้น ... เพราะเป็นประตูที่สร้างไว้ล่วงหน้า ความแตกต่างเพียงอย่างเดียวคือฟังก์ชั่นเกตสามารถตั้งโปรแกรมได้การกำหนดเส้นทางสามารถตั้งโปรแกรมได้ (แต่ยังคงเป็นแบบฟิสิคัล) และมีลำดับความสำคัญมากมาย ฉันยังไม่เห็นว่า Arduino เหมาะกับหลักสูตรการออกแบบลอจิกดิจิตอลอย่างไร (ถ้าคุณไม่ต้องการให้เธอเปลี่ยนวัตถุประสงค์ของหลักสูตรเอง)
darron

คำตอบ:


16

เมื่อพิจารณาถึงเป้าหมายของชั้นเรียนฉันคิดว่าวิธีการของ TTL นั้นใช้ได้และฉันพูดแบบนี้ว่า "FPGA Guy" FPGA เป็นทะเลแห่งตรรกะและคุณสามารถทำเรื่องสนุก ๆ กับพวกเขาได้ แต่มีเพียงสิ่งเดียวที่มนุษย์สามารถทำได้ในภาคเรียน

ดูที่หลักสูตรของคุณชั้นเรียนของคุณเป็นการผสมผสานระหว่างการออกแบบเชิงตรรกะและหลักสูตร "โครงสร้างเครื่อง" ที่ฉันเรียนในระดับปริญญาตรี (นอกจากนี้สำหรับวิชาเอก CS ฉันทุกคนในวิชาเอกของ CS ต้องเผชิญกับฮาร์ดแวร์จริง ๆ - ปล่อยให้พวกเขาหนีไปกับการเขียนโค้ดดูเหมือนจะย้อนกลับไป) ในระดับเกริ่นนำนี้ พังทลายลงฉันไม่เห็นประโยชน์ที่แท้จริงที่จะให้นักเรียนทำสิ่งต่าง ๆ ในรูปของรหัสเทียบกับมือ การทำ HDL หมายถึงการเรียนรู้ HDL เรียนรู้วิธีการเขียนHDL ที่สังเคราะห์ได้และการเรียนรู้ IDE นี่คือแนวคิดที่ซับซ้อนมากขึ้นและเป็นนามธรรมอีกครั้ง รวมทั้งคุณต้องจัดการกับปัญหาซอฟต์แวร์

โดยทั่วไปแล้วจุดของหลักสูตรที่ใช้ FPGAs คือการฝึกฝนการสร้างตรรกะที่มีประโยชน์ - มีประโยชน์สำหรับการพูดคุยกับอุปกรณ์ต่อพ่วง, comms อนุกรม, RAM, เครื่องกำเนิดวิดีโอเป็นต้นนี่เป็นความรู้ที่มีค่าที่มี แต่ดูเหมือนว่ามาก ขอบเขตของหลักสูตร คลาสที่สูงขึ้นในสถาปัตยกรรมคอมพิวเตอร์ให้นักเรียนใช้ซีพียูที่ซับซ้อนใน FPGAs แต่ดูเหมือนว่าจะไม่อยู่ในขอบเขตของหลักสูตรของคุณ

อย่างน้อยที่สุดฉันก็จะอุทิศการบรรยายให้กับ FPGA เรียกใช้การสาธิตสองสามครั้งพร้อมกับกระดาน dev และแสดงเวิร์กโฟลว์ ตั้งแต่คุณอยู่ที่โรงงานบางทีคุณสามารถติดต่อกับคนที่เบิร์กลีย์ที่ใช้ CS 150 / 152และไปดูว่าพวกเขาทำในสิ่งที่


ฉันสามารถพูดได้ว่าในช่วงต้นทศวรรษ 90 CS150 ได้รับการสอนโดยทั่วไปแล้ววิธีที่ OP อธิบายหลักสูตรของเธอที่ MIT - ประตู 74xx ส่วนใหญ่เป็นการสร้างซีพียู 8 บิต (หรือ 4 บิต) อย่างง่าย เรามีโครงการสั้น ๆ โดยใช้ FPGA ที่ออกแบบมาในเครื่องมือจับภาพวงจร (ไม่มี HDL) ดูเหมือนว่าหลักสูตรในปัจจุบันส่วนใหญ่จะใช้ HDL
โฟตอน

ข้อดีคือคลาสนี้เป็นการผสมผสานระหว่างการออกแบบเชิงตรรกะและโครงสร้างของเครื่อง เมื่อฉันเพิ่มลงในคำอธิบายคำถามจะต้องมีสองหลักสูตรแยกต่างหากซึ่งฉันรวมเป็นหนึ่ง ขอบคุณมากสำหรับความช่วยเหลือของคุณ ฉันจะค้นคว้า FPGA และอย่างน้อยก็เพิ่มการบรรยายให้พวกเขา ที่ UCB เดฟแพตเตอร์สันได้สร้างแนวทางใหม่สำหรับสถาปัตยกรรมอินโทรในระดับที่สูง ฉันจับตามองอยู่ แต่ไม่ได้วางแผนที่จะเปลี่ยนแปลงครั้งใหญ่
Ellen Spertus

ฉันได้พิจารณาถึงความซับซ้อนของสภาพแวดล้อม FPGA และบางทีฉันก็ไม่เห็นด้วยจริง ๆ ว่ามันอาจจะมากเกินไปสำหรับหลักสูตรเบื้องต้น ดูเหมือนว่าเป็นความอัปยศอย่างแท้จริงที่จะไม่สอนด้วยกระบวนการทำงานที่ทันสมัย ฉันเล่นกับ TTL ด้วยตัวเองและมันก็ไม่ได้จนกว่าฉันจะเข้าสู่ FPGA ที่ฉันเริ่มเข้าใจจริงๆว่าคอมพิวเตอร์ (ค่อนข้างง่าย) ทำงานอย่างไร หลักสูตรดูดีกว่าที่ฉันต้องทำงานด้วยดังนั้นบางทีเธออาจได้แนวคิดที่ดีกว่านี้ อย่างไรก็ตามจากมุมมองของชิปลอจิกแบบ TTL ตัวประมวลผล "ของจริง" จะมองไกลมาก หลังจาก FPGA มันเป็นไปได้ที่จะสร้างมันขึ้นมา
darron

โดย "วิธีการทำงานของคอมพิวเตอร์" ฉันหมายถึงวิธีการสร้างพวกเขาจริง ๆ ไม่ใช่แนวคิด "นาฬิกาและฟลอป" ที่ไม่ชัดเจน ... ซึ่งแน่นอนว่า TTL เพียงพอสำหรับ (และอีกครั้งบทเรียนของเธอดูเหมือนว่าจะสอนได้ดี ... ปัญหาของฉันคือการสอนแนวคิดเกี่ยวกับฮาร์ดแวร์ที่แทบไม่มีแอพพลิเคชั่นจริงแทนที่จะสอนเกี่ยวกับฮาร์ดแวร์ที่ใช้จริง)
darron

@darron, TTL นั้นล้าสมัยไปแล้ว, แต่มันเป็นแนวคิดที่สะอาด - ไม่มีภาษาหรือ IDE ที่จะทำให้สิ่งต่าง ๆ ซับซ้อน, เพียงแค่ไดอะแกรมและการเดินสายแบบจุดต่อจุด มันจะยุ่งเมื่อขนาดคำของคุณเพิ่มขึ้น แต่สิ่งที่ 8 บิตไม่ได้เลวร้ายเกินไป ถ้าชั้นเรียนเดินต่อไปหรือถ้ามีชั้นเรียนติดตามผล FPGA จะเข้าท่า แต่ฉันคิดว่ามันจะเป็นความยุ่งยากที่ไม่จำเป็นโดยให้เนื้อหาถูกครอบคลุม
mng

6

ฉันเห็นด้วยมากกับโฟตอน มีข้อดีหลายประการในการใช้ FPGA นี่คือจุดที่น่าสนใจที่ควรพิจารณา:

1) แพลตฟอร์มที่ง่ายสำหรับการทดลองออกแบบประตูอย่างรวดเร็วโดยไม่ต้องใช้เวลาหลายชั่วโมงหรือหลายวันที่ต้องทำงาน FPGA ช่วยให้การออกแบบดิจิทัลที่ซับซ้อนอาจเกิดขึ้นได้ง่ายมาก (ทฤษฎีมากขึ้นยุ่งน้อยลง)

2) ส่วนสำคัญของงานของนักเรียนสามารถทำได้ในการจำลองนอกห้องปฏิบัติการ

3) สภาพแวดล้อมซอฟต์แวร์ฟรี (โดยทั่วไปรวมถึงโปรแกรมจำลอง)

4) มีหลายแพลตฟอร์ม FPGA ที่ค่อนข้างถูก การกำหนดราคาทางวิชาการควรช่วย อย่างTerasic DE0-Nanoราคา $ 59 สำหรับชุดที่สมบูรณ์ (และมันก็ดูดีด้วย) $ 50-60 ดูเหมือนจะเป็นช่วงต่อบอร์ดที่คุณจะดู

5) มีสิ่งดีๆมากมายที่เกี่ยวข้องกับ FPGA มีเว็บไซต์อย่างOpenCoresที่มีโมดูลที่สร้างไว้ล่วงหน้าหลายร้อยโมดูลสำหรับใช้กับ FPGA มีFPGA4Funซึ่งมีบทเรียนและโครงการมากมาย เพื่อความบันเทิงอย่างแท้จริงFPGA Arcadeมีความมุ่งมั่นในการสร้างเกมด้วย FPGA ขึ้นอยู่กับสิ่งที่คุณตั้งไว้รอบ ๆ บอร์ด FPGA สิ่งนี้สามารถทำให้เป็นคลาสที่สนุกมาก

6) บางบอร์ดมีคลาสการออกแบบดิจิทัลที่พร้อมสำหรับพวกเขา: แนะนำการออกแบบดิจิตอล (คำเตือน: การดาวน์โหลดขนาดใหญ่)โดยใช้บอร์ด Xilinx Spartan 3E ที่เก่ากว่าเล็กน้อย (แม้ว่าที่หนึ่งขึ้นอยู่กับ ActiveHDL ผมเองจะชอบ VHDL มาตรฐานมากขึ้นหรือ Verilog) เดอะ FPGA ผู้ผลิตรายใหญ่นอกจากนี้ยังมีโปรแกรมมหาวิทยาลัย: Xilinx มหาวิทยาลัยโปรแกรม , Altera โครงการมหาวิทยาลัย , Lattice โครงการมหาวิทยาลัย

7) ขั้นตอนการทำงานนั้นใกล้เคียงกับการออกแบบมืออาชีพมากขึ้นในทุกวันนี้ ความรู้การทำงานในการพัฒนา FPGA เป็นทักษะที่สามารถทำการตลาดได้ทันที


ขอบคุณมาก ๆ. ฉันจะลองพวกนี้อย่างแน่นอน FWIW ถ้าฉันมีห้องปฏิบัติการฮาร์ดแวร์ที่สองภาคเรียนฉันจะทำ FPGA หรือ Arduino กับพวกเขาแน่นอน
Ellen Spertus

5

ฉันคิดว่าทุกวันนี้ถ้าคุณกำลังจัดการกับสิ่งต่าง ๆ ในระดับประตูคุณไม่ได้ทำงานในเรื่อง "สถาปัตยกรรมคอมพิวเตอร์" คุณแค่กำลังทำอุปกรณ์อิเล็กทรอนิกส์ดิจิทัลพื้นฐาน แต่คุณไม่สามารถสอนทุกสิ่งที่ต้องรู้ตั้งแต่ระดับอิเล็กทรอนิกส์จนถึงระดับอัลกอริธึมแคชสถาปัตยกรรมการคำนวณแบบขนาน SIMD เครือข่าย ฯลฯ ในภาคการศึกษาเดียว

ดังนั้นมันจึงเป็นสิ่งที่คุณต้องการสอน หากคุณต้องการที่จะมุ่งเน้นไปที่อุปกรณ์อิเล็กทรอนิกส์ดิจิทัลระดับประตูการทำงานกับชิประดับประตูจะช่วยให้นักเรียนได้มีส่วนร่วมในการทำงานและให้พวกเขาเข้าใจเนื้อหานั้นมากขึ้น แต่ถ้าคุณต้องการสอนสถาปัตยกรรมคอมพิวเตอร์พวกเขาอาจต้องทำงานในระดับที่สูงกว่านามธรรมและประตู

อย่างน้อยที่สุดคุณอาจเป็นหนี้ให้ตัวเองในการเรียนรู้ HDL และดำเนินการออกแบบตาม FPGA หรือสองเพื่อให้คุณ (ในฐานะผู้เชี่ยวชาญด้านการศึกษาที่นี่) สามารถประเมินว่าทักษะเหล่านั้นจะเข้ากับเป้าหมายของคุณสำหรับนักเรียนของคุณอย่างไร ฉันคาดหวังว่าคำตอบอื่น ๆ จะให้พอยน์เตอร์จำนวนมากแก่วัสดุที่ต่ำและไม่มีค่าใช้จ่ายซึ่งจะช่วยให้คุณเร่งความเร็วในการออกแบบ FPGA ในเวลาอันสั้น (คำแนะนำ: Xilinx และ Altera ทั้งคู่เสนอเครื่องมือออกแบบซอฟต์แวร์และเครื่องจำลองฟรีพร้อมด้วยบันทึกการใช้งานและสื่อการสอนอื่น ๆ มากมาย)


ฉันไม่เห็นด้วยว่าชั้นเรียนที่ไม่สอนสถาปัตยกรรมคอมพิวเตอร์ นักเรียนเรียนรู้วิธีการใช้ ISA ซึ่งเป็นส่วนหนึ่งของสถาปัตยกรรมคอมพิวเตอร์อย่างแน่นอนและฉันยังสอนเกี่ยวกับการวางท่อและแคช ฉันยอมรับว่ามีสถาปัตยกรรมมากกว่าสิ่งที่ฉันสอนในหลักสูตรเดียว ฉันเรียนหลักสูตรสถาปัตยกรรมอื่น ๆ อีกหลายหลักสูตรในฐานะนักเรียนได้ทำวิจัยทางวิชาการและอุตสาหกรรมในสาขาสถาปัตยกรรม ฯลฯ ฉันซาบซึ้งที่ให้กำลังใจในการดู HDL และ FPGAs
Ellen Spertus

5

ประโยชน์อย่างหนึ่งของการใช้ TTL แม้ว่าจะเป็นในวงจรระดับประถมศึกษารายละเอียดของ HDL จะเป็นการปกปิดวงจรจริงและนักเรียนส่วนใหญ่จะใช้เวลาส่วนใหญ่ในการเขียนและเรียนรู้ HDL ฉันคิดว่า TTL เป็นส่วนแรกจากนั้น FPGA สำหรับส่วนสถาปัตยกรรมจะดีกว่าเนื่องจากเป็นการยากที่จะสร้างระบบที่ตั้งโปรแกรมได้ด้วย TTL


+1 HDL ซ่อนวงจร มีวิธีที่แตกต่างกันสองสามวิธีในการเขียนมัลติเพล็กเซอร์ใน HDLs และส่วนใหญ่มีน้อยมากหรือไม่มีอะไรเกี่ยวข้องกับวิธีการจัดเรียงประตูเพื่อสร้าง mux
ajs410

นี่คือประเด็นสำคัญ - เป็นวิธีที่ง่ายเกินไปในการเขียนรหัสสำหรับ FPGA โดยไม่เข้าใจในระดับพื้นฐานว่ามันทำงานอย่างไร ตอนนี้มีวิธีที่จะหลีกเลี่ยงสิ่งนี้เช่น IDE ของ Altera รวมถึงโหมดการเข้าวงจรที่สามารถช่วยให้คุณมีสมาธิกับการออกแบบระดับประตูได้ แต่ด้วยการติดกับสิ่งนี้ จริง ๆ แล้วมีจุดใดในการสลับ
จูลส์

1

ครบเห็นคุณค่าความสำคัญของบางประสบการณ์กับวงจรทางกายภาพการชุมนุมผมคิดว่ามันยังเป็นสิ่งสำคัญที่จะรับรู้ว่าคุณไม่สามารถครอบคลุมการปฏิบัติคอมพิวเตอร์สมัยใหม่โดยไม่ต้องระดับของบางสิ่งบางอย่างบางอย่างที่ "รู้สึกเหมือน" จำลองหรือนามธรรมซ่อนเกินไปมากดังนั้น สิ่งที่ดีที่สุดที่คุณสามารถทำได้คือพยายามทำงานในแต่ละระดับก่อนที่จะเพิ่มสิ่งที่เป็นนามธรรมให้มากพอที่จะทำให้ความซับซ้อนในระดับต่อไปเป็นไปได้ ตัวอย่างของหลักสูตร MIT ที่คุณอ้างถึง ณ จุดหนึ่งเริ่มทำการจำลองซอฟต์แวร์ของเครื่อง RISC แบบ 32 บิตที่ทำงานอยู่บนยอดของชิป & โมดูลเครื่องไมโครบิตโปรแกรมขนาด 8 บิตที่ถูกสร้างขึ้นทางร่างกาย ณ จุดนี้ฉันจะเถียงว่ามันมีประสิทธิภาพมากกว่าที่จะเพียงแค่ติดตั้งเครื่องจักรใน FPGA

ด้วยเหตุนี้สิ่งล่อใจของฉันก็คือพยายามที่จะรวมทั้งชิป & สายไฟไว้ก่อนและเฟส FPGA ในหลักสูตร เมื่อคุณมีชุดเครื่องมือทำขนมปังแล้วคุณสามารถเก็บห้องทดลองไว้ล่วงหน้าและใช้บอร์ด FPGA หรือโมดูล FPGA สำหรับใช้ในห้องทดลองในภายหลัง การสร้างเครื่องไฮบริดที่ FPGA ขึ้นอยู่กับวงจรการใช้งานนอกสถานที่บางส่วนของโปรเซสเซอร์อาจเป็นไปได้ แต่จะรู้สึกประดิษฐ์มาก - เพียงแค่เปลี่ยนเทคโนโลยีโดยสิ้นเชิงเมื่อถึงจุดที่ความซับซ้อนเกินกว่าหนึ่งชิ้นอาจจะเหมือนจริงที่สุด

คุณควรจะสามารถจัดหาบอร์ด FPGA แบบสแตนด์อโลนที่มีอยู่เดิมได้ในราคาต่ำกว่า $ 100 / ea ในราคาการศึกษา

อีกทางเลือกหนึ่งคือการสร้างของคุณเองเป็นส่วนหนึ่งของคลาสบางทีอาจสร้างอินเตอร์เฟซการโหลดแบบอนุกรม FPGA เป็นส่วนแรกของโครงการ ข้อได้เปรียบที่ดีของเรื่องนี้คือค่าใช้จ่ายจะต่ำพอที่นักเรียนสามารถเก็บบอร์ดของพวกเขาแทนที่จะต้องทำให้พวกเขาในตอนท้ายของภาคเรียนซึ่งหวังว่าจะส่งผลให้เกิดความสนใจและการรับรู้อย่างต่อเนื่อง


ขอบคุณมาก ๆ. ฉันตระหนักถึงการเปลี่ยนแปลงที่ MIT ในความเป็นจริงฉันเริ่มต้นจากสถาบันปัจจุบันของฉันด้วยชุดทดลอง 6.004 / 6.111 แบบเก่าที่ MIT ไม่ต้องการอีกต่อไป อย่างไรก็ตามนักเรียนของฉันไม่ใช่นักเรียน MIT และไม่สามารถดูดซับได้มากในภาคเรียนดังนั้นฉันต้องเลือก (อันที่จริงแล้วฉันพบที่ MIT ซึ่งนักเรียนส่วนใหญ่ไม่สามารถซึมซับได้มากเท่ากับที่พวกเขาโยน แต่นั่นเป็นการอภิปรายอีกครั้ง) บอร์ด FPGA ที่มีราคาต่ำกว่านั้นน่าดึงดูดมาก
Ellen Spertus

1

ฉันคิดว่าแนวทางที่ถูกต้องคือเริ่มต้นด้วยการสร้างรีเลย์สองสามตัวออกมาซึ่งง่ายต่อการมองเห็นและเข้าใจ แต่เห็นได้ชัดว่าช้าเกินไปและมีพลังหิวสำหรับแอพพลิเคชั่นที่ทันสมัย จากนั้นแสดงให้เห็นว่าทรานซิสเตอร์อาจถูกนำมาใช้ในการทำสิ่งเดียวกันได้มากขึ้นกะทัดรัดเร็วขึ้นและมีประสิทธิภาพมากขึ้นและประตูเกตที่บรรจุ [เช่น "quad nand"] สามารถทำได้ดียิ่งขึ้น เมื่อคุณถึงจุดนั้นฉันขอแนะนำให้คุณแสดงวิธีการสร้างสิ่งต่าง ๆ เช่นมัลติเพล็กเซอร์และแลตช์จากประตูและจากนั้นจะสามารถสร้างโครงสร้างที่มีขนาดใหญ่ขึ้นได้อย่างไรจากมัลติเพล็กซ์ที่บรรจุแลตช์และอื่น ๆ การสร้างคอมพิวเตอร์ทุกวันนี้โดยการบัดกรีร่างกายด้วยกันนับพันนับไม่ถ้วนทรานซิสเตอร์แยก แต่การดำเนินงานภายในของคอมพิวเตอร์เป็นอย่างมากเช่นเดียวกับที่ของทรานซิสเตอร์ยกเว้นว่าทุกอย่างมีขนาดเล็กมาก

ประโยชน์ที่สำคัญอย่างหนึ่งที่ฉันคิดว่านักเรียนจะได้รับจากการเรียนการสอนประเภทนี้คือความเข้าใจว่าทำไมหลาย ๆ อย่างทำงานเหมือนที่พวกเขาทำ ตัวอย่างเช่นหากมี "การจำลอง" ชุดคำสั่งที่ไม่จำเป็นต้องมีการทำให้เกิดผลจริงทางกายภาพก็ไม่จำเป็นต้องมีคำสั่ง "หน่วยความจำโหลด" ใช้เวลาสามรอบในขณะที่คำสั่งส่วนใหญ่ใช้เวลาหนึ่ง สามารถเข้าใจบางสิ่งได้โดยไม่ต้องลงไปถึงระดับทรานซิสเตอร์ แต่มีไม่กี่อย่างที่ไม่สามารถทำได้ (เช่นความสำคัญของอินพุตซิงโครนัสกับอะซิงโครนัสอินพุต)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.