Register fields¶
Register table¶
Current register layout is shown in the table below:
Address |
Role |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Detailed register description¶
Control register (0x00)¶
Bit |
Name |
Description |
---|---|---|
0 |
Writer start |
Write |
1 |
Reader start |
Write |
2 |
Writer sync disable |
Write |
3 |
Reader sync disable |
Write |
4 |
Writer loop mode |
Write |
5 |
Reader loop mode |
Write |
6-31 |
- |
Unused |
Status register (0x04)¶
Bit |
Name |
Description |
---|---|---|
0 |
Writer busy |
Reads as |
1 |
Reader busy |
Reads as |
2-31 |
- |
Unused |
Interrupt mask register (0x08)¶
Bit |
Name |
Description |
---|---|---|
0 |
Writer mask |
Write |
1 |
Reader mask |
Write |
2-31 |
- |
Unused |
Interrupt status register (0x0c)¶
Bit |
Name |
Description |
---|---|---|
0 |
Writer interrupt |
Reads as |
1 |
Reader interrupt |
Reads as |
2-31 |
- |
Unused |
Reader start address (0x10)¶
Bit |
Name |
Description |
---|---|---|
0-31 |
Start address |
Reader start address (set to |
Reader line length (0x14)¶
Bit |
Name |
Description |
---|---|---|
0-31 |
Line length |
Reader line length (as number of reader data bus widths) |
Reader line count (0x18)¶
Bit |
Name |
Description |
---|---|---|
0-31 |
Line count |
Reader line count |
Reader stride between lines (0x1c)¶
Bit |
Name |
Description |
---|---|---|
0-31 |
Stride |
Gap between consecutive lines (as number of reader data bus widths) |
Writer start address (0x20)¶
Bit |
Name |
Description |
---|---|---|
0-31 |
Start address |
Writer start address (set to |
Writer line length (0x24)¶
Bit |
Name |
Description |
---|---|---|
0-31 |
Line length |
Writer line length (as number of writer data bus widths) |
Writer line count (0x28)¶
Bit |
Name |
Description |
---|---|---|
0-31 |
Line count |
Writer line count |
Writer stride between lines (0x2c)¶
Bit |
Name |
Description |
---|---|---|
0-31 |
Stride |
Gap between consecutive lines (as number of writer data bus widths) |
Version register (0x30)¶
Bit |
Name |
Description |
---|---|---|
0-31 |
Version register |
Holds the FastVDMA version |
Configuration register (0x34)¶
Bit |
Name |
Description |
---|---|---|
0-31 |
Configuration register |
Reader, writer and control bus types |
You can also check WorkerCSRWrapper for the implementation details on how the CSRs are attached to the DMA logic (io.csr(0)
refers to 0x00
, io.csr(1)
to 0x04
and so on).