Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- controller2 :: Clocked a => a -> a -> (a, a, a, a, a, [a])
- controller2 reset walkRequest = (green, amber, red, wait, walk, count)
- where green = dff (or3 reset a2 (and2 (inv walkRequest) green))
- amber = or2 a1 a2
- red = or3 r1 r2 r3
- wait = or3 a1 a2 green
- walk = or3 r1 r2 r3
- count = mux1w reset (map dff result) zero16
- gToA = and2 walkRequest green
- r1 = mux1 reset (dff amber) zero
- r2 = mux1 reset (dff r1) zero
- r3 = mux1 reset (dff r2) zero
- a1 = mux1 reset (dff gToA) zero
- a2 = mux1 reset (dff r3) zero
- result = snd (rippleAdd zero (bitslice2 count one16))
- one16 = (fanout 15 zero) ++ [one]
- zero16 = fanout 16 zero
Advertisement
Add Comment
Please, Sign In to add comment