Efektywną metodą debugowania jest odczytywanie lub zapisywanie Intel® Arria® 10 wartości rejestru IP PCI Express*. Postępuj zgodnie z instrukcjami podanymi poniżej, aby odczytać lub zapisać wartości rejestru w komponentach IP Intel® Arria® 10 PCI Express. W pierwszej części pokazano, jak włączyć nadrzędny punkt końcowy Altera debugowania (ADME) na natywnego interfejsu PHY nadajnika-odbiornika Arria 10, Intel Arria 10 rdzenia IP PLL ATX nadajnika-odbiornika atx oraz rdzeń IP fPLL nadajnika-odbiornika Intel Arria 10. W drugiej części pokazano działania dotyczące sposobu odczytu i zapisu wartości rejestru za pomocą konsoli systemowej Intel® Quartus® Prime Pro Edition.
Włączenie funkcji ADME.
Natywny interfejs PHY nadajnika-odbiornika Arria 10
1. Włącz ADME w edytorze parametrów PCI Express IP (zakładka Konfiguracja, debugowanie i opcje rozszerzeń)
2. Generuj HDL (w Intel Quartus Prime Pro Edition Platform Designer, kliknij "Generuj --> Generuj HDL...")
Rdzeń IP PLL Arria 10 ATX (tylko w trybie Arria 10 PCI Express IP trzeciej generacji)
3. Przejdź do katalogu zawierającego wygenerowane przez Platform Designer pliki projektowe PCI Express (np. \altera_pcie_a10_hip_171\synth)
4. Otwórz plik "lcpll_g3xn.v" w edytorze tekstu
5. Ustawić następujące parametry poniżej w informacji atx/LC PLL (altera_xcvr_atx_pll_a10)
.rcfg_jtag_enable (1),
.dbg_embedded_debug_enable (1),
.dbg_capability_reg_enable (1),
.dbg_stat_soft_logic_enable (1),
.dbg_ctrl_soft_logic_enable (1),
6. Podłącz zegar rekonfiguracji i zresetuj go, aby utworzyć inoważsję
.reconfig_clk1 (reconfig_clk0),
.reconfig_reset1 (reconfig_reset0),
7. Zapisz i zamknij plik "lcpll_g3xn.v".
Rdzeń IP Arria 10 fPLL
8. Otwórz plik "fpll_g3.v" w edytorze tekstu
9. Ułóż następujące parametry w instatyzacji fPLL (altera_xcvr_fpll_a10)
.rcfg_jtag_enable (1),
.dbg_embedded_debug_enable (1),
.dbg_capability_reg_enable (1),
.dbg_stat_soft_logic_enable (1),
.dbg_ctrl_soft_logic_enable (1),
10. Podłącz zegar rekonfiguracji i zresetuj go, aby utworzyć in instantiation
.reconfig_clk1 (reconfig_clk0),
.reconfig_reset1 (reconfig_reset0),
11. Zapisz i zamknij plik "fpll_g3.v".
12. Rozpocznij kompilację Quartus
13. Pobierz SOF
Zarejestruj operację odczytu i zapisu za pomocą konsoli systemowej.
1. Rozpocznij zestaw narzędzi do nadajników-odbiorników Quartus i projekt obciążenia
2. Sprawdź podłączone podrzędne
% get_service_paths elementu podrzędnego (lista wszystkich elementów podrzędnych, w tym XCVR, ATX PLL i fPLL)
3. Sprawdź informacje IP dla każdego indeksu podrzędnego i zanotuj IP powiązany z indeksem
% marker_get_info [lindex [get_service_paths slave] 0]
% marker_get_info [lindex [get_service_paths podrzędny] 1]
% marker_get_info [lindex [get_service_paths slave] 2]
% marker_get_info [lindex [get_service_paths podrzędny] 3]
4. Odczyt z/zapisu do rejestrów XCVR lub PLL. Podczas pisania nie rób zapisu read-modify-write. (np. ATX PLL m_counter)
% set s [lindex [get_service_paths slave] 3] # indeks 3 to ATX PLL
$s podrzędne % open_service
Zestaw % base_addr 0x0000 # używany do uzyskiwania dostępu do kanałów nadawczo-odbiorczych
% set ret [master_read_8 $s [expr $base_addr 0x109*4] 1] # odczyt 0x109 adresu PLL ATX (m_counter)
Zestaw % ret [expr $ret & ~0xf0 | (0x1 <<7)] #clear bit[7:4] i ustawiony bit[7] na 1
% master_write_8 $s [expr $base_addr 0x109*4] $ret # zmodyfikowana wartość zapisu
% set ret [master_read_8 $s [expr $base_addr 0x109*4] 1] # weryfikacja przez odczycie z powrotem
Pełne adresy i wartości rejestru można znaleźć w Intel Arria mapie rejestru nadajników-odbiorników 10.