AMBA bus를 사용하는 경우, 바이트별 접근을 위해 판단하는 시그널 생성 코드
(참고용, 책임 못짐 ^^)
// Generate byte access from AHB bus
assign byte0_access = (HSIZE[1] | ((HADDR[1]==1'b0) & HSIZE[0]) | (HADDR[1:0]==2'b00));
assign byte1_access = (HSIZE[1] | ((HADDR[1]==1'b0) & HSIZE[0]) | (HADDR[1:0]==2'b01));
assign byte2_access = (HSIZE[1] | ((HADDR[1]==1'b1) & HSIZE[0]) | (HADDR[1:0]==2'b10));
assign byte3_access = (HSIZE[1] | ((HADDR[1]==1'b1) & HSIZE[0]) | (HADDR[1:0]==2'b11));
설명을 하면 쉽지.
HSIZE[1] = '1'인 경우라면 32비트 access 이니 전부 '1'
HSIZE[1] = '0', HSIZE[0] = '1' 인 경우라면 16비트, 따라서 HADDR[1]을 보고 상위16, 하위 16비트씩 '1'
나머지의 경우, 바이트 접근이니 HADDR[1:0] 를 보고 각 바이트별 '1'
쉽다. =).