Hi Dear Authorized,
I am curious about the specifying ADDR register for multiple transfer. I am using SEMC interface between FPGA-IMXRT1064. I will realize multiple transactions over different AXIs. Therefore I will use 3 different base address at the same time. Therefore I want to configure to start ADDR register from specific initial value.
Normally, it always start from 0x0000 due to the pointer arithmatic while I transmitting data to the FPGA even if I configure my base address of SEMC as 0x90000010. It is always acquainted in the FPGA side in the increment order as 0x0000-0x0001-0x0002-0x0003......
I want to start it from 0x0010 for AXI1,
I want to start it from 0x0050 for AXI2,
I want to start it from 0x0090 for AXI3,
In this way I want to realize three different transmit operation over the SEMC address space to the different AXI over FPGA.
But I don't find a configuration specs for starting ADDR register from specific value in a way that FPGA catch it value and handle it. How can I ensure this mechanism? Is it possible or ADDR register is always increase automatically?
In a summary, the ADDR register in SEMC (Static Memory Controller) typically increments automatically based on the memory access pattern in incremental order. Is there a way to configure SEMC-ADDR to start from a specific value for each AXI interface?
Thanks and Regards.
Hi Dear @Bio_TICFSL ,
Could you please help me?
The critical point is that ADDR is always start from 0x0000 and it is increasing in incremental order. 0x0000, 0x0001, 0x0002, 0x0003 and 0x000n where the "n" is read request length(datalen).
I want to learn if the ADDR (Address) register associated with the SEMC interface is always starting from 0x0000 regardless of how you set your pointer arithmetic and it is controlled by SEMC controller in the hardware side in a way that incrementing the address automatically based on its own memory access pattern. Or I want to learn if it is possible.
How can I set ADDR to start from specific address value like 0xFFA2. Is it possible to achieve?
Thanks and Regards.
Hello,
You can refer to the following topics:
https://community.nxp.com/t5/i-MX-RT/SEMC-Initialization-for-IMXRT/m-p/983845#M5385
Hi Dear @Bio_TICFSL ,
I refer to the sources which you publish. These sources aims to init SEMC Config. I want to be more clear. My main need is to be able to start ADDR register with specific start point.
I want to learn whether it is possible or not?
Whatever the base address is setted, ADDR register is always starting from 0x0000. Then, it increasing one by one. I think it can only be configured by hardware level in SEMC mechanism? Could you please validate me?
I don't mean writing data to the specific SRAM/SDRAM. I am using SEMC interface just as a connection between FPGA and IMXRT1064 through SRAM pin connections. I don't think it is possible to setting specific ADDR value for FPGA. I think ADDR value is increasing as I increase the pointer arithmetic in code.
Thanks and Regards.