-
Notifications
You must be signed in to change notification settings - Fork 13
tools: verilate.py: add a SPI device bridge (QEMU / Verilator)
#294
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
Conversation
Configuring the timeout is required when dealing with another emulation platform such as Verilator which is much slower than QEMU Signed-off-by: Emmanuel Blot <[email protected]>
ab21f37 to
880892c
Compare
880892c to
f493129
Compare
|
note: Running unit tests with Verilator led to better understand the behavior of the SPI device, see also lowRISC/opentitan#28806 |
f493129 to
e25856a
Compare
Signed-off-by: Emmanuel Blot <[email protected]>
…ommand variants Signed-off-by: Emmanuel Blot <[email protected]>
e25856a to
a26659d
Compare
Pick command opcode 0xE9 which seems to be never used in most SPI device command sets. Signed-off-by: Emmanuel Blot <[email protected]>
Move it to a dedicated class Signed-off-by: Emmanuel Blot <[email protected]>
634ee4f to
18a9beb
Compare
|
Note: I've added a reference to lowRISC/opentitan#28803 to |
AlexJones0
left a comment
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.
I have not carefully reviewed the exact details of the SPI protocol implementation, as I think they should be broadly correct if this is working locally. Thanks for adding the references and comments, they're helpful to understand what is going on.
Create a TCP server that supports the QEMU SPI device protocol. Converts QEMU-compliant SPI device protocol into a simplified version of Verilator SPI DPI, using the Verilator SPI PTY communication channel. Signed-off-by: Emmanuel Blot <[email protected]>
Signed-off-by: Emmanuel Blot <[email protected]>
Python 3.10 is the current oldest non-EOL'ed supported version. Signed-off-by: Emmanuel Blot <[email protected]>
Signed-off-by: Emmanuel Blot <[email protected]>
18a9beb to
1581c9c
Compare
Create a TCP server that supports the QEMU SPI device protocol.
Converts QEMU-compliant SPI device protocol into a simplified version of Verilator SPI DPI, using the Verilator SPI PTY communication channel.
Designed to work with the reworked/simplified Verilator SPI DPI protocol implemented in lowRISC/opentitan#28803