Skip to content

Reliable fifo#33

Merged
micprog merged 11 commits intomasterfrom
rel_fifo
Jun 18, 2025
Merged

Reliable fifo#33
micprog merged 11 commits intomasterfrom
rel_fifo

Conversation

@micprog
Copy link
Member

@micprog micprog commented Apr 24, 2025

Add an implementation of a reliable FIFO, with ECC-protected state and TMR-controlled signalling.

@micprog micprog changed the title Rel fifo Reliable fifo Apr 24, 2025
@micprog micprog requested review from yvantor June 17, 2025 16:29
@yvantor
Copy link

yvantor commented Jun 17, 2025

Hey @micprog thank you for the review request! I will take a look tomorrow morning if you don't mind :)

Copy link

@yvantor yvantor left a comment

Choose a reason for hiding this comment

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

I think it looks quite good overall! Just a question which is more for curiosity. Do you see a particular advantage in voting before the flip flops (which I understand is the default for both the reliable fifo and rr_tree)? By heart I would have gone straight with voting after the flops, but probably I am just missing a step.
Approved in any case, nice job!

@micprog
Copy link
Member Author

micprog commented Jun 18, 2025

Thanks for the review!

I think it looks quite good overall! Just a question which is more for curiosity. Do you see a particular advantage in voting before the flip flops (which I understand is the default for both the reliable fifo and rr_tree)? By heart I would have gone straight with voting after the flops, but probably I am just missing a step. Approved in any case, nice job!

There was not much consideration put into the default status of the voter position, I decided to leave the voter position for a future exploration, enabling the feature without fully investigating which option is better. I believe this should be decided based on the timing of the path, allowing for modification in critical configurations. Nonetheless, both combinational and register faults are supported in this design, so both positions of the voters will yield fault-functional results.

@micprog micprog merged commit 14899df into master Jun 18, 2025
4 checks passed
@micprog micprog deleted the rel_fifo branch June 18, 2025 13:58
@yvantor
Copy link

yvantor commented Jun 18, 2025

Thanks for the review!

I think it looks quite good overall! Just a question which is more for curiosity. Do you see a particular advantage in voting before the flip flops (which I understand is the default for both the reliable fifo and rr_tree)? By heart I would have gone straight with voting after the flops, but probably I am just missing a step. Approved in any case, nice job!

There was not much consideration put into the default status of the voter position, I decided to leave the voter position for a future exploration, enabling the feature without fully investigating which option is better. I believe this should be decided based on the timing of the path, allowing for modification in critical configurations. Nonetheless, both combinational and register faults are supported in this design, so both positions of the voters will yield fault-functional results.

Makes perfect sense, thank you!

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