ID bài viết: 000076355 Loại nội dung: Xử lý sự cố Lần duyệt cuối: 24/05/2017

Tại sao tôi có thể port_ok rapidIO mà không hiển thị tín hiệu trạng thái sau khi khởi tạo lại liên kết?

Môi Trường

  • Intel® Quartus® Prime Phiên bản Pro
  • IP FPGA Intel® RapidIO (IDLE1 lên đến 5.0 Gbaud)
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT

    Sự cố quan trọng

    Mô tả

    port_ok trạng thái trong bit-0, Lỗi và Trạng thái Cổng 0 (0x158) có thể ở mức THẤP sau khi khởi tạo lại liên kết. Khởi tạo lại liên kết được thực hiện bằng cách kích hoạt bit-23 PORT_DIS trong Port 0 Control CSR (0x15C) hoặc khi đối tác liên kết đang thực hiện đặt lại. Điều này có thể gây ra lỗi chết người trong quá trình hoạt động bình thường,

    Sự cố này xảy ra do các lý do sau:

    • Lõi RapidIO có thể hết thiết lập lại trước khi bộ thu phát hết cài đặt lại. Điều này khiến lõi RapidIO bắt đầu hoạt động trong khi bộ thu phát vẫn đang được đặt lại.
    • Quy trình căn chỉnh lại từ bị giới hạn ở làn 0 và sẽ chỉ kích hoạt một lần trong quá trình khởi tạo lại liên kết.

    Vấn đề này ảnh hưởng đến các biến thể RapidIO I sau:

    • Arria® V/Cyclone® V với chế độ x2.
    • Arria V/Cyclone V ở tốc độ baud 5000 Mbaud.
    • Arria V với chế độ x4 ở tốc độ baud 3125 Mbaud.
    Độ phân giải

    Để đảm bảo rằng bộ thu phát đã hết thời gian đặt lại và sẵn sàng bắt đầu bất kỳ hoạt động nào trước lõi RapidIO, hãy đặt lại lõi RapidIO đủ điều kiện với các tín hiệu trạng thái sẵn sàng của bộ thu phát trong trình điều khiển _riophy_reset:

    TX_SIDE

     

    luôn @(tạo dáng tx_clk phủ định reset_n)

    Bắt đầu

    nếu (!reset_n) bắt đầu

    tx_ready_s0 <= 1'b0;

    tx_ready_s1 <= 1'b0;

     

    đầu còn lại bắt đầu

    tx_ready_s0 <= tx_ready;

    tx_ready_s1 <= tx_ready_s0;

     

    Cuối

     

    Cuối

     

    luôn @ (đặt tx_clk phủ định hoặc phủ reset_n) bắt đầu

    if(!reset_n)bắt đầu

    txreset_n_p2 <= 1'b0;

    txreset_n_p1 <= 1'b0;

    txreset_n <= 1'b0;

    đầu còn lại bắt đầu

    nếu (!gxbpll_locked_tx_clk_d2 ||!tx_ready_s1) bắt đầu

    txreset_n_p2 <= 1'b0;

    txreset_n_p1 <= 1'b0;

    txreset_n <= 1'b0;

    đầu còn lại bắt đầu

    txreset_n_p2 <= 1'b1;

    txreset_n_p1 <= txreset_n_p2;

    txreset_n <= txreset_n_p1;

    Cuối

    Cuối

    Cuối

     

    RX_SIDE

     

    always @(posedge rx_clk negedge reset_n)

    Bắt đầu

    nếu (!reset_n) bắt đầu

    rx_ready_s0 <= 1'b0;

    rx_ready_s1 <= 1'b0;

     

    đầu còn lại bắt đầu

    rx_ready_s0 <= rx_ready;

    rx_ready_s1 <= rx_ready_s0;

     

    Cuối

    Cuối

     

    luôn @ (đặt rx_clk phủ định hoặc phủ reset_n) bắt đầu

    if(!reset_n)bắt đầu

    rxreset_n_p2 <= 1'b0;

    rxreset_n_p1 <= 1'b0;

    rxreset_n <= 1'b0;

    đầu còn lại bắt đầu

    nếu (!rx_ready_s1) bắt đầu

    rxreset_n_p2<=1'b0;

    rxreset_n_p1<=1'b0;

    rxreset_n<=1'b0;

     

    đầu còn lại bắt đầu

    rxreset_n_p2 <= 1'b1;

    rxreset_n_p1 <= rxreset_n_p2;

    rxreset_n <= rxreset_n_p1;

     

    Cuối

    Cuối

    Cuối

     

    Để kích hoạt quá trình căn chỉnh lại từ theo cách thủ công, thực hiện các bước sau thông qua giao diện bộ thu phát Avalon-MM phy_mgmt của bộ thu phát:

    (1) Hiển thị phy_mgmt_write=1'b1 để xác định thao tác ghi.

    (2) Ghi dữ liệu phy_mgmt_writedata=32'b0 vào địa chỉ phy_mgmt_address=9'h80 để nhắm mục tiêu làn 0.

    (3) Ghi dữ liệu phy_mgmt_writedata=32'b1 vào địa chỉ phy_mgmt_address=9'h85 để quyết định rx_enapatternalign điều này sẽ kích hoạt hoạt động căn chỉnh từ cho làn 0.

    (4) Ghi dữ liệu phy_mgmt_writedata=32'b0 vào địa chỉ phy_mgmt_address=9'h85 để rx_enapatternalign.

    Lặp lại các bước trên cho tất cả các làn khác: làn 1 (0x80=32'b1), làn 2 (0x80=32'b2) và làn 3 (0x80=32'b3).

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

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

    FPGA Arria® V và FPGA SoC
    FPGA Cyclone® V và FPGA SoC

    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.