เนื่องจากปัญหาเกี่ยวกับการฟอร์แมตข้อมูลอินพุตและข้อมูลพารามิเตอร์และข้อมูลเอาต์พุตตัวเข้ารหัสเมื่อใช้ 5G Polar FPGA IP เวอร์ชั่น 2.0.0 คุณจะสังเกตเห็นว่าเอาต์พุต 5G Polar FPGA IP ไม่ตรงกันระหว่างโมเดล MATLAB* และ RTL
เพื่อหลีกเลี่ยงปัญหานี้ โปรดทําตามขั้นตอนด้านล่าง
- เริ่มต้นด้วยการใช้ตัวอย่าง Matlab* จากคู่มือผู้ใช้ polar5g_codec_tb(4,2,4,1) เพื่อรัน Matlab*
- Matlab* สร้างไฟล์ polar5g_enc_in.txt, polar5g_enc_out.txt และ polar5g_codec_param.txt ในไดเรกทอรีตัวอย่าง <Design>/Matlab/ โฟลเดอร์
- ปรับเปลี่ยนไฟล์ทั้ง 3 เหล่านี้โดยเพิ่ม 0 ในแถวแรกของแต่ละไฟล์ตามที่แสดงด้านล่าง
เช่น:
ด้านล่างนี้คือ polar5g_enc_in.txt ที่สร้าง
1 1 1 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0
1 0 0 1 1 1 1 1 1 0 1 0
polar5g_enc_in.txt ที่ปรับเปลี่ยน
0
1 1 1 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0
1 0 0 1 1 1 1 1 1 0 1 0
- คัดลอกและวางไฟล์ 3 ที่แก้ไขลงในโฟลเดอร์ตัวอย่าง<ออกแบบ>/test_data
- การจําลองเริ่มต้นจะรัน 300 เฟรม ดังนั้น frm_lmt ปรับเปลี่ยนตัวแปรใน polar5g_enc_tb.sv เป็น 1 เฟรมจากโฟลเดอร์ <Design Example Directory>/src
- รันการจําลอง RTL
- ตอนนี้เอาต์พุตตัวเข้ารหัส Matlab* ตรงกับเอาต์พุต RTL
#NOTE: การจําลองรายงานความล้มเหลวจาก 0 ตําแหน่งในแถวแรกของไฟล์แต่ละไฟล์ไม่ตรงกับตําแหน่งที่ใช้โดย MATLAB* รูปแบบ 64 บิตที่ตามมาเหมือนกัน ซึ่งสามารถตรวจสอบในไฟล์ polar5g_enc_out.txt ได้ด้วยตนเอง
ปัญหานี้ได้รับการแก้ไขด้วยเวอร์ชัน 24.1 ของ 5G Polar FPGA IP