Do có vấn đề với thiết kế mẫu mô tả phần cứng lõi DisplayPort IP (phiên bản 16.0 trở lên), có thể không thấy hình ảnh khi chập lõi DisplayPort IP được kết nối với Intel® GPU. Trong khi các giá trị RX và TX MSA có thể trông chính xác, không có hình ảnh nào sẽ hiển thị trên màn hình. Điều này là do không phù hợp giữa các chế độ xung do Intel GPU sử dụng và nguồn lõi DisplayPort IP. Intel GPU sử dụng xung đồng bộ, trong khi nguồn lõi DisplayPort IP sử dụng xung không đồng bộ. Điều này gây ra hai vấn đề với thiết kế ví dụ mô tả phần cứng.
Đầu tiên, thiết kế mẫu mô tả phần cứng sử dụng giá trị NVID cố định cho mô-đun phục hồi xung hồ pixel (PCR). Cài đặt này dành cho các GPU sử dụng tốc độ không đồng bộ và sẽ không hoạt động với Intel GPU.
Thứ hai, do chế độ ép xung, Intel GPU đặt bit 0 của thanh ghi RX MSA MISC0 thành 1, trong khi nguồn lõi DisplayPort IP đặt bit 0 của thanh ghi TX MSA MISC0 thành 0. Trong khi thông số kỹ thuật của các bit này khác nhau, phần mềm Nios® II (đặc biệt là mã chuyển qua EDID) mong đợi RX MSA MISC0 khớp chính xác với TX MSA MISC0 và vô hiệu hóa nguồn lõi DisplayPort IP nếu có sự không phù hợp.
Đầu tiên, sửa đổi tệp Verilog cấp cao nhất để tắt bằng cách sử dụng giá trị NVID cố định cho mô-đun PCR. Trong thư mục dự án chính, sửa đổi tệp a10_dp_demo.v để thay đổi một dòng,
Từ:
defparam bitec_clkrec_i.FIXED_NVID = 1;
Để:
defparam bitec_clkrec_i.FIXED_NVID = 0;
Thứ hai, sửa Nios II mềm quản lý để bỏ qua bit 0 khi so sánh thanh ghi RX MSA MISC0 và TX MSA MISC0. Trong thư mục dự án chính, sửa đổi tệp main.c để thay đổi hai dòng,
Từ:
rx_misc0 = IORD(btc_dprx_baseaddr(0), DPRX0_REG_MSA_MISC0) & 0xFFFF;
tx_misc0 = IORD(btc_dptx_baseaddr(), DPTX0_REG_MSA_MISC0) & 0xFFFF;
Để:
rx_misc0 = IORD(btc_dprx_baseaddr(0), DPRX0_REG_MSA_MISC0) & 0xFFFE;
tx_misc0 = IORD(btc_dptx_baseaddr(), DPTX0_REG_MSA_MISC0) & 0xFFFE;
Sau khi thực hiện những sửa đổi này, chạy kịch bản build_sw.sh để xây dựng lại dự án phần mềm, sau đó biên dịch lại dự án trong phần mềm Quartus® Prime. Hoặc bằng cách khác, bạn có thể chạy lại lệnh runall.tcl, nó sẽ thực hiện cả hai bước này cho bạn.
Cả hai vấn đề này đều đã được khắc phục trong thiết kế mẫu mô tả phần cứng Quartus Prime v16.1 DisplayPort.