ปัญหาสำคัญ
การทดสอบคอร์สาธิต CPRI IP ไม่สามารถจําลองได้สําเร็จ ด้วยโปรแกรมจําลอง Cadence NCSIM
คุณสามารถแก้ไขปัญหานี้ได้สองทางเลือก
คุณสามารถจําลองการทดสอบการสาธิต CPRI ด้วย Mentor Graphics ModelSim simulator หรือการจําลอง Synopsys VCS MX
หรือคุณสามารถแก้ไขไฟล์ testbench เพื่อลบ การประกาศอาร์เรย์แบบไดนามิกของอาร์เรย์ว่างเปล่า การเปลี่ยนแปลงต่อไปนี้ ตรวจสอบให้แน่ใจว่าไฟล์แกน IP ของคุณเข้ากันได้กับ Cadence NCSIM จำลอง:
- เปลี่ยนไดเรกทอรีเป็น <instance>_testbench/altera_cpri/cpri_testbench/รุ่น/cpri_api
- เปิดไฟล์ aux_api.sv ในเครื่องมือแก้ไขข้อความ และแทนที่บรรทัดที่มีอยู่ต่อไปนี้ด้วยรหัสใหม่ต่อไปนี้:
- เปิดไฟล์ cpu_api.sv ในเครื่องมือแก้ไขข้อความ และแทนที่บรรทัดที่มีอยู่ต่อไปนี้ด้วยรหัสใหม่ต่อไปนี้:
- เปิดไฟล์ mii_api.sv ในเครื่องมือแก้ไขข้อความ และแทนที่บรรทัดที่มีอยู่ต่อไปนี้ด้วยรหัสใหม่ต่อไปนี้:
- เปลี่ยนไดเรกทอรีเป็น <instance>_testbench/altera_cpri/cpri_testbench
- เปิด ไฟล์ tb.sv ในโปรแกรมแก้ไขข้อความ และ เปลี่ยนรหัสที่มีอยู่ต่อไปนี้ด้วยรหัสต่อไปนี้อย่างมีเงื่อนไข รหัสใหม่:
แทนที่บรรทัดที่มีอยู่นี้:
initial ("../models/cpri_api/aux_data.txt",mem_aux);
ด้วยรหัสการเปลี่ยนใหม่นี้:
initial
begin
mem_aux = new[10]; // Use for checking purposes
("../models/cpri_api/aux_data.txt",mem_aux);
end
แทนที่บรรทัดที่มีอยู่นี้:
initial ("../models/cpri_api/hdlc_data.txt",mem_hdlc);
ด้วยรหัสการเปลี่ยนใหม่นี้:
initial
begin
mem_hdlc = new[10]; // Use for checking purposes
("../models/cpri_api/hdlc_data.txt",mem_hdlc);
end
แทนที่บรรทัดที่มีอยู่นี้:
initial ("../models/cpri_api/mii_data.txt",mem_mii);
ด้วยรหัสการเปลี่ยนใหม่นี้:
initial
begin
mem_hdlc = new[10]; // Use for checking purposes
("../models/cpri_api/mii_data.txt",mem_mii);
end
ลบรหัสที่มีอยู่นี้
initial ("../models/cpri_api/aux_data.txt",mem_aux);
initial ("../models/cpri_api/hdlc_data.txt",mem_hdlc);
initial ("../models/cpri_api/mii_data.txt",mem_mii);
และแทนที่ด้วยรหัสใหม่นี้ โดยขึ้นอยู่กับคุณสมบัติต่างๆ
initial
begin
mem_aux = new[10]; // AUX interface is available by
default
("../models/cpri_api/aux_data.txt",mem_aux);
// You need include the following two lines only if
the DUT includes an HDLC block and you are modifying the testbench
to program the DUT for HDLC communication:
mem_hdlc = new[10];
("../models/cpri_api/hdlc_data.txt",mem_hdlc);
// Include the following two lines only if the DUT
has an MI interface:
mem_mii = new[10];
("../models/cpri_api/mii_data.txt",mem_mii);
end
ปัญหานี้ได้รับการแก้ไขในเวอร์ชัน 14.0 ของฟังก์ชัน CPRI MegaCore