Wednesday, July 9, 2008

Resetting Edge Triggered Flops

Resetting edge-catcher flops will slightly change the behavior of edge triggered interrupts around reset:


1. if the edge were asserted during reset, the edge-detection would only be valid that 1-cycle and wouldn't get caught in the core because the interrupt special register is actually reset. after i reset this register, we would start detecting these sorts of edge interrupts.


2. if for some reason an edge interrupt was asserted and held, and then the proc gets a reset, we'd catch this edge again after reset. which we wouldn't have before. this is essentially the same as the first case, but considers the chance you running before the reset.