fpga_dev 11 October 24, 2025 Posted October 24, 2025 · Report post On 10/21/2025 at 1:39 PM, RobFPGA said: AXI interconnect не может выдать мастеру статус транзакции записи на b* шине до того как получит статус этой транзакции от slave. Вполне себе может. Курим https://documentation-service.arm.com/static/68b03beb01ae952d9559f9eb в частности раздел A4.2 Memory Attributes: Quote A4.2.1 Bufferable, AXCACHE[0] For write transactions: • If the Bufferable bit is deasserted and AWCACHE[3:2] are both deasserted, the write response indicates that the data has reached its final destination. • If the Bufferable bit is asserted, the write response can be sent from an intermediate point, when the observability requirements have been met. Дальше надо внимательно читать про observability. В теории для девайсов должно быть достаточно достаточно AWCACHE=0001, при этом критерий observability гарантирует что напр. запись в регистр и чтение из регистра будут в правильном порядке т.е. чтение вернет новое значение при условии что обе транзакции идут от одного и того же мастера к одному и тому же девайсу. Но в отличие от Device Memory нет гарантий что запись в регистр произойдет сразу же, в этом случае можно прочитать регистр после записи, чтобы быть уверенным что данные дошли до адресата. О том как AxCACHE соотносятся с аттрибутами регионов памяти в ARM и как их менять, это особая пестня, но по умолчанию для девайсов у вас будет Device Memory и AxCACHE=0000. И да, проверьте что у вас включен кеш. Возможно вам нужно добавить Xil_DCacheEnable() / Xil_ICacheEnable() в начале программы. Quote Share this post Link to post Share on other sites More sharing options...