Verilog: FFT ที่มีความยาวการแปลงจุด 32K

author-image

โดย

ตัวอย่างนี้อธิบายถึง Fourier Transform (FFT) ที่รวดเร็ว 32K จุดโดยใช้คอร์ทรัพย์สินทางปัญญา (IP) Intel® FPGA FFT FFT เป็นอัลกอริธึม Fourier Transform (DFT) แบบแยกที่ลดจํานวนการประมวลผลที่จําเป็นจาก O(N2) เป็น O(NlogN) โดยการแยกไฟล์ DFT ของลําดับ x(n) ได้รับตามสมการต่อไปนี้:

Equation for the DFT of a sequence x(n)โดยที่ k = 0, 1, ... N-1 และ N คือความยาวการแปลง

ในตัวอย่างการออกแบบนี้ ความยาวการแปลง N คือ 32768 ด้วยวิธีการ decimation in time (DIT) การออกแบบจะแยกลําดับการป้อนข้อมูลออกเป็นคี่และแม้แต่ตัวอย่างที่ป้อนลงในบล็อก FFT 16K แต่ละบล็อกที่ใช้งานควบคู่กันโดยใช้คอร์ FFT Intel FPGA IP ผลลัพธ์จากคอร์ FFT Intel FPGA IP จะถูกรวมเข้าและจัดเรียงลําดับใหม่เพื่อให้ได้เอาต์พุต FFT สุดท้าย ซึ่งแสดงอยู่ในรูปภาพที่ 1 คล้ายกับคอร์ FFT Intel FPGA IP ตัวอย่างการออกแบบใช้อินพุตและเอาต์พุตที่ตรงตามมาตรฐาน Atlantic

ดาวน์โหลดไฟล์ที่ใช้ในตัวอย่างนี้:

การใช้การออกแบบนี้อยู่ภายใต้และอยู่ภายใต้ข้อกําหนดและเงื่อนไขของข้อตกลงสิทธิ์การใช้งานการออกแบบที่อ้างอิงฮาร์ดแวร์ของ Intel®

ไฟล์ในการดาวน์โหลด zip ประกอบด้วย:

  • fft_32K.v—ไฟล์การออกแบบระดับสูงสุดที่ใช้ FFT จุด 32K
  • parse_fft_input.v—จัดวางตัวอย่างอินพุตใหม่เป็นตัวอย่างที่คู่และคี่เพื่อป้อนลงในบล็อก FFT 16K-point ที่เล็กกว่าสองบล็อก
  • fft_small.v—ไฟล์ Wrapper ที่สร้างขึ้นโดยIntel FPGA IP FFT คอร์ได้รับการกําหนดค่าให้ปรับใช้ความยาวการแปลง 16K และใช้โครงสร้างการไหลของข้อมูล I/O สําหรับการสตรีม
  • combine_fft.v—รวมเอาต์พุตของบล็อก FFT 16K-point แต่ละบล็อกใหม่โดยใช้ปัจจัยด้านแบนด์วิดท์ที่เหมาะสม
  • fft_32K_streaming_tb.v—Testbench สําหรับการจําลอง RTL
  • fft_32K_streaming_vo_msim.tcl—สคริปต์ TCL เพื่อดําเนินการจําลอง RTL โดยอัตโนมัติในซอฟต์แวร์ ModelSim- Intel FPGA
  • fft_32K_tb.m-รุ่น MATLAB เพื่อตรวจสอบผลการจําลอง RTL

รูปภาพที่ 1 แสดงแผนผังระดับบนสุดของตัวอย่างการออกแบบ FFT จุด 32K

รูปภาพที่ 1 แผนผังระดับสูงสุดของการออกแบบ FFT จุด 32K

ตารางที่ 1 แสดงรายการพอร์ตและให้คําอธิบายสําหรับแต่ละพอร์ต

ลิงก์ที่เกี่ยวข้อง

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับคุณสมบัติที่เกี่ยวข้องที่ใช้ในตัวอย่างการออกแบบนี้ในโครงการของคุณ ไปที่:

เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้