ID bài viết: 000080660 Loại nội dung: Xử lý sự cố Lần duyệt cuối: 07/10/2016

Tại sao thiết kế mẫu mô tả phần cứng lõi DisplayPort IP không hiển thị hình ảnh khi chậu lõi DisplayPort IP được kết nối với Intel® GPU?

Môi Trường

  • Intel® Quartus® Prime Phiên bản Pro
  • Bộ xử lý Intel® Nios® II
  • IP FPGA Intel® DisplayPort*
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Mô tả

    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.

    Độ phân giải

    Đầ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.

    Các sản phẩm liên quan

    Bài viết này áp dụng cho 4 sản phẩm

    FPGA Intel® Arria® 10 và FPGA SoC
    FPGA Arria® V và FPGA SoC
    FPGA Cyclone® V và FPGA SoC
    FPGA Stratix® V

    Nội dung gốc bằng tiếng Anh trên trang này vừa do con người vừa do máy dịch. Nội dung này chỉ để cung cấp thông tin chung và giúp quý vị thuận tiện. Quý vị không nên tin đây là thông tin hoàn chỉnh hoặc chính xác. Nếu có bất kỳ mâu thuẫn nào giữa bản tiếng Anh và bản dịch của trang này, thì bản tiếng Anh sẽ chi phối và kiểm soát. Xem phiên bản tiếng Anh của trang này.