Caleb Donovick

Results 114 comments of Caleb Donovick

I would handle the assignment in SSA to ensure only one value is ever / always assigned. In strict mode it would raise an exception if a port was not...

It is not without precedent for shift to be `shift :: BitVector[N] -> BitVector[log(N)] -> BitVector[N]` in fact this is what boolector does. I would be fine with making hwtypes...

This is a pattern I have wanted to support for a while. I am not sure how hard it would be to get to work.

My recollection of the issues with supporting this were: A) preventing nonsensical stuff like: ```Python class Foo(Product, Sum): ... ``` B) Resolving the "order" of fields: ```Python class A(Product): x...

@rsetaluri There is also the issue that actual implementation of product (at least on the hwtype side) relies on it subclassing tuple. > Tuple[T1, ..., Tn] < Tuple[T1, ..., Tn,...

This seems like a good idea. I was thinking about it and one possible option is to come up with a minimal set of memory primitives and add them to...

I think this discussion would fit well under https://github.com/leonardt/hwtypes/issues/98 Although we can also open a new issue.

# --- re: comments[0] --- I looked at doing something similar to this for hwtypes. My goal was to nicely specify bit width changing operators (`concat`, `ext`, ...) in a...

One thought. The biggest issue we have encountered with PEak and generator variables is the need to declare constants. For example: ```Python N = m.GenVar('N', int) @m.generator @m.combinational def ALU(a:...

> Agree, think constants are tricky. Fortunately, I think most of the operators, including iteare smart enough to deal with POD python values. So unless you need a specific bit-width...