UNIPHY IP không hoàn thành hiệu chỉnh sau khi tái xác định và global_reset_n tín hiệu soft_reset_n thấp cho IP UniPHY. Bộ công cụ gỡ lỗi EMIF không thể kết nối với giao diện đó (dự án liên kết với thiết bị). Điều kiện này không thay đổi ngay cả khi nhiều thiết lập lại được phát hành sau này. Điều kiện này có thể được phục hồi chỉ bằng cách định cấu hình lại thiết bị.
Những biểu hiện này có thể là do cấu trúc đặt lại bên trong của IP EMIF UniPHY. Một quyết định đặt lại không đồng bộ với logic điều khiển bus địa chỉ của RAM M20K có thể gây ra sự lan truyền logic không đồng bộ. Điều này có thể ảnh hưởng đến chức năng của bộ giải mã hàng địa chỉ/cột M20K, mở nhiều hơn một dòng từ có thể dẫn đến việc chia sẻ phí giữa các ô bit, làm hỏng nội dung của M20K. Lưu ý rằng khả năng xảy ra lỗi M20K do tái xác nhận đặt lại không đồng bộ là rất thấp.
Đặt lại PLL trong quá trình hoạt động đọc hoặc ghi M20k cũng có thể góp phần dẫn đến hỏng RAM/ROM nhúng vì mất khóa PLL có thể dẫn đến trục trặc đồng hồ trong khi đặt lại và điều này có thể ảnh hưởng đến chức năng của bộ giải mã hàng/cột địa chỉ M20K.
Lỗi này ảnh hưởng đến IP UniPHY vì nó chứa bộ xử lý Nios ® II được sử dụng để hiệu chỉnh và mã chương trình của bộ xử lý được lưu trữ trong RAM M20K. Nếu sự cố xảy ra trong bộ nhớ chương trình Nios ® II, điều này có thể khiến bộ tuần tự Nios ® II khóa, dẫn đến hiệu chỉnh không đầy đủ. Phục hồi từ tình huống này chỉ có thể bằng cách lập trình lại thiết bị, vì nội dung M20K chỉ được tải trong quá trình lập trình thiết bị.
Điều quan trọng cần lưu ý là các lỗi EMIF phổ biến được liệt kê bên dưới không nhất thiết có nghĩa là RAM M20K bị hỏng hoặc bộ tuần tự Nios ® II bị khóa
- Nếu hiệu chuẩn không bao giờ thay đổi (ví dụ như hiệu chuẩn luôn thất bại).
- Nếu biên hiệu chỉnh rất mỏng và đôi khi không hiệu chuẩn được.
- Nếu thiết kế được thông qua hiệu chỉnh, và lỗi dữ liệu đôi khi được quan sát thấy trong khi chạy thiết kế.
- Nếu thiết kế nói rằng nó đã được hiệu chỉnh, nhưng thiết kế không hoạt động như mong đợi.
Lõi UniPHY IP có hai đầu vào đặt lại
Global_reset_n: được kết nối với mọi thứ trong IP UniPHY bao gồm PLL.
Soft_reset_n: được kết nối với mọi thứ trong IP UniPHY trừ PLL.
1. Altera khuyến nghị mạnh mẽ chỉ sử dụng soft_reset_n vào mọi thời điểm. Chỉ sử global_reset_n năng lượng khi đặt lại.
Để đặt lại PLL trong khi Bật nguồn, Sử dụng trình tự sau
A. Xác nhận Global_reset_n (đặt lại PLL )
B. Tăng nguồn và cấu hình lại chip
c. Hủy hủy Global_reset_n
2. Việc sửa chữa làm thay đổi bộ điều khiển đặt lại bên trong và cấu trúc đặt lại của lõi UNIPHY IP để sử dụng các thiết lập lại đồng bộ, cũng như tháo trước cổng clock_enable M20K trong điều kiện đặt lại. Điều này ngăn mọi quá trình chuyển đổi di chuyển được truyền sang bộ giải mã địa chỉ M20K.
Sự sửa chữa này sẽ được cung cấp như một phần của 13.0dp1, 13.0sp1 và tất cả các phiên bản tiếp theo của Quartus. Người dùng sẽ cần hồi quy IP UnipHY và biên dịch lại thiết kế. Altera khuyến nghị bạn nên chuyển sang một trong những phiên bản Quartus này.
Nếu cần sửa chữa khẩn cấp hơn hoặc cần sửa chữa cho Quartus phiên bản 12.1sp1, lõi UniPHY có thể được cập nhật thủ công. Các thủ tục sau đây phải được tuân theo:
Xác định vị trí các tệp nguồn cho Altera IP UniPHY trong thiết kế của bạn.
Có 5 tệp cần được sửa đổi.
altera_reset_synchronizer.v
altera_reset_controller.v
altera_mem_if_sequencer_mem_no_ifdef_params.sv
_if0_p0_reset.v
_if0_s0.v
Bước
1. Tải xuống altera-reset-synchronizer.v từ liên kết sau và đặt trong cùng thư mục với các tệp nguồn UniPHY IP: Altera_reset_synchronizer.v
2. Tải xuống altera-reset-controller.v từ liên kết sau và đặt trong cùng thư mục với các tệp nguồn UniPHY IP: Altera_reset_controller.v
3. Trong altera_mem_if_sequencer_mem_no_ifdef_params.sv' – Đảm bảo rằng đầu vào 's1_clken' kết nối với đầu vào 'clocken0' của 'trình điều khiển the_altsyncram'
4. Ví dụ_if0_p0_reset.v – sửa đổi các báo cáo phân mảnh cho các phiên bản "dut_if0_p0_reset_sync" để các tham số "RESET_SYNC_STAGES" và "NUM_RESET_OUTPUT" được đặt theo tệp mẫu đính kèm (dut_if0_p0_reset.v). (Không tải xuống tệp mẫu trong thư mục tệp nguồn UniPHY IP)
dut-if0-p0-reset.v (tệp mẫu cho
5. Trong môi _if0_s0.v
(Không tải xuống tệp mẫu dut_if0_s0.v trong thư mục tệp nguồn UNIPHY IP)
dut-if0-s0.v (tệp mẫu cho _if0_s0.v)
– Thêm cổng sau lên cấp cao nhất:
thiết bị early_rst_controller_reset_out_reset dây;
- Chuyển cổng đầu ra "m20k_gate" trên mô-đun "rst_controller" với đầu vào 's1_clken' của mô-đun 'sequencer_mem'. Vì đầu ra M20k_gate hoạt động thấp, bạn cần đảo ngược đầu ra như sau:
.s1_clken (~early_rst_controller_reset_out_reset), // trên sequencer_mem, dòng 785 của tệp mẫu đính kèm (dut_if0_s0.v)
.m20k_gate (early_rst_controller_reset_out_reset), // trên rst_controller, dòng 2572 của tệp mẫu đính kèm
6. Sau khi những thay đổi này được thực hiện, thiết kế của bạn sẽ cần được biên dịch lại.