Skip to content

Better optimizer with verilog codegen #23

@WorldofKerry

Description

@WorldofKerry

Current problems

  • Backwards replace does not respect the nonblocking nature of assignments. E.g., mem_0 may be used even though the flip flop still contains its old value.
  • Remove unused variables pass can accidentally optimize away memory stores, as it perceives those assignments as never being used. The current workaround is to have an un-removeable memory node type. However it's hard to say if this should be associated with the node (rename to load/store?) or associated with the variable (e.g. new pointer type), or even both.

Solution ideas

  • Make a new nonblocking assignment type that doesn't actually define variables but only declares variables.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions