Add Favorite ตั้งหน้าแรก
ตำแหน่ง:หน้าแรก >> ข่าว >> อิเล็กตรอน

หมวดหมู่สินค้า

ผลิตภัณฑ์แท็ก

ไซต์ Fmuser

ข้อมูลเบื้องต้นเกี่ยวกับ FPGA | โครงสร้าง ส่วนประกอบ การใช้งาน

Date:2021/10/18 21:55:31 Hits:
ในบทความนี้ เราจะเห็นหัวข้อพิเศษที่เรียกว่า Field Programmable Gate Arrays หรือเพียงแค่ FPGA เราจะสำรวจแนวคิดของ Programmable Logic Devices และอุปกรณ์ Field Programmable Devices (FPD) ประเภทต่างๆ เช่น PLA, PAL, CPLD, FPGA นอกจากนี้ เราจะเห็นสถาปัตยกรรมของอุปกรณ์ FPGA ทั่วไปพร้อมกับข้อดีของมันด้วยบทนำของโครงร่าง A Brief Note on PLD (Programmable Logic Device) ประเภทต่างๆ ของ PLDProgrammable Logic Array (PLA)Programmable Array Logic (PAL)Generic Array Logic (GAL)Complex Programmable Logic Devices (CPLD)Field Programmable Gate Array (FPGA) FPGA คืออะไร ส่วนประกอบของ FPGALogic BlockRouting เทคโนโลยีการเขียนโปรแกรม FPGASRAMEEPROM / FlashAnti-FuseApplications บทนำField Programmable Gate Arrays (FPGA) คือ IC ดิจิทัล (Integrated Circuits) ที่ช่วยให้วิศวกรออกแบบฮาร์ดแวร์สามารถตั้งโปรแกรมได้ Digital Logic ที่ปรับแต่งตามความต้องการของเขา/เธอ คำว่า “Field Programmable” หมายความว่า Digital Logic ของ IC ไม่ได้รับการแก้ไขในระหว่างการผลิต (หรือการผลิต) แต่ถูกตั้งโปรแกรมโดยผู้ใช้ปลายทาง (ผู้ออกแบบ) เพื่อให้โปรแกรมสามารถตั้งโปรแกรมได้ FPGA ประกอบด้วย Configurable (หรือตั้งโปรแกรมได้) Logic Blocks และการเชื่อมต่อระหว่างบล็อกที่กำหนดค่าได้ ลอจิกที่กำหนดค่าได้และการเชื่อมต่อระหว่างกัน (การกำหนดเส้นทาง) ของ FPGA ทำให้ใช้งานได้ทั่วไปและยืดหยุ่น แต่ในขณะเดียวกัน ยังทำให้ทำงานช้าและใช้พลังงานมากเมื่อเทียบกับ ASIC ลำกล้องที่คล้ายกันกับ Standard Cells เป็นเวลากว่าสามทศวรรษแล้ว การแนะนำ FPGA เข้าสู่ตลาดและในช่วงระยะเวลาอันยาวนานนี้ พวกเขาได้รับความก้าวหน้าทางเทคโนโลยีที่รุนแรงและได้รับความนิยมเพิ่มขึ้นอย่างต่อเนื่อง หมายเหตุสั้น ๆ เกี่ยวกับ PLD (Programmable Logic Device) ก่อนที่จะเจาะลึกในหัวข้อหลัก ฉันต้องการพูดคุยสั้น ๆ เกี่ยวกับ แนวคิดของอุปกรณ์ลอจิกที่ตั้งโปรแกรมได้ ดังนั้น PLD คืออะไร เป็น IC ที่มีลอจิกเกทและฟลิปฟลอปจำนวนมากที่ผู้ใช้สามารถกำหนดค่าเพื่อใช้ฟังก์ชันที่หลากหลายได้ อุปกรณ์ลอจิกที่ตั้งโปรแกรมได้ที่ง่ายที่สุดประกอบด้วยอาร์เรย์ของเกท AND & OR และตรรกะของสิ่งเหล่านี้ ประตูและการเชื่อมต่อสามารถกำหนดค่าได้โดยกระบวนการการเขียนโปรแกรม PLD มีประโยชน์อย่างยิ่งเมื่อวิศวกรต้องการใช้ตรรกะที่กำหนดเองและถูก จำกัด โดยวงจรรวมที่กำหนดค่าไว้ล่วงหน้า PLDs ให้วิธีการปรับใช้วงจรดิจิทัลแบบกำหนดเองผ่านพลังของการกำหนดค่าฮาร์ดแวร์แทนที่จะใช้งานโดยใช้ซอฟต์แวร์ ประเภทที่แตกต่างกันของ PLD โดยพื้นฐานแล้ว PLD สามารถแบ่งได้เป็นสามประเภท ได้แก่ Simple Programmable Logic Devices (SPLD)Complex Programmable Logic Devices (CPLD)Field Programmable Gate Array (FPGA)Simple Programmable Logic Devices แบ่งออกเป็น: Programmable Logic Array (PLA)Programmable Array Logic (PAL)Generic Array Logic ( GAL) ตอนนี้ให้เราดูรายละเอียดพื้นฐานบางอย่างเกี่ยวกับ PLDs เหล่านี้ทั้งหมด Programmable Logic Array (PLA) PLA ประกอบด้วยเครื่องบินเกต AND ที่มีการเชื่อมต่อระหว่างกันที่ตั้งโปรแกรมได้และเครื่องบินเกต OR ที่มีการเชื่อมต่อถึงกันที่ตั้งโปรแกรมได้ ต่อไปนี้คืออินพุตสี่อย่างง่าย – เอาต์พุต PLA สี่ช่องพร้อมเกต AND & OR อินพุตใดๆ สามารถเชื่อมต่อกับเกตใดก็ได้ AND โดยเชื่อมต่อเส้นเชื่อมต่อระหว่างแนวนอนและแนวตั้ง เอาต์พุตจากเกท AND ที่แตกต่างกันสามารถนำไปใช้กับเกท OR ใดก็ได้ที่มีการเชื่อมต่อระหว่างกันที่ตั้งโปรแกรมได้ Programmable Array Logic (PAL) A PAL นั้นคล้ายกับ PLA แต่ความแตกต่างคือใน PAL มีเพียงเครื่องบินเกต AND เท่านั้นที่สามารถตั้งโปรแกรมได้ในขณะที่ OR เครื่องบินเกตได้รับการแก้ไขในระหว่างการประดิษฐ์ แม้ว่า PAL จะมีความยืดหยุ่นน้อยกว่า PLA แต่ก็ขจัดการหน่วงเวลาที่เกี่ยวข้องกับ OR Gates ที่ตั้งโปรแกรมได้ GAL จะคล้ายกับ PAL แต่ความแตกต่างอยู่ในโครงสร้างที่ตั้งโปรแกรมได้ PAL ใช้ PROM ซึ่งตั้งโปรแกรมได้เพียงครั้งเดียว ในขณะที่ GAL ใช้ EEPROM ซึ่งสามารถตั้งโปรแกรมใหม่ได้  Complex Programmable Logic Devices (CPLD) จากอุปกรณ์ SPLD เราได้รับ CPLD ได้รับการพัฒนาบนอุปกรณ์ SPLD เพื่อสร้างการออกแบบที่ซับซ้อนและมีขนาดใหญ่ขึ้น CPLD ประกอบด้วยบล็อกลอจิกตัวเลข (หรือบล็อกการทำงาน) ซึ่งประกอบด้วย Pal หรือ PAL พร้อมกับ Macrocell Macrocell ประกอบด้วยวงจรเพิ่มเติมและการควบคุมขั้วสัญญาณเพื่อให้สัญญาณที่แท้จริงหรือส่วนเติมเต็ม  Field Programmable Gate Arrays (FPGA) ในแง่ความซับซ้อน CPLD นั้นซับซ้อนกว่า SPLD มาก แต่ FPGA นั้นซับซ้อนกว่า CPLD สถาปัตยกรรมของ FPGA นั้นแตกต่างอย่างสิ้นเชิงเนื่องจากประกอบด้วย Logic Cells ที่ตั้งโปรแกรมได้ การเชื่อมต่อระหว่างกันที่ตั้งโปรแกรมได้ และบล็อก IO ที่ตั้งโปรแกรมได้ FPGA คืออะไรField Programmable Gate Array หรือ FPGA โดยย่อคืออุปกรณ์ซิลิคอนสำเร็จรูปที่ประกอบด้วยเมทริกซ์ของตรรกะที่กำหนดค่าใหม่ได้ วงจรและการเชื่อมต่อระหว่างกันที่ตั้งโปรแกรมได้ซึ่งจัดเรียงเป็นอาร์เรย์สองมิติ Logic Cells ที่ตั้งโปรแกรมได้สามารถกำหนดค่าให้ทำหน้าที่ดิจิตอลใดๆ และการเชื่อมต่อระหว่างกันที่ตั้งโปรแกรมได้ (หรือสวิตช์) ให้การเชื่อมต่อระหว่างเซลล์ลอจิกต่างๆ เมื่อใช้ FPGA คุณจะใช้การออกแบบที่กำหนดเองได้โดยการระบุลอจิกหรือฟังก์ชันของแต่ละบล็อกลอจิกและการตั้งค่า การเชื่อมต่อของสวิตช์ที่ตั้งโปรแกรมได้แต่ละตัว เนื่องจากกระบวนการออกแบบวงจรแบบกำหนดเองนี้ทำในภาคสนามมากกว่าในโรงงาน Fab อุปกรณ์นี้จึงเรียกว่า "Field Programmable" รูปภาพต่อไปนี้แสดงโครงสร้างภายในทั่วไปของ FPGA ในความหมายกว้างๆ ดังที่คุณเห็น แกนหลักของ FPGA ประกอบด้วยเซลล์ลอจิกที่กำหนดค่าได้และการเชื่อมต่อระหว่างกันที่ตั้งโปรแกรมได้ สิ่งเหล่านี้ล้อมรอบด้วยบล็อก IO ที่ตั้งโปรแกรมได้จำนวนหนึ่ง ซึ่งใช้เพื่อพูดคุยกับโลกภายนอก ส่วนประกอบของ FPGA ให้เราพิจารณาโครงสร้างของ FPGA อย่างละเอียดยิ่งขึ้น โดยปกติ FPGA ประกอบด้วยสามองค์ประกอบพื้นฐาน พวกเขาคือ:Programmable Logic Cells (หรือ Logic Blocks) - รับผิดชอบในการใช้ฟังก์ชันลอจิกหลักProgrammable Routing - รับผิดชอบในการเชื่อมต่อ Logic Blocks.IO Blocks - ซึ่งเชื่อมต่อกับ Logic Blocks ผ่านการกำหนดเส้นทางและช่วยในการเชื่อมต่อภายนอก บล็อกลอจิกบล็อกลอจิกใน FPGA ที่ใช้ Xilinx เรียกว่าเป็นบล็อกลอจิกที่กำหนดค่าได้หรือ CLB ในขณะที่โครงสร้างที่คล้ายกันใน FPGA ที่ใช้ Altera เรียกว่า Logic Array Blocks หรือ LAB ให้เราใช้คำว่า CLB สำหรับการสนทนานี้ CLB เป็นองค์ประกอบพื้นฐานของ FPGA ซึ่งให้ทั้งฟังก์ชันตรรกะและหน่วยเก็บข้อมูล บล็อกลอจิกพื้นฐานสามารถเป็นอะไรก็ได้เช่นทรานซิสเตอร์, เกท NAND, Multiplexors, Look-up Table (LUT), โครงสร้างเหมือน PAL หรือแม้แต่โปรเซสเซอร์ ทั้ง Xilinx และ Altera ใช้บล็อคลอจิกแบบ Look-up Table (LUT) เพื่อใช้ลอจิกและฟังก์ชันการจัดเก็บ Logic Block สามารถประกอบด้วย Basic Logic Element เดียวหรือชุดของ Basic Logic Elements ที่เชื่อมต่อกัน โดยที่ Basic Logic Element คือการรวมกันของตาราง Look-up (ซึ่งประกอบขึ้นจาก SRAM และ Multiplexors) และ Flip-flop.A LUT ที่มีอินพุต 'n' ประกอบด้วยบิตการกำหนดค่า 2n ซึ่งใช้งานโดย SRAM Cells การใช้ 2n SRAM Bits เหล่านี้ทำให้ LUT สามารถกำหนดค่าเพื่อใช้ฟังก์ชันตรรกะใดๆ ก็ได้ การกำหนดเส้นทางหาก Logic Blocks มีฟังก์ชันการคำนวณไว้ เครือข่ายการกำหนดเส้นทางที่ตั้งโปรแกรมได้จะรับผิดชอบในการเชื่อมต่อระหว่างบล็อกลอจิกเหล่านี้ เครือข่ายการกำหนดเส้นทางให้การเชื่อมต่อระหว่างบล็อกลอจิกหนึ่งกับบล็อกอื่น ๆ รวมทั้งระหว่างบล็อกลอจิกและบล็อก IO เพื่อใช้วงจรที่กำหนดเองโดยสมบูรณ์ โดยทั่วไปเครือข่ายการกำหนดเส้นทางประกอบด้วยสายเชื่อมต่อด้วยสวิตช์ที่ตั้งโปรแกรมได้ซึ่งสามารถกำหนดค่าได้โดยใช้ เทคโนโลยีการเขียนโปรแกรม โดยทั่วไปมีสถาปัตยกรรมการกำหนดเส้นทางสองประเภท สิ่งเหล่านี้คือ:การกำหนดเส้นทางแบบเกาะ (หรือที่รู้จักในชื่อ Mesh Routing)การกำหนดเส้นทางแบบลำดับชั้นในสถาปัตยกรรมการกำหนดเส้นทางแบบเกาะ บล็อกลอจิกถูกจัดเรียงในอาร์เรย์สองมิติและเชื่อมต่อถึงกันโดยใช้เครือข่ายการกำหนดเส้นทางที่ตั้งโปรแกรมได้ การกำหนดเส้นทางประเภทนี้ใช้กันอย่างแพร่หลายใน FPGA เชิงพาณิชย์ บล็อกลอจิกจำนวนมากถูกจำกัดให้อยู่ในชุดการเชื่อมต่อภายในเครื่อง และสถาปัตยกรรมการกำหนดเส้นทางแบบลำดับชั้นใช้ประโยชน์จากคุณลักษณะนี้โดยแบ่งบล็อกลอจิกออกเป็นกลุ่มหรือหลายกลุ่ม หากบล็อกลอจิกอยู่ในคลัสเตอร์เดียวกัน การกำหนดเส้นทางแบบลำดับชั้นจะเชื่อมต่อพวกมันในลำดับชั้นที่ต่ำ หากบล็อกลอจิกอยู่ในคลัสเตอร์ที่ต่างกัน การเดินสายจะดำเนินการในลำดับชั้นที่สูงกว่า เทคโนโลยีการเขียนโปรแกรม FPGA เราได้พูดคุยกัน เกี่ยวกับสถาปัตยกรรมที่โปรแกรมได้ของ FPGA ค่อนข้างน้อย แต่ตอนนี้ ให้เราดูเทคนิคการเขียนโปรแกรมที่ใช้บ่อยที่สุดซึ่งมีหน้าที่รับผิดชอบสำหรับสถาปัตยกรรมที่กำหนดค่าใหม่ได้ ต่อไปนี้คือเทคโนโลยีการเขียนโปรแกรมที่รู้จักกันดีสามประการที่ใช้ใน FPGAsSRAMEEPROM / FlashAnti-FuseOther เทคโนโลยีต่างๆ รวมถึง EPROM และ Fusible Link แต่ใช้ใน CPLD และ PLD อื่นๆ แต่ไม่ใช่ใน FPGA ดังนั้น ขอให้เราจำกัดการอภิปรายเฉพาะเทคโนโลยีการเขียนโปรแกรมที่เกี่ยวข้องกับ FPGA SRAM เรารู้ว่า RAM ของสารกึ่งตัวนำมีสองประเภทที่เรียกว่า SRAM และ DRAM SRAM ย่อมาจาก Static RAM ในขณะที่ DRAM นั้นย่อมาจาก Dynamic Ram SRAM ถูกออกแบบโดยใช้ทรานซิสเตอร์ และคำว่า static หมายความว่า ค่าที่โหลดบนเซลล์หน่วยความจำ SRAM พื้นฐานจะยังคงเหมือนเดิมจนกว่าจะมีการเปลี่ยนแปลงโดยเจตนาหรือเมื่อไฟฟ้าดับ เซลล์ SRAM 6 ทรานซิสเตอร์ทั่วไปที่จะเก็บ 1 บิตจะแสดงในรูปต่อไปนี้ ซึ่งตรงกันข้ามกับ DRAM ซึ่งประกอบด้วยทรานซิสเตอร์และตัวเก็บประจุผสมกัน คำว่าไดนามิกหมายถึงความจริงที่ว่าค่าที่โหลดในเซลล์หน่วยความจำ DRAM พื้นฐานนั้นใช้ได้จนกว่าจะมีประจุในตัวเก็บประจุ เนื่องจากตัวเก็บประจุสูญเสียประจุเมื่อเวลาผ่านไป เซลล์หน่วยความจำจึงต้องชาร์จใหม่เป็นระยะเพื่อรักษาประจุ สิ่งนี้เรียกอีกอย่างว่าการรีเฟรช ผู้จำหน่าย FPGA หลายรายใช้ Static Memory Cells ใน FPGA ที่ใช้ SRAM สำหรับการเขียนโปรแกรม FPGA ที่ใช้ SRAM ใช้เพื่อตั้งโปรแกรมทั้งลอจิกเซลล์และส่วนเชื่อมต่อระหว่างกัน และมีความโดดเด่นมากเนื่องจากการตั้งโปรแกรมซ้ำได้และการใช้เทคโนโลยี CMOS ซึ่งขึ้นชื่อในเรื่องการใช้พลังงานแบบไดนามิกต่ำ ความเร็วสูง และการรวมที่เข้มงวดยิ่งขึ้นEEPROM / FlashA ทางเลือกที่ใกล้เคียงกับเทคโนโลยีการเขียนโปรแกรมที่ใช้ SRAM นั้นใช้เทคโนโลยีการเขียนโปรแกรม EEPROM หรือ Flash ข้อได้เปรียบหลักของการเขียนโปรแกรมแบบแฟลชคือลักษณะที่ไม่ลบเลือน แม้ว่าแฟลชจะรองรับการตั้งโปรแกรมซ้ำได้ แต่จำนวนครั้งที่สามารถทำได้นั้นน้อยมากเมื่อเทียบกับเทคโนโลยี SRAM Anti-Fuse เทคโนโลยีการเขียนโปรแกรมป้องกันฟิวส์เป็นเทคนิคแบบเก่าในการผลิตอุปกรณ์ที่ตั้งโปรแกรมได้แบบใช้ครั้งเดียว พวกมันถูกใช้งานโดยใช้ลิงค์ที่เรียกว่า antifuse ซึ่งในสถานะที่ไม่ได้ตั้งโปรแกรมไว้นั้นมีความต้านทานสูงมากและถือได้ว่าเป็นวงจรเปิดเมื่อตั้งโปรแกรม ไฟฟ้าแรงสูงและกระแสไฟจะจ่ายให้กับอินพุต ผลลัพธ์ที่ได้ก็คือ แอนติฟิวส์ ซึ่งในขั้นต้นจะอยู่ในรูปของอะมอร์ฟัสซิลิกอน (โดยทั่วไปแล้วจะเป็นฉนวนที่มีความต้านทานสูงมาก) ซึ่งเชื่อมโยงรางโลหะสองอันเข้าด้วยกัน กลับมีชีวิตขึ้นมาโดยการแปลงเป็นโพลีซิลิคอนนำไฟฟ้า เมื่อเปรียบเทียบกับเทคโนโลยีอีกสองเทคโนโลยี แอนติฟิวส์ หนึ่งใช้พื้นที่น้อยที่สุด แต่มาเป็นตัวเลือกที่ตั้งโปรแกรมได้เพียงครั้งเดียวเท่านั้น  การใช้งาน ในช่วงปีแรกๆ ของการนำ FPGA มาใช้ โดยทั่วไปจะใช้เพื่อนำเครื่องของรัฐที่ซับซ้อนขนาดเล็กถึงขนาดกลางและงานประมวลผลข้อมูลไปใช้กับข้อมูลขนาดเล็ก เนื่องจากความซับซ้อนและความสามารถเพิ่มขึ้นในช่วงหลายปีที่ผ่านมา จึงได้รวมเอาการใช้งานยานยนต์ ผู้บริโภค และอุตสาหกรรมหลายอย่าง ในขั้นต้น FPGA ให้ตัวเลือกที่ง่ายในการออกแบบต้นแบบ ASIC เนื่องจากสามารถกำหนดค่าใหม่ได้อย่างง่ายดายเพื่อทดสอบและลองใช้ฮาร์ดแวร์รูปแบบต่างๆ ก่อนหน้านี้ เสร็จสิ้นการออกแบบหลัก แต่ความสามารถของพวกเขาในการทำงานเป็นผลิตภัณฑ์ขั้นสุดท้ายที่มีเวลาออกสู่ตลาดค่อนข้างสั้นและค่าใช้จ่ายในการดำเนินการเพียงเล็กน้อย พวกเขาถูกนำมาใช้เป็นคู่แข่งโดยตรงกับ ASIC บางตัว FPGA สมัยใหม่ที่มีตัวคูณ การกำหนดเส้นทางที่ซับซ้อน และ RAM บนชิปสามารถอำนวยความสะดวกในการดำเนินการ DSP ซึ่งก่อนหน้านี้สามารถทำได้ในโปรเซสเซอร์สัญญาณดิจิตอลโดยเฉพาะ ด้วยต้นทุนของ FPGA ที่ลดลง พวกเขากำลังรับคู่แข่งที่จริงจังของแอปพลิเคชันการควบคุมแบบฝัง สามารถใช้ FPGA เพื่อปรับใช้โปรเซสเซอร์แบบซอฟต์คอร์ของไมโครคอนโทรลเลอร์ใดๆ พร้อมกับความสามารถ IO ที่กำหนดเองได้โพสต์ที่เกี่ยวข้อง: บทนำสู่เทคโนโลยี ASIC | ประเภทต่างๆ…ระบบอัตโนมัติทางอุตสาหกรรมคืออะไร?

ฝากข้อความ 

Name *
อีเมลล์ *
เบอร์โทรศัพท์
ที่อยู่
รหัส ดูรหัสยืนยันหรือไม่ คลิกฟื้นฟู!
ระบุความประสงค์หรือขอข้อมูลเพิ่มเติม
 

รายการข้อความ

ความคิดเห็นกำลังโหลด ...
หน้าแรก| เกี่ยวกับเรา| ผลิตภัณฑ์| ข่าว| ดาวน์โหลด| ระบบขอใช้บริการ| ข้อเสนอแนะ| ติดต่อเรา| Service

ติดต่อ: Zoey Zhang เว็บ: www.fmuser.net

Whatsapp / Wechat: + 86 183 1924 4009

Skype: tomleequan อีเมล์: [ป้องกันอีเมล] 

เฟซบุ๊ก: FMUSERBROADCAST Youtube: FMUSER ZOEY

ที่อยู่เป็นภาษาอังกฤษ: Room305, HuiLanGe, No.273 HuangPu Road West, TianHe District., GuangZhou, China, 510620 ที่อยู่เป็นภาษาจีน: 广州市天河区黄埔大道西273号惠兰阁305(3E)