ฉันมีการแปลงสัญญาณขนาดใหญ่โดยเฉพาะอย่างยิ่งที่ต้องทำการแปลงจาก matlab เป็น VHDL ต้องมีการแบ่งปันทรัพยากรบางอย่างแน่นอน การคำนวณเล็กน้อยให้สิ่งต่อไปนี้กับฉัน:
- 512 ffts จาก 64 จุด
- การดำเนินงานเพิ่มทวีคูณ 41210
เมื่อพิจารณา Virtex 6 FPGA ที่ใหญ่ที่สุดมีบล็อก DSP48E ประมาณ 2000 ฉันรู้ว่าฉันสามารถแบ่งปันทรัพยากรเพื่อใช้ทรัพยากรซ้ำได้หลายครั้ง เวลาดำเนินการไม่ใช่ปัญหาจริงๆเวลาประมวลผลอาจใช้เวลานานในแง่ของ FPGA
ดูที่การใช้ทรัพยากรการใช้สถาปัตยกรรม radix-2 lite ทำให้ฉันได้รับบล็อก 4dsp / การดำเนินการ FFT = 2048 บล็อก DSP รวม ~ 43k Virtex FPGA ที่ใหญ่ที่สุดมี 2k block หรือ 20 การทำงาน / mux
เห็นได้ชัดว่าการรวม mux ขนาดใหญ่เข้าไปในเนื้อผ้า ฉันจะหาจุดสูงสุดของข้อ จำกัด นี้ได้จากที่ใด ฉันไม่สามารถแชร์ทรัพยากร FPGA ได้อย่างไร้ขีด จำกัด ตัวคูณ 41210 ใหญ่เกินไปหรือไม่ ฉันจะคำนวณสิ่งที่ใหญ่เกินไปได้อย่างไร
ฉันได้ดูทรัพยากรอื่น ๆ ด้วย (สไลซ์, แบรม, ฯลฯ ) Radix-2 Lite ยังให้ 4 x 18k brams / fft = 2048 brams Xilinx FPGA ที่ใหญ่ที่สุดมี 2128 Brams เส้นเขตแดนมาก ฉันกังวลว่าการออกแบบของฉันใหญ่เกินไป
UPDATE:
ข้อมูลเพิ่มเติมบางอย่างเกี่ยวกับการออกแบบตัวเอง ฉันไม่สามารถลงรายละเอียดได้ แต่นี่คือสิ่งที่ฉันจะให้:
Initial conditions -> 512 ffts -> 40k multipliers ---------|----> output data to host
^------re-calculate initial conditions----|
ข้อมูลจำเพาะ Datarate เอาท์พุท: "เร็วกว่าการจำลอง MATLAB"
การคำนวณที่ชาญฉลาดนี่คือที่ฉัน:
ขั้นตอน FFT:ง่าย ฉันสามารถใช้ 1/2/4/8 FFTs เก็บผลลัพธ์ใน SDRAM และเข้าถึงได้ในภายหลัง ค่อนข้างเล็กแม้ว่าจะใช้เวลานานก็โอเค ใช้ radix-2 lite ฉันได้รับ DSP48E 2 อันและ BRS / FFT 2 18k สตรีมมิ่งให้ 6 DSP48Es 0BRAMS / FFT ในทั้งสองกรณี 64 จุด FFT มีขนาดเล็กในข้อกำหนดทรัพยากร FPGA
ตัวคูณ : นี่คือปัญหาของฉัน อินพุตการคูณถูกนำมาจากตารางการค้นหาหรือข้อมูล FFT มันเป็นแค่การเพิ่มทวีคูณ มีไม่มากที่จะเพิ่มประสิทธิภาพ ไม่ใช่ตัวกรอง แต่มีลักษณะคล้ายกับตัวกรอง
เมื่อพิจารณาการใช้ทรัพยากรร่วมกันใน FPGA คณิตศาสตร์จะทำงานดังนี้: LUT-6 หนึ่งตัวสามารถใช้เป็น 4-way mux สูตรสำหรับ N-way, M bit mux มีดังนี้:
N*M/3 = number of luts, or N*M/12 = slices (4 LUTS/slice).
การบดตัวเลขสำหรับการนำไปใช้ของฉันไม่ได้ผลดี 90% ของตระกูล virtix-6 ไม่มีส่วนแบ่งเพียงพอที่จะแบ่งปันทรัพยากร DSP ของตนเพื่อดำเนินการ 40k