|
|
|
|
|
by MootWoop
4053 days ago
|
|
The way I see it, it's Register Transfer Level, just written differently. Instead of writing:
@always(clock)
counter <= counter + 1; you write:
counter = s
where
s = register 0 (s + 1) per http://hackage.haskell.org/package/clash-prelude-0.7.5/docs/... I agree, it is an interesting idea. I suspect that just having "Haskell" got the link a lot of upvotes :-) As stated on the "Why CλaSH", the advantage is obvious for combinational circuits. But it doesn't seem to help much for synchronous logic (which arguably represents the majority of hardware designs). You'll still be writing everything as "how to update register X in state S". |
|