-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(iob): improve iob_interface README #675
Conversation
- update interface names (`valid_i` instead of `avalid_i`) - add missing `rvalid_o` signal - add example for write transactions - small introduction text in README - simple makefile to generate .png from .drom files
![Read Transaction](iob_if_read.png "Read Transaction") | ||
The IOb-interface has the following signals: | ||
- `clk_i`: interface clock | ||
- `valid_i`: source signal valid transaction |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
valid transaction from master input.
|
||
![Read Transaction](iob_if_read.png "Read Transaction") | ||
The IOb-interface has the following signals: | ||
- `clk_i`: interface clock |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
interface input clock
|
||
![Read Transaction](iob_if_read.png "Read Transaction") | ||
The IOb-interface has the following signals: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The IOb Native Interface, or IOb interface shortly, has the following signals from the slave perspective. (Note that the _i and _o suffixes denote input and output, respectively.)
The IOb-interface has the following signals: | ||
- `clk_i`: interface clock | ||
- `valid_i`: source signal valid transaction | ||
- `addr_i`: address for access |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
address for read or write access input.
- `valid_i`: source signal valid transaction | ||
- `addr_i`: address for access | ||
- `wdata_i`: data to write | ||
- `wstrb_i`: write strobe |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
byte write strobe input.
- `wstrb_i`: write strobe | ||
- `rdata_o`: read data | ||
- `rvalid_o`: valid read data | ||
- `ready_o`: destination ready to accept transactions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
slave ready for transaction output.
period. | ||
|
||
Use `wstrb_i` to distinguish between READ and WRITE operations. READ operations | ||
occur when all `wstrb_i` bits are LOW. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Byte i is written if wstrb[i] is HIGH and not otherwise.
|
||
## Read Transaction | ||
For READ operations: when `valid_i` and `ready_o` are HIGH, read `addr_i` | ||
address. The `rdata_o` is available when `rvalid_o` is HIGH. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For READ operations: when valid_i
and ready_o
are HIGH, address addr_i
is read. The data on rdata_o
is available when rvalid_o
is HIGH.
|
||
## Write Transaction | ||
For WRITE operations: when `valid_i` and `ready_o` are HIGH, write `wdata_i` | ||
bytes with corresponding `wstrb_i` bit HIGH to `addr_i` address. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For WRITE operations: when valid_i
and ready_o
are HIGH, the bytes in wdata_i
validated by wstrb_i
are written to address addr_i
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR is ready for merging after the comments are addressed.
- address comments in IObundle#675
comments addressed in #676 |
valid_i
instead ofavalid_i
)rvalid_o
signal