project-oak / silveroak

Formal specification and verification of hardware, especially for security and privacy.
Apache License 2.0
124 stars 20 forks source link

Make clock enable a combinator #723

Closed blaxill closed 3 years ago

blaxill commented 3 years ago

Normal use of a clock enable will gate an entire subcircuit. Currently we specify clock enable on individual delays. This means usage of clock gating must be added in advance and explicitly threaded through the interface of circuits into subcircuits. A simpler design would be to write it as a combinator taking a subcircuit clockEnable (subcircuit: x): cava x, gating the entire subcircuit passed in.

blaxill commented 3 years ago

Closing as a cava1 issue