yosys/notes.txt

43 lines
844 B
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Clock gating
need to determine when the D == Q
Make sure that the flip flop has a clock but not ce: !ff.has_ce && ff.has_clk
check if
USE sat to determine when the Q is the same as D
Q is the feedback, and then there's also the D which does in and select for the mux
becomes the enable
D = f(Q, other_inputs)
!(D ^ f(Q, other_inputs))
Look somewhat like this:
Q is always going to be D
But D itself has an enable built into it
So what D really is is:
Mux (D_r, Q, en) where en is the enable signal
Our goal is to find en
Equation:
Q_next = (en ∧ D_r) (¬en ∧ Q)
Equality question:
!((Q_next) ^ ((en ∧ D_r) (¬en ∧ Q)))
Universal Quantization
FA(Q_next, D_r, Q) !((Q_next) ^ ((en ∧ D_r) (¬en ∧ Q)))
SAT Equation
FA(Q_next, D_r, Q) !((Q_next) ^ ((en ∧ D_r) (¬en ∧ Q)))