Direct Memory Access Controller (DMAC) with AHB-lite bus interface.

| Port name |
Direction |
Type |
Description |
| HCLK |
input |
|
System Clock |
| HRESETn |
input |
|
System Reset |
| IRQ |
output |
wire |
IRQ line to the CPU |
| PIRQ |
intput |
wire |
IRQ lines from peripherals requesting data transfer |
| HSEL |
input |
wire |
Slave Port HSEL |
| HADDR |
input |
wire [31:0] |
Slave Port HADDR |
| HTRANS |
input |
wire [1:0] |
Slave Port HTRANS |
| HWRITE |
input |
wire |
Slave Port HWRITE |
| HREADY |
input |
wire |
Slave Port HREADY |
| HWDATA |
input |
wire [31:0] |
Slave Port HWDATA |
| HSIZE |
input |
wire [2:0] |
Slave Port HSIZE |
| HREADYOUT |
output |
wire |
Slave Port HREADYOUT |
| HRDATA |
output |
wire [31:0] |
Slave Port HRDATA |
| M_HADDR |
output |
wire [31:0] |
Master Port HADDR |
| M_HTRANS |
output |
wire [1:0] |
Master Port HTRANS |
| M_HSIZE |
output |
wire [2:0] |
Master Port HSIZE |
| M_HWRITE |
output |
wire |
Master Port HWRITE |
| M_HWDATA |
output |
wire [31:0] |
Master Port HWDATA |
| M_HREADY |
input |
wire |
Master Port HREADY |
| M_HRDATA |
input |
wire [31:0] |
Master Port HRDATA |
| Address |
Description |
0x00 |
Control Register
0: EN
8-11: Transfer trigger; One bit for each of the 4 sources; 0000 means software trigger
16-17: Source data type; 0: byte, 1: half word, 2: word
18-20: Source Address Auto increment with value (0, 1, 2, or 4)
24-25: Destination data type; 0: byte, 1: half word, 2: word
26-28: Destination Address Auto increment with value (0, 1, 2, or 4) |
0x04 |
Status Register
0: Done |
0x08 |
Source Address Register |
0x0C |
Destination Address Register |
0x10 |
Data Size Register |
0x14 |
SW Trigger Register |
0x18 |
Frame Count Register |