เอฟพีจีเอ Matlab: โซลูชั่นแบบจำลอง
การตรวจรับรองเอฟพีจีเอในสภาพแวดล้อม MATLAB
ระบบ Intel ในเครื่องมือ Loop ทำให้คุณดำเนินการออกแบบเอฟพีจีเอแบบเรียลไทม์จากสภาพแวดล้อม MATLAB ความสามารถในการทำงานแบบเรียลไทม์นั้นเป็นปัจจัยที่สำคัญสำหรับอัลกอริธึมด้วยอัตราการประมวลผลที่สูง การจำลอง MATLAB ดั้งเดิมสำหรับอัลกอริธึมอาจทำให้เกิดการดีเลย์ของการคำนวณเป็นระยะเวลานาน ระบบ Intel ในเครื่องมือ Loop ที่มีชุด DSP Builder สำหรับเครื่องมือเอฟพีจีเอ Intel® ให้คุณสามารถเร่งความเร็ว high-rate fixed ที่ซับซ้อน หรือการประมวลผลสัญญาณดิจิตอล (DSP) จุดลอยตัวในฮาร์ดแวร์เอฟพีจีเอ เครื่องมือนี้ยังสามารถให้คุณควบคุม แก้จุดบกพร่อง แสดงภาพ และตรวจรับรองการออกแบบเอฟพีจีเองของคุณ โดยทั้งหมดนี้เกิดขึ้นได้ภายในสภาพแวดล้อม MATLAB
An application programming interface (API) ที่ใช้โดยซอฟต์แวร์ MATLAB ที่ดำเนินการในคอมพิวเตอร์ของคุณเพื่อสื่อสารกับบอร์ดเอฟพีจีเอ ให้ประมวลผลข้อมูลแบบเรียลไทม์ด้วยฮาร์ดแวร์เอฟพีจีเอ แทนซอฟต์แฟร์ MATLAB พารามิเตอร์และข้อมูลการตอบสนองจะถูกส่งมาจากพื้นที่ทำงาน MATLAB ไปยังเอฟพีจีเอ และผลฮาร์ดแวร์เอฟพีจีเอจะถูกอ่านกลับไปยังซอฟต์แวร์ MATLAB เพื่อการวิเคราะห์และแสดงต่อไป
รูปที่ 1 แสดงถึงตัวอย่างของ MATLAB visualization ในการประมวลผลเรดาร์และ Beamforming
รูปที่ 1 MATLAB Visualization ในการประมวลผลเรดาร์และ Beamforming
การตรวจรับรองเอฟพีจีเอภายใน MATLAB โดยใช้เครื่องมือแก้ไขจุดบกพร่องระดับระบบของ Intel
System in the Loop คือส่วนหนึ่งของชุดผลิตภัณฑ์เครื่องมือแก้ไขจุดบกพร่องระดับระบบของ Intel ซึ่งประกอบด้วยชุดเครื่องมือตัวรับส่งสัญญาณ, ชุดเครื่องอินเตอร์เฟซหน่วยความจำภายนอก เครื่องมือทั่วไปอีกมากมาย เช่น System Console และ Platform Designer (ก่อนหน้านี้มีชื่อว่า Qsys) Platform Designer (ก่อนหน้านี้ชื่อ Qsys) ใช้อินเตอร์เฟซ Avalon® memory-mapped (Avalon-MM) หรือ Avalon streaming (Avalon-ST) เพื่อสร้างเครือข่ายใน topologies และ hierarchies ที่หลากหลาย
ระบบคอนโซลคือเครื่องมือที่สามารถใช้ตรวจสอบและเป็นอุปกรณ์สำหรับการออกแบบเอฟพีจีเอ สามารถใช้เพื่อตรวจสอบการทำงานการจับเวลาหรือรีเซ็ตเครือข่าย สามารถทำงานที่มีความซับซ้อน เช่นการขับเคลื่อนรูปแบบการเข้าถึงหน่วยความจำตามไดร์ฟที่เฉพาะเจาะจง และตรวจสอบการตอบรับสัญญาณ ซึ่งมีประโยชน์สำหรับการนำบอร์ดมาใช้ และการทดสอบการผลิตโดยอัตโนมัติ คุณสามารถสร้างแดชบอร์ดตอบโต้สำหรับงานที่เฉพาะเจาะ ตามที่แสดงในรูปที่ 2
รูปที่ 2: แดชบอร์ดคอนโซลระบบ
ระบบคอนโซลสามารถทำงานแก้ไขจุดบกพร่องฮาร์ดแวร์ระดับต่ำ ไม่ว่าจะเป็ฯ Platform Designer (ก่อนหน้านี้มืชื่อว่า Qsys) ใดๆ ก็ตาม MATLAB API อนุญาตการเข้าถึงฟัง์กชันคอล โดยใช้ System Console ซึ่งให้กลับการเข้าถึง function calls โดยใช้ระบบคอนโซล ไปยังฮาร์ดแวร์เอฟพีจีเอ ห้าคำสั่ง MATLAB เรียบง่ายนั้นใช้เพื่อรีเฟรซ เปิด อ่าน เขียน และปิดช่องการสื่อสารระหว่างการออกแบบ MATLAB ไปยังฮาร์ดแวร์เอฟพีจีเอ
สามารถเชื่อมต่ออินเตอร์เฟซฮาร์ดแวร์ไปยังเอฟพีจี ผ่านอินเตอร์เฟซ JTAG ดั้งเดิม หรืออินเตอร์เฟซ 2.0 ตามที่แสดงในรูปที่ 3 การเข้าถึงมาสเตอร์ดีบัก USB ให้ความเร็วถึง 480 Mbps ให้อัตราการประมวลผลการเร่งความเร็วสูงในฮาร์ดแวร์เอฟพีจีเอ รูปที่ 4 แสดงให้คุณสามารถเชื่อมต่อสัญญาณ JTAG หรือ USB ไปยังอุปกรณ์ที่ทำการทดสอบ (DUT) ได้ง่ายกว่า โดยใช้ Platform Designer (ก่อนหน้านี้ชื่อว่า Qsys)
รูป 3 MATLAB ไปยังสแต็คโปรโตคอลฮาร์ดแวร์เอฟพีจีเอ
รูปที่ 4 JTAG และการเข้าถึงมาสเตอร์ดีบัก USB
ในรูปที่ 5 DSP Builder สำหรับเอฟพีจีเอ Intel (บล็อกเซ็ตขั้นสูง) นั้นใช้เพื่อสร้างการออกแบบเอฟพีจีเอ เครื่องมิอนี้สร้างโค้ดการพัฒนาระดับการถ่ายโอนจุดลอยตัวและอยู่กับที่ (RTL) คุณภาพสูง ด้วย fMAX และการใช้แหล่งข้อมูลที่เป็นไปตามภาษาคำอธิบายฮาร์ดแวร์ (HDL) โค้ดมือที่ปรับปรุงให้เหมาะสม คุณยังสามารถออกแบบใน Verilog หรือ VHDL จากนั้นเพิ่มพอร์ตอินเตอร์เฟซ Avalon® เข้าที่อินเตอร์เฟซเพื่อเชื่อมต่อการออกแบบของคุณผ่าน Platform Designer (ก่อนหน้ามีชื่อว่า Qsys)
รูปที่ 5 การเชื่อมต่อการออกแบบเอฟพีจีเอไปยัง JTAG หรือมาสเตอร์ดีบัก USB
แหล่งข้อมูลเอฟพีจีเอทั้งหมดสามารถเชื่อมต่อกันได้โดยใช้ Platform Designer (ก่อนหน้านี้มีชื่อว่า Qsys) และการออกแบบเอฟพีจีเอถูกเพิ่มเป็นส่วนประกอบ Platform Designer (ก่อนหน้านี้มีชื่อว่า Qsys) ดูรูปที่ 6
รูปที่ 6 ไดอะแกรมแพลตฟอร์มการออกแบบ
ข้อมูลอินพุตและเอาต์พุตทั้งสองที่บัฟเฟอร์บนชิป ให้เอฟพีจีเอฮาร์ดแวร์สามารถทำงานที่ความเร็วระบบเต็มพิกัดผ่านข้อมูลบัฟเฟอร์ อินเตอร์เฟซที่แสดงในรูปที่ 7 คืออินเตอร์เฟส Avalon-ST
รูป 7 DUT เอฟพีจีเอระดับสูงสุด
ระบบบัฟเฟอร์อินพุตที่แสดงในรูปที่ 8 โปรดทราบว่ารีจิสเตอร์ที่ใช้ทริกเกอร์ในการเขียนที่อยู่ ในขณะที่ข้อมูลกำลังโหลดโดยใช้คำสั่งการเขียน MATLAB ระบบเอาต์พุตบัฟเฟอร์นั้นคล้ายกับระบบบัฟเฟอร์อินพุต
รูป 8 บัฟเฟอร์ข้อมูลอินพุต System in the Loop
หลังจากนั้น แพลตฟอร์มการออกแบบที่เพิ่มไปยังโปรเจ็คซอฟต์แวร์ Intel® Quartus® Prime และการออกแบบจะถูกคอมไพล์ ตามที่แสดงในรูปที่ 9
รูปที่ 9 การเพิ่มนักออกแบบแพลตฟอร์มไปยังโปรเจ็คซอฟต์แวร์ Quartus Prime
สุดท้าย เอฟพีจีเอนั้นถูกตั้งโปรแกรมด้วยการออกแบบคอมไพล์ คุณสามารถควบคุมระบบทั้งหมดผ่านคำสั่ง MATLAB ตามที่แสดงในรูปที่ 10:
รูปที่ 10 การควบคุมระบบเอฟพีจีเอผ่าน MATLAB
เพื่อทำให้คุณสามารถตรวจรับรองการออกแบบเอฟพีจีเอได้อย่างงง่ายกว่า ตัวอย่างการออกแบบ System in the Loop พร้อมใช้ สำหรับบอร์ดพัฒนาเอฟพีจีเอ Intel ต่าง ๆ เช่นเอฟพีจีเอ Stratix® IV, Stratix® V และ Cyclone® V