Здравствуйте. Использую PCIe Hard IP на Cyclone 5 GX. Понадобилось изменить read-only значения в конфигурационном пространстве корки. Документация говорит следующее: "The Cyclone V Hard IP for PCI Express reconfiguration block allows you to dynamically change the value of configuration registers that are read-only ... You must enable this optional functionality by turning on Enable Hard IP Reconfiguration in the parameter editor". Активировал его, появились сигналы вида hip_reconfig... + ser_shift_load + interface_sel. Даже приведена времянка как подавать сигналы, чтобы все было ок. Делаю все в точности как на времянке. Значения читаются-пишутся. То есть я записал, потом прочитал и вижу что читается то, что записывал. Довольно странно, что в документации нет таблицы с адресами регистров, к которым получаешь доступ выставляя адрес на hip_reconfig_address[9:0]. Опытным путем установил что адрес 0x8 это VendorID, 0x9 это DeviceID, 0xA это RevisionID. Мне вот нужен RevisionID. Пишу по этому адресу нужное мне значение, проверяю что записалось. Перезагружаю комп, читаю конфигурацию со стороны PCIe - а значение не изменилось.
В связи с этим вопрос. Кто-нибудь делал такое ? У Вас получилось ? Что я сделал не так ?
Делал подобное на Cyclone 4GX и все получилось. Там немного по-другому, хотя похоже. И даже в документации есть табличка с адресами регистров. Там еще есть адрес 0, по которому надо записать 0, чтобы разрешить эту Dynamic Reconfiguration
|