Xilinx KCU116: แพลตฟอร์มการพัฒนา FPGA เครือข่ายและพื้นที่เก็บข้อมูล 100 Gbps ที่คุ้มค่า

By ธนพร แสงไพฑูรย์

NSตระกูล Kintex® UltraScale+™ ถือเป็นอุปกรณ์ FPGA ที่ราคา/ประสิทธิภาพ/สมดุลที่ดีที่สุดที่สร้างจากเทคโนโลยี FinFET TSMC 16 nm จากXilinx® . เมื่อรวม UltraRAM ใหม่เข้ากับเทคโนโลยีการเพิ่มประสิทธิภาพการเชื่อมต่อระหว่างกัน (SmartConnect) อุปกรณ์นี้มอบโซลูชันที่คุ้มค่าที่สุดสำหรับแอปพลิเคชันที่ต้องการตัวรับส่งสัญญาณความสามารถระดับไฮเอนด์สำหรับแกนการเชื่อมต่อ 100 Gbps ตระกูลนี้ได้รับการออกแบบมาโดยเฉพาะสำหรับแอปพลิเคชันเครือข่ายและการจัดเก็บข้อมูล เช่น การประมวลผลแพ็กเก็ตเครือข่ายและเทคโนโลยี MIMO ไร้สาย เครือข่ายแบบใช้สาย 100 Gbps การเร่งความเร็วเครือข่ายอุตสาหกรรมและศูนย์ข้อมูล และการเร่งความเร็วพื้นที่เก็บข้อมูล NVMe SSD (โซลิดสเตตไดรฟ์) บทความนี้สาธิตโซลูชัน 100 Gbps ของเครือข่าย TCP Offload Engine และการใช้งาน NVMe SSD บน Xilinxชุดประเมินผล KCU116 โดยใช้ดีไซน์เกตเวย์ TOE100G-IP Core ซึ่งใช้สำหรับโซลูชัน CPU ที่มีการส่งผ่าน TCP 12 GB/s ผ่านอินเทอร์เฟซ 100 GbE และ NVMeG4-IP Core ซึ่งสามารถบรรลุประสิทธิภาพที่รวดเร็วอย่างไม่น่าเชื่อที่ประมาณ 4 GB/s ต่อ SSD

ข้อมูลเบื้องต้นเกี่ยวกับชุดประเมินผล Kintex® UltraScale+ KCU116

KCU116 เหมาะอย่างยิ่งสำหรับการประเมินคุณสมบัติ Kintex UltraScale+ ที่สำคัญ โดยเฉพาะอย่างยิ่งประสิทธิภาพของตัวรับส่งสัญญาณ 28 Gbps ชุดนี้เหมาะอย่างยิ่งสำหรับการสร้างต้นแบบอย่างรวดเร็วโดยอิงจากaXCKU5P-2FFVB676E อุปกรณ์ FPGA .

สิ่งที่รวมอยู่ในบอร์ดคือ DDR4-2666 ขนาด 1 GB 32 บิต พอร์ตขยาย FMC สำหรับ 1 x M.2 NVMe SSD และ PCIe Gen4 x8 เลนสำหรับอินเทอร์เฟซ M.2 NVMe SSD สูงสุด 2 x ตัวรับส่งสัญญาณ GTY ขนาด 16 x 28 Gbps พร้อมใช้งานสำหรับทั้งการใช้งานอินเทอร์เฟซ PCIe Gen4 และ 100 GbE และมีอินเทอร์เฟซอุปกรณ์ต่อพ่วงที่หลากหลายและตรรกะ FPGA สำหรับการออกแบบที่ผู้ใช้กำหนดเอง

ภาพชุดตรวจประเมิน Xilinx KCU116 (คลิกเพื่อดูภาพขยาย)รูปที่ 1: ชุดประเมินผล KCU116 (แหล่งรูปภาพ: Xilinx Inc.)

เมื่อใช้ร่วมกับ IP Cores ของ Design Gateway แล้ว KCU116 จะมอบทุกสิ่งที่จำเป็นต่อการพัฒนาโซลูชันเครือข่ายและสตอเรจที่ล้ำสมัย 100 Gbps โดยไม่จำเป็นต้องได้รับการสนับสนุน MPSoC

การใช้งานโซลูชั่นเครือข่ายและสตอเรจ 100Gbps

ไดอะแกรมของโซลูชันเครือข่ายและสตอเรจ 100 Gbps บน KCU116รูปที่ 2: โซลูชันเครือข่ายและความจุ 100 Gbps บน KCU116 (ที่มาของรูปภาพ: Design Gateway)

แม้ว่าอุปกรณ์ Kintex UltraScale+ จะไม่มีเทคโนโลยี MPSoC เช่น Zynq UltraScale+ แต่การประมวลผลเครือข่ายและโปรโตคอลการจัดเก็บข้อมูล NVMe ก็สามารถทำได้โดยไม่ต้องใช้โปรเซสเซอร์และระบบปฏิบัติการโดยใช้ประโยชน์จากโซลูชัน IP Cores ของ Design Gateway:

  1. TOE100G-IP: 100 GbE Full TCP protocol stack IP Core โดยไม่ต้องใช้ CPU
  2. NVMeG4-IP: ตัวควบคุมโฮสต์ NVMe แบบสแตนด์อโลนพร้อม PCIe Gen4 Soft IP ในตัว

ทั้ง TOE100G-IP และ NVMeG4-IP สามารถทำงานได้โดยไม่ต้องใช้ CPU/OS/ไดรเวอร์ ลอจิกผู้ใช้สำหรับการควบคุมและเส้นทางข้อมูลที่มี IP ทั้งสองสามารถนำไปใช้โดยลอจิกฮาร์ดแวร์บริสุทธิ์หรือระบบปฏิบัติการ Bare-metal โดย Microblaze ทำให้สามารถพัฒนาแอปพลิเคชันและอัลกอริธึมระดับสูงได้เร็วและง่ายขึ้นโดยไม่จำเป็นต้องกังวลเกี่ยวกับระบบเครือข่ายและโปรโตคอล NVMe ซึ่งเป็นการเปิดโอกาสใหม่ ๆ สำหรับโซลูชันระดับระบบขั้นสูง เช่น การเก็บข้อมูลเซ็นเซอร์ การคำนวณบนบอร์ด และอุปกรณ์ประมวลผล Edge ที่ใช้ AI

TOE100G-IP ของ Design Gateway สำหรับอุปกรณ์ UltraScale+

ภาพระบบ TOE100G-IPรูปที่ 3: ระบบ TOE100G-IP (ที่มาของรูปภาพ: Design Gateway)

แกน IP TOE100G ใช้สแต็ก TCP/IP (ในตรรกะแบบฮาร์ดไวร์) เชื่อมต่อกับโมดูลระบบย่อยอีเธอร์เน็ต 100 Gb ของ Xilinx สำหรับฮาร์ดแวร์ระดับล่าง อินเทอร์เฟซผู้ใช้ของ TOE100G IP ประกอบด้วยอินเทอร์เฟซ Register สำหรับสัญญาณควบคุมและอินเทอร์เฟซ FIFO สำหรับสัญญาณข้อมูล TOE100G IP ออกแบบมาเพื่อเชื่อมต่อกับระบบย่อย 100 Gb Ethernet ซึ่งใช้ AXI4-ST 512 บิตเพื่อเชื่อมต่อกับอินเทอร์เฟซผู้ใช้ ระบบย่อยอีเทอร์เน็ตที่จัดเตรียมโดย Xilinx รวมถึงฟังก์ชัน EMAC, PCS และ PMA ความถี่สัญญาณนาฬิกาของอินเทอร์เฟซผู้ใช้ของระบบย่อย 100 Gb Ethernet เท่ากับ 322.265625 MHz

คุณสมบัติของ TOE100G-IP

  • การใช้งานสแต็ก TCP/IP แบบเต็ม
  • รองรับหนึ่งเซสชันโดยหนึ่ง TOE100G IP (มัลติเซสชั่นสามารถใช้งานได้โดยใช้ TOE100G IP หลายรายการ))
  • รองรับทั้งโหมดเซิร์ฟเวอร์และไคลเอนต์ (เปิดและปิดแบบ Passive/Active)
  • รองรับกรอบจัมโบ้
  • อินเทอร์เฟซข้อมูลอย่างง่ายโดยอินเทอร์เฟซ FIFO มาตรฐาน
  • อินเทอร์เฟซการควบคุมอย่างง่ายโดยอินเทอร์เฟซ RAM พอร์ตเดียว

การใช้ทรัพยากร FPGA บนอุปกรณ์ XCKU5P-2FFVB676E FPGA แสดงไว้ในตารางที่ 1 ด้านล่าง

ตระกูล ตัวอย่างอุปกรณ์ เอฟแม็กซ์ (MHz) CLB Regs CLB LUTs CLB IOB BRAMTile URAM GTY เครื่องมือออกแบบ
Kintex-Ultrascale+ XCKU5P-FFVB676-2E 350 12883 17535 3208 - 53 - 4 Vivado2019.1

ตารางที่ 1: ตัวอย่างสถิติการใช้งานสำหรับอุปกรณ์ Kintex Ultrascale+

รายละเอียดเพิ่มเติมของTOE100G-IP อธิบายไว้ในเอกสารข้อมูล data ซึ่งสามารถดาวน์โหลดได้จากเว็บไซต์ของ Design Gateway

Design Gateway's NVMe PCIe Gen4 Host Controller สำหรับ GTY Transceivers

Kintex UltraScale+ มีตัวรับส่งสัญญาณ GTY ซึ่งสามารถรองรับอินเทอร์เฟซ PCIe Gen4 ได้ แต่ไม่มีตัวประมวลผล PCIe Gen4 แบบบูรณาการ Block และ ARM

Design Gateway แก้ไขปัญหานี้โดยการพัฒนาแกน NVMeG4-IP ที่สามารถเรียกใช้เป็นตัวควบคุมโฮสต์ NVMe แบบสแตนด์อโลนที่มี PCIe soft IP ในตัวและลอจิกบริดจ์ PCIe ในคอร์เดียว การเปิดใช้งานการเข้าถึง NVMe PCIe Gen4 SSD ช่วยลดความซับซ้อนของอินเทอร์เฟซผู้ใช้ และเปิดใช้งานคุณสมบัติมาตรฐานที่ออกแบบให้ใช้งานง่ายโดยไม่จำเป็นต้องมีความรู้เกี่ยวกับโปรโตคอล NVMe

รูปภาพของแผนภาพบล็อก NVMeG4-IP รูปที่ 4: แผนภาพบล็อก NVMeG4-IP (ที่มาของรูปภาพ: Design Gateway)

คุณสมบัติของ NVMeG4-IP

  • สามารถใช้ชั้นแอปพลิเคชัน ชั้นธุรกรรม ชั้นเชื่อมโยงข้อมูล และบางส่วนของชั้นกายภาพเพื่อเข้าถึง NVMe SSD โดยไม่ต้องใช้ CPU หรือหน่วยความจำ DDR ภายนอก
  • ทำงานด้วย Xilinx PCIe PHY IP ที่กำหนดค่าเป็น 4-lane PCIe Gen4 (อินเทอร์เฟซบัส 256 บิต)
  • รวมบัฟเฟอร์ข้อมูล RAM 256 Kbyte
  • รองรับคำสั่ง 6 คำสั่ง ได้แก่ ระบุ ปิดเครื่อง เขียน อ่าน สมาร์ท และล้าง (รองรับคำสั่งเสริมเพิ่มเติม)
  • ความถี่สัญญาณนาฬิกาของผู้ใช้ต้องมากกว่าหรือเท่ากับนาฬิกา PCIe (250 MHz สำหรับ Gen4)

การใช้ทรัพยากร FPGA บนอุปกรณ์ XCKU5P-2FFVB676E FPGA แสดงไว้ในตารางที่ 2 ด้านล่าง

ตระกูล ตัวอย่างอุปกรณ์ เอฟแม็กซ์ (MHz) CLB Regs CLB LUTs CLB IOB BRAMTile URAM GTY เครื่องมือออกแบบ
Kintex-Ultrascale+ XCKU5P-FFVB676-2E 300 19214 21960 4382 - 12 8 4 Vivado2019.1

ตารางที่ 2: ตัวอย่างสถิติการใช้งานสำหรับอุปกรณ์ Kintex Ultrascale+

รายละเอียดเพิ่มเติมของNVMeG4-IP อธิบายไว้ในแผ่นข้อมูล ซึ่งสามารถดาวน์โหลดได้จากเว็บไซต์ของ Design Gateway

ตัวอย่างการใช้งาน TOE100G-IP และผลการปฏิบัติงานบน KCU116

รูปที่ 5 แสดงภาพรวมของการออกแบบอ้างอิงตาม KCU116 เพื่อสาธิตการใช้งาน TOE100G-IP ระบบสาธิตประกอบด้วยระบบ Bare-metal OS Microblaze, User logic และระบบย่อยอีเทอร์เน็ต 100 Gb ของ Xilinx

รูปภาพของบล็อกไดอะแกรมระบบสาธิต TOE100G-IP รูปที่ 5: บล็อกไดอะแกรมระบบสาธิต TOE100G-IP (ที่มาของรูปภาพ: Design Gateway)

ระบบสาธิตออกแบบมาเพื่อประเมินการทำงานของ TOE100G-IP ทั้งในโหมดไคลเอนต์และเซิร์ฟเวอร์ ตรรกะการทดสอบช่วยให้ส่งและรับข้อมูลด้วยรูปแบบการทดสอบสำหรับความเร็วข้อมูลสูงสุดที่เป็นไปได้ในด้านอินเทอร์เฟซผู้ใช้ สำหรับอินเทอร์เฟซ 100 GbE ที่มี KCU116 จำเป็นต้องใช้ตัวรับส่งสัญญาณ SFP+ สี่ตัว (25GBASE-R) และสายเคเบิลไฟเบอร์ตามที่แสดงใน รูปที่ 6

รูปภาพของสภาพแวดล้อมการสาธิต TOE100G-IP ที่ตั้งค่าบน KCU116รูปที่ 6: ตั้งค่าสภาพแวดล้อมการสาธิต TOE100G-IP บน KCU116 (ที่มาของรูปภาพ: Design Gateway)

ตัวอย่างผลการทดสอบเมื่อเปรียบเทียบ 100G กับรุ่นอื่นๆ (1G/10G/25G/40G) แสดงไว้ในรูปที่ 7

กราฟเปรียบเทียบประสิทธิภาพ TOE100G-IP กับ 1G/10G/25G/40G บน KCU116รูปที่ 7: การเปรียบเทียบประสิทธิภาพ TOE100G-IP กับ 1G/10G/25G/40G บน KCU116 (ที่มาของรูปภาพ: Design Gateway)

ผลการทดสอบแสดงให้เห็นว่า TOE100G-IP มีความสามารถในการรับส่งข้อมูล TCP ที่ความเร็วประมาณ 12 GB/s

ตัวอย่างการใช้งาน NVMeG4-IP และผลการปฏิบัติงานบน KCU116

รูปที่ 8 แสดงภาพรวมของการออกแบบอ้างอิงตาม KCU116 เพื่อสาธิตการใช้งาน 1CH NVMeG4-IP เป็นไปได้ที่จะใช้ NVMeG4-IP หลายอินสแตนซ์เพื่อให้ได้ประสิทธิภาพการจัดเก็บข้อมูลที่สูงขึ้น หากทรัพยากร FPGA พร้อมใช้งานจากการออกแบบที่ผู้ใช้กำหนดเอง

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการออกแบบอ้างอิง NVMeG4-IP โปรดดูที่เอกสารการออกแบบอ้างอิง NVMeG4-IP ให้บริการบนเว็บไซต์ของ Design Gateway

ไดอะแกรมของภาพรวมการออกแบบอ้างอิง NVMeG4-IPรูปที่ 8: ภาพรวมการออกแบบอ้างอิง NVMeG4-IP (ที่มาของรูปภาพ: Design Gateway)

ระบบสาธิตได้รับการออกแบบมาเพื่อเขียน/ตรวจสอบข้อมูลด้วย NVMe SSD บน KCU116 ผู้ใช้ควบคุมการดำเนินการทดสอบผ่านคอนโซลซีเรียล เพื่อให้ NVMe SSD เชื่อมต่อกับ KCU116 จำเป็นต้องใช้บอร์ดอะแดปเตอร์ AB18-PCIeX16 ดังแสดงในรูปที่ 9

รูปภาพของสภาพแวดล้อมการสาธิต NVMeG4-IP ที่ตั้งค่าบน KCU116 (คลิกเพื่อดูภาพขยาย)รูปที่ 9: ตั้งค่าสภาพแวดล้อมการสาธิต NVMeG4-IP บน KCU116 (ที่มาของรูปภาพ: Design Gateway)

ตัวอย่างผลการทดสอบเมื่อรันระบบสาธิตบน KCU116 ขณะใช้ Samsung 970 Pro ขนาด 512 GB แสดงในรูปที่ 10

กราฟแสดงประสิทธิภาพการอ่าน/เขียน NVMe SSD บน KCU116 โดยใช้ Samsung 970 PRO Sรูปที่ 10: ประสิทธิภาพการอ่าน/เขียน NVMe SSD บน KCU116 โดยใช้ Samsung 970 PRO S. (ที่มาของภาพ: Design Gateway)

สรุป

ทั้ง TOE100G-IP และ NVMeG4-IP Core ต่างก็มอบโซลูชันเพื่อใช้ความสามารถในการเชื่อมต่อ 100 Gbps บนบอร์ด KCU116 สำหรับเครือข่ายและการใช้งานแอปพลิเคชันพื้นที่เก็บข้อมูล NVMe TOE100G-IP หนึ่งเครื่องสามารถส่งข้อมูล TCP ได้ประมาณ 12 GB มากกว่า 100 GbE NVMeG4-IP สามารถให้การจัดเก็บข้อมูลประสิทธิภาพสูงมากด้วย NVMe PCIe Gen4 ที่ประมาณ 4 GB/s ต่อ SSD สามารถใช้ NVMeG4-IP หลายอินสแตนซ์เพื่อสร้างตัวควบคุม RAID0 และสามารถเพิ่มประสิทธิภาพการจัดเก็บเพื่อให้ตรงกับความเร็วในการส่งข้อมูล 100 GbE

ชุดประเมินผล KCU116 และโซลูชัน IP เครือข่ายและการจัดเก็บของ Design Gateway ช่วยให้สามารถบรรลุเป้าหมายของประสิทธิภาพสูงสุดที่เป็นไปได้โดยใช้ทรัพยากร FPGA ที่ต่ำที่สุดเท่าที่จะเป็นไปได้สำหรับโซลูชันหรือผลิตภัณฑ์ที่คุ้มค่ามากโดยใช้อุปกรณ์ Xilinx® Kintex UltraScale+®

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ TOE100G-IP และ NVMeG4-IP แผ่นข้อมูล การออกแบบอ้างอิงที่พร้อมใช้งาน และการตั้งค่าสภาพแวดล้อมการสาธิตมีอยู่ในเว็บไซต์ของ Design Gateway ที่:

https://dgway.com/TOE100G-IP_X_E.html

https://dgway.com/NVMeG4-IP_X_E.html

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of Digi-Key Electronics or official policies of Digi-Key Electronics.

About this author

ธนพร แสงไพฑูรย์

ธนพร แสงไพฑูรย์ เคยทำงานที่ดีไซน์ เกตเวย์ บจก.ตั้งแต่ปี 2544 เขามีส่วนร่วมในโครงการออกแบบ FPGA และประสบความสำเร็จในการพัฒนา Serial ATA IP Core บนXilinx เวอร์เท็กซ์-4 ในปี 2549 ปัจจุบันดำรงตำแหน่งผู้จัดการทั่วไป รับผิดชอบด้านการขายและการพัฒนาธุรกิจ