Skip to content
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

Improving iolib cells #83

Merged
merged 9 commits into from
Oct 28, 2024
Merged

Improving iolib cells #83

merged 9 commits into from
Oct 28, 2024

Conversation

aolofsson
Copy link
Member

Making input buffer "bullet proof"

  • For some signals like reset and certain static strap signals, we really can't afford to make a mistake. Since io cell modeling and simulation of tristate io buffer isn't always perfect, we want to make sure that the design is correct by construction as much as possible for these buffers. The bidir signal is very configurable and the cfg bus is generic per library (increasing the chance of a catastrophic mistake).
  • This input buffer hard codes all choices in teh abstracted library, minimizing the chance that the user/designer makes a mistake. The designer of the lambdapdk still needs to get the signal mapping correct, but this only has to be done once per port, not for every design.
  • Confident designers can always use the bidir cells and tie off signals to the grnd/power as appropriate for input cells that need more flexibility.

Making bidir cell more robust

  • Making the pull select and pull enable signal hard coded signals instead of the generic cfg bus. Much more intutituve for the user and a less leakly abstractiton.
  • Adding a simple minimalist testbench
  • Adding modeling of weak pull up and pulldowns

- For some signals like reset and certain static strap signals, we really can't afford to make a mistake. Since io cell modeling and simulation of tristate io buffer isn't always perfect, we want to make sure that the design is correct by construction as much as possible for these buffers. The bidir signal is very configurable and the cfg bus is generic per library (increasing the chance of a catastrophic mistake).
- This input buffer hard codes all choices in teh abstracted library, minimizing the chance that the user/designer makes a mistake. The designer of the lambdapdk still needs to get the signal mapping correct, but this only has to be done once per port, not for every design.
- Adding a simple minimalist testbench
- Adding modeling of weak pull up and pulldowns
- Making the pull select and pull enable signal hard coded signals instead of the generic cfg bus. Much more intutituve for the user and a less leakly abstractiton.
- Removing input enable from input cell
- Adding pull enable/select pins for bidir cell
@gadfort gadfort merged commit bfd667e into main Oct 28, 2024
3 checks passed
@gadfort gadfort deleted the input branch October 28, 2024 16:01
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