Thu Oct 18 15:45:53 CEST 2018
I want to use abstractions, and not worry about efficiency at the same
time. Trust compiler to do common subexpression elimination, even for
If it is possible to duplicate functionality at state machine level,
it is OK to _actually use_ abstractions that convert between different
A good example is dual signal start+stop protocol vs. single line
enable/nrst. If the optimizer can eliminate dual instantiations of
the same edge detector, it is no longer necessary to spend mental
cycles manually performing the factorization. This premature
optimization is a serious hangup otherwise.
TODO: Validate if this is what happens! Otherwise, add a pass in Seq.
EDIT: I really worry about this. Easy enough to test: create 2 edge
detectors from the same pin to 2 different output pins, and see if it
EDIT: I don't think it eliminates delays, at least I do not see it
doing this anywhere.