ชุดการสังเคราะห์ C++ สำหรับการพัฒนาอัลกอริธึม PolarFire FPGA

อัปเดต: 6 สิงหาคม 2023
ชุดการสังเคราะห์ C++ สำหรับการพัฒนาอัลกอริธึม PolarFire FPGA

“การประมวลผลเอดจ์ คอมพิวเตอร์วิทัศน์ และอัลกอริธึมการควบคุมอุตสาหกรรมส่วนใหญ่ได้รับการพัฒนาโดยกำเนิดใน C++ โดยนักพัฒนาที่มีความรู้พื้นฐานเพียงเล็กน้อยหรือไม่มีเลย FPGA ฮาร์ดแวร์” ตามที่บริษัทกล่าว

เครื่องมือนี้เรียกว่า SmartHLS ช่วยให้อัลกอริธึม C++ สามารถแปลโดยตรงเป็นโค้ด RTL (ระดับการถ่ายโอนการลงทะเบียน) ที่ปรับให้เหมาะสมกับ FPGA

โดยอิงตามสภาพแวดล้อมการพัฒนาแบบรวม Eclipse แบบโอเพนซอร์ส และใช้โค้ดซอฟต์แวร์ C++ เพื่อสร้างส่วนประกอบ HDL IP (ทรัพย์สินทางปัญญาของภาษาการออกแบบฮาร์ดแวร์) สำหรับการผสานรวมเข้ากับโปรเจ็กต์ Libero SmartDesign ของไมโครชิป

ในรายละเอียด ผู้ใช้ใช้การออกแบบของตนในซอฟต์แวร์ C++ และตรวจสอบการทำงานด้วยการทดสอบซอฟต์แวร์ ถัดไป LegUp จะคอมไพล์โปรแกรม C++ ลงในโมดูลฮาร์ดแวร์ Verilog ที่เทียบเท่ากับฟังก์ชันการทำงาน

SmartHLS สามารถเรียกใช้การจำลองร่วมกับ Modelsim เพื่อตรวจสอบพฤติกรรมของฮาร์ดแวร์ที่ทำงานอย่างถูกต้องตามวงจร และยืนยันการทำงานของฮาร์ดแวร์ที่ตรงกับซอฟต์แวร์ และสามารถสร้างแกน IP ของฮาร์ดแวร์สำหรับการรวมเข้ากับระบบที่ใหญ่ขึ้นโดย SmartDesign LegUp ยังสามารถเรียกใช้การสังเคราะห์ Libero บน Verilog ที่สร้างขึ้นเพื่อกำหนดพื้นที่ FPGA และ Fmax เช่นเดียวกับ PolarFire เครื่องมือนี้รองรับ SmartFusion2 FPGA

“การเขียนโค้ดซอฟต์แวร์ C++ นั้นง่ายกว่าสำหรับวิศวกรมากกว่าการออกแบบใน RTL เนื่องจากโค้ดซอฟต์แวร์มีความกระชับมากขึ้น โดยต้องใช้ C++ น้อยกว่า RTL ถึง 5-10 เท่า” ไมโครชิปกล่าว “ซอฟต์แวร์ยังเข้าใจง่ายและปรับเปลี่ยนได้ง่ายกว่าสำหรับการปรับปรุงหรือบำรุงรักษาในอนาคตเมื่อเทียบกับ RTL ความกระชับและความสามารถในการอ่านของซอฟต์แวร์ทำให้มีข้อบกพร่องน้อยลงในการออกแบบ FPGA ของคุณ”

หน้าผลิตภัณฑ์ SmartHLS อยู่ที่นี่