ID Artikel: 000080660 Jenis Konten: Pemecahan Masalah Terakhir Ditinjau: 07/10/2016

Mengapa desain contoh demo perangkat keras inti DisplayPort IP gagal menampilkan gambar ketika wastafel inti IP DisplayPort terhubung ke GPU Intel®?

Lingkungan

  • Intel® Quartus® Prime Edisi Pro
  • Prosesor Intel® Nios® II
  • DisplayPort* Intel® FPGA IP
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Deskripsi

    Karena masalah dengan desain contoh demo inti IP DisplayPort (versi 16.0 dan sebelumnya), gambar mungkin tidak terlihat ketika wastafel inti IP DisplayPort terhubung ke GPU Intel®. Meskipun nilai MSA RX dan TX mungkin terlihat benar, tidak ada gambar yang akan ditampilkan pada monitor. Hal ini disebabkan oleh ketidaksesuaian antara mode clocking yang digunakan oleh GPU Intel dan sumber inti IP DisplayPort. GPU Intel menggunakan clocking sinkron, sementara sumber inti IP DisplayPort menggunakan clocking asinkron. Hal ini menyebabkan dua masalah dengan desain contoh demo perangkat keras.

    Pertama, desain contoh demo perangkat keras menggunakan nilai NVID tetap untuk modul pixel clock recovery (PCR). Pengaturan ini ditujukan untuk GPU yang menggunakan clocking asynchronous, dan tidak akan berfungsi dengan GPU Intel.

    Kedua, karena mode clocking mereka, GPU Intel mengatur bit 0 dari register RX MSA MISC0 ke 1, sementara sumber inti IP DisplayPort menetapkan bit 0 dari register TX MSA MISC0 ke 0. Meskipun spesifikasinya berbeda, perangkat lunak Nios® II (khususnya EDID pass through code) mengharapkan RX MSA MISC0 persis sama dengan TX MSA MISC0, dan menonaktifkan sumber inti IP DisplayPort jika ada ketidaksesuaian.

    Resolusi

    Pertama, modifikasi berkas Verilog tingkat atas untuk dinonaktifkan menggunakan nilai NVID tetap untuk modul PCR. Dalam direktori proyek utama, modifikasi berkas a10_dp_demo.v untuk mengubah satu baris,

    Dari:

    defparam bitec_clkrec_i.FIXED_NVID = 1;

    Untuk:

    defparam bitec_clkrec_i.FIXED_NVID = 0;

    Kedua, modifikasi perangkat lunak Nios II untuk mengabaikan bit 0 saat membandingkan register RX MSA MISC0 dan TX MSA MISC0. Dalam direktori proyek utama, modifikasi file main.c untuk mengubah dua baris,

    Dari:

    rx_misc0 = IORD(btc_dprx_baseaddr(0), DPRX0_REG_MSA_MISC0) & 0xFFF F;

    tx_misc0 = IORD(btc_dptx_baseaddr(), DPTX0_REG_MSA_MISC0) &0xFFF F;

    Untuk:

    rx_misc0 = IORD(btc_dprx_baseaddr(0), DPRX0_REG_MSA_MISC0) & 0xFFF E;

    tx_misc0 = IORD(btc_dptx_baseaddr(), DPTX0_REG_MSA_MISC0) & 0xFFF E;

    Setelah membuat modifikasi ini, jalankan skrip build_sw.sh untuk membangun kembali proyek perangkat lunak, kemudian rekompilasi ulang proyek di perangkat lunak Quartus® Prime. Secara bergantian, Anda dapat menjalankan kembali skrip runall.tcl, yang akan melakukan kedua langkah ini untuk Anda.

    Kedua masalah ini telah diperbaiki dalam desain contoh demo perangkat keras Quartus Prime v16.1 DisplayPort.

    Produk Terkait

    Artikel ini berlaku untuk 4 produk

    Intel® Arria® 10 FPGA dan SoC FPGA
    Arria® V FPGA dan SoC FPGA
    Cyclone® V FPGA dan SoC FPGA
    Stratix® V FPGA

    Isi halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten berbahasa Inggris. Konten ini diberikan hanya untuk kenyamanan Anda serta sebagai informasi umum dan tidak bisa dianggap sebagai lengkap atau akurat. Jika terdapat kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris akan didahulukan. Lihat versi bahasa Inggris halaman ini.