The first 24 bits are written to the register, the highest 8 bits are the address bits, and the lower 16 bits are the register values. The right arrow indicates that after reading all the registers, the value read from the register is read. Register address 0x04, 0x05 value is not the same. I only do a simple sine wave output, no mixing, FIFO and PLL are not enabled. spi_wr_data[0] <= 24'h02F002;---->F002 spi_wr_data[1] <= 24'h02F002;---->F002 spi_wr_data[2] <= 24'h00041C;---->041C spi_wr_data[3] <= 24'h01050E;---->050E spi_wr_data[4] <= 24'h040000;---->BFFF------- spi_wr_data[5] <= 24'h1B0800;---->0800 spi_wr_data[6] <= 24'h07FFFF;---->FFFF spi_wr_data[7] <= 24'h0C0400;---->0400 spi_wr_data[8] <= 24'h0D0400;---->0400 spi_wr_data[9] <= 24'h0E0400;---->0400 spi_wr_data[10] <= 24'h0F0400;---->0400 spi_wr_data[11] <= 24'h140000;---->0000 spi_wr_data[12] <= 24'h150000;---->0000 spi_wr_data[13] <= 24'h160000;---->0000 spi_wr_data[14] <= 24'h170000;---->0000 spi_wr_data[15] <= 24'h18280F;---->280F spi_wr_data[16] <= 24'h190840;---->0840 spi_wr_data[17] <= 24'h1A0030;---->0030 spi_wr_data[18] <= 24'h1E1111;---->1111 spi_wr_data[19] <= 24'h1F1182;---->1182 spi_wr_data[20] <= 24'h202400;---->2400 spi_wr_data[21] <= 24'h221B1F;---->1B1F spi_wr_data[22] <= 24'h2307FF;---->07FF spi_wr_data[23] <= 24'h240000;---->0000 spi_wr_data[24] <= 24'h2D0004;---->0004 spi_wr_data[25] <= 24'h2E0000;---->0000 spi_wr_data[26] <= 24'h2F0000;---->0000 spi_wr_data[27] <= 24'h03F001;---->F001 spi_wr_data[28] <= 24'h03F001;---->F001 spi_wr_data[29] <= 24'h050000;---->3D78------ spi_wr_data[30] <= 24'h050000;---->