Skip to content

[chip, gpio, dv] GPIO smoke test#382

Open
KinzaQamar wants to merge 6 commits intolowRISC:mainfrom
KinzaQamar:gpio_smoke
Open

[chip, gpio, dv] GPIO smoke test#382
KinzaQamar wants to merge 6 commits intolowRISC:mainfrom
KinzaQamar:gpio_smoke

Conversation

@KinzaQamar
Copy link
Copy Markdown

WIP

@KinzaQamar KinzaQamar requested a review from martin-velay March 26, 2026 10:37
@KinzaQamar
Copy link
Copy Markdown
Author

I forgot that the core files are autogenerated :(( Failing lint

@KinzaQamar KinzaQamar force-pushed the gpio_smoke branch 3 times, most recently from 7d06a9f to 6ddb362 Compare March 26, 2026 13:52
Copy link
Copy Markdown
Contributor

@martin-velay martin-velay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have some initial comments. It's a very good start though!

@KinzaQamar KinzaQamar force-pushed the gpio_smoke branch 8 times, most recently from d83b568 to 32c5f09 Compare March 30, 2026 15:01
@KinzaQamar KinzaQamar marked this pull request as ready for review March 30, 2026 15:02
@KinzaQamar KinzaQamar force-pushed the gpio_smoke branch 4 times, most recently from 8a5da04 to 93f0c4e Compare March 31, 2026 23:23
@KinzaQamar
Copy link
Copy Markdown
Author

KinzaQamar commented Apr 1, 2026

HI @martin,

Thanks for the detailed review. I realized yesterday that the comments I added in the test and vseq were way more difficult and I spent some time making it a bit easier to understanding. Do you mind take another look? Some of your comments are unresolved because either I asked for a go-ahead or a question in replies.

@KinzaQamar KinzaQamar force-pushed the gpio_smoke branch 4 times, most recently from 4534ce8 to 5ade54b Compare April 1, 2026 11:44
@KinzaQamar KinzaQamar force-pushed the gpio_smoke branch 4 times, most recently from 525ccea to e22f462 Compare April 1, 2026 12:40
It is going to be useful in order to import GPIO related
parameters in tb.sv

Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
Copy link
Copy Markdown
Contributor

@martin-velay martin-velay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel that the choice of driving patterns on the quarters from the SW and DV at the same time and by crossing the quarters is hard to follow and I am not sure it brings something for a top-level test. I'd suggest to simplify but still driving and checking from both the SW and the DV sides. If you have a doubt we can have a call.

But we are almost there! 👌

The smoketest.c and top_chip_dv_gpio_base_vseq works in pairs in a way that
C drives W1's and W0's pattern on the outputs and vseq drives all 1's and
all 0's pattern on the inputs.

Both C and vseq waits for an expected pattern to arrive in order to drive
the next pattern.

Signed-off-by: Kinza Qamar <kqzaman@lowrisc.org>
@KinzaQamar
Copy link
Copy Markdown
Author

The main reason why I am doing things that way is because when we drive all pads in inputs through a wired connection and ask SW to expect that those wires actually changed, looks weird to me. It is still the case that I am driving 2 quarters in inputs directly but that creates a dependency on SW that something eventually will happen and SW needs to take action about that.
Does that look reasonable to you?

If not, I am happy to simplify this if you want.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants