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

Nice to have features #191

Open
6 of 18 tasks
Jacajack opened this issue Oct 22, 2023 · 0 comments
Open
6 of 18 tasks

Nice to have features #191

Jacajack opened this issue Oct 22, 2023 · 0 comments
Assignees
Labels
iterative Iterative task - can't be *just* done nice to have Only if we have time

Comments

@Jacajack
Copy link
Owner

Jacajack commented Oct 22, 2023

hdllang

  • zeros(n) and ones(n) builtins #192
  • all(...), any(...) builtins equivalent to fold_and(join(...)) and fold_or(join(...)) respectively but all arguments must be wire. This will be helpful when writing long conditions
  • Internal improvment: represent registers and module instances the same way internally
  • Ban mixed wire/bus logic & arithmetic. Add to_wire() builtin for bus -> wire conversion and to_bus() for wire -> ubus<1> conversion. This should eliminate strange signedness deductions to unsigned when wire is used in an expression along with buses. (see test case 037_propagate_signedness.hirl)
  • msb(bus<N>), msb(bus<N>, int) builtins which select a certain number of most significant bits from an expression (analogous to trunc()). Perhaps lsb() could be an alias for trunc().

SV Codegen

  • generate block names
  • always_comb for assignments
  • always_ff for registers

global

@Jacajack Jacajack added iterative Iterative task - can't be *just* done nice to have Only if we have time labels Oct 22, 2023
@Jacajack Jacajack changed the title Nice to haves Nice to have features Oct 22, 2023
@Jacajack Jacajack pinned this issue Oct 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
iterative Iterative task - can't be *just* done nice to have Only if we have time
Projects
None yet
Development

No branches or pull requests

2 participants