Avalon Slave Transfer
以下文獻都出自於Altera官方網站文件Avalon 規格書。
1 Avalon-MM Slave read
如圖所示:
圖2.1 Avalon-MM Slave read
由上圖可知道,要完成的訊號有clk, address, byteenable, read, chipselect, readdata,又因為要chipselect為1的時候才能將值寫入到軟體層(通常指令都是IORD()),其他時候都不用去理它,因此我程式就寫:
if (avs_s1_address == 2'h0 && avs_s1_chipselect && avs_s1_read)上面意思:當NIOS 執行IORD指令且Address=0 時就做什麼事
Address傳進來,是為了加以區別不同的位置要做不同的事。
2 Avalon-MM Slave write
如圖所示:
圖2.2 Avalon-MM Slave write
由上圖可知道,要完成的訊號有clk, address, byteenable, write, chipselect, writedata,又因為要chipselect為1的時候才能讀從軟體層傳來的值(通常指令IOWR()),其他時候都不用去讀writedata,因此我程式就寫:
if (avs_s1_address == 2'h0 && avs_s1_chipselect && avs_s1_write)上面意思:當NIOS 執行IOWR指令且Address=0 時就做什麼事
Address傳進來,也是為了加以區別不同的位置要做不同的事。