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'
쉽다. =).
'IT' 카테고리의 다른 글
[verilog] `timescale 1ns/10ps 의미 (0) | 2014.07.18 |
---|---|
IPv6 EUI-64bit address 생성하기 - IPv6 (0) | 2014.07.18 |
Nest Nurtures New IoT Protocol (0) | 2014.07.17 |
Xilinx ISE 에서 ngc 파일 사용하기 (0) | 2014.07.17 |
Xilinx NGC netlist file 변환 - Verilog top 파일 만들기 (0) | 2014.07.17 |