Altera_Forum
Honored Contributor
16 years agoHow the avalon mm slave "address alignment" works?
Hi everyone
I use avalon mm slave port with conduit to interface a 16bits peripheral, but everytime when i READ the peripgheral, the data readback can not in correct address when inspected in NIOS-IDE. for condition is : the peripheral address start from 0x0000(in byte), and have 4 date(16bits) to be read, the data and address offset in the peripheral is: addr.offset-> data 0x0000 0x0011 0x0002 0x0000 0x0004 0x0808 0x0006 0x080f but when i inspected in the IDE, the read back data with the address is: (the port baseaddress is start at 0x6000 and i use 3 address line here) addr-> data 0x6000 ???? 0x6002 0x1100 0x6004 ???? 0x6006 0x0000 0x6008 ???? 0x600a 0x0808 0x600c ???? 0x600e 0x080f (???? is un-correct data and not stable) in the avalon port definition, i made: 1-read_n 16-readdata 1-CSn 3-address and correspondly signal with a conduit interface to the peripharl. the address to the peripheral is: ADR0--not connected and set to 0 at the peripheral side! ADR1--peripheral adr1 ADR2--peripheral adr2 the peripheral has a BHn signal for High 8bit enable, and when BHn=0 with the addressline0=0 at same time, it can give 16bit out put at byte address N and N+1 at its 16bits datalines. is there anyone can tell me what is the problem?? or tell me what is the data appear in the avalon mm slave address lines when read.