We have two background, first, about classification of sequential circuits, there is a class of synchronous circuits and asynchronous circuits. Asynchronous circuits are defined as that are not synchronous.
here, sequential circuits are defined from behavioral aspect, like can depend on past inputs. in contrast, synchronous circuits are defined from structural aspect, like they have flip-flops as memory elements.. blah-blah. we suppose behavioral aspect is preferable, and so we desire a behavioral classification of sequential circuits.
here is the second background. the left side shows synchronous circuits and the right side shows multiple-clock domain circutis, multi-clock domain circuits are classified as asynchronous, but they resembles synchronous circuits in a sense. so we desire to make them same class in the new classification.
to define the previously mentioned class, one can easily image this definition, having memory elements and multiple control signals. this circuit class includes synchronous and multi-clock domain, but we have a question: can any circuit be the memory elements? if so, any sequential circuit is regarded as a memory element, and this classification becomes meaningless. this idea does not work.
from these background, we will define a new classification, and it is from a behavioral aspect, and synchronous circuits and multi-clock domain circuits are in the same class
following several slides explain the basic idea for the classification. here is a D-flipflop and the timing diagram shows its behavior. when the value of Din at the clock edge is A, Dout provides A. similarly, when Din at the edge is B, Dout provides B.
these arrows illustrate that behavior. the values at the edges are latched and reflected on the outputs. in short, the circuit latches the values at the edges.
here we change the viewpont. to provide the output, the circuit refers to the values at the edges. Dout at this point refers to Din at the clock edge, Dout at this point refers to Din at the edge, and so on. one can say this way of thinking is focused on behavioral aspect without state. we regard circuits as function of past inputs.
again, one by one, Dout at this point refers to the Din at the edge
Dout at this point refers to the Din at the edge
and so on
(up to here)
this shows time points that referred to by D-flipflop.
we observe these time points and define a new classification.
now we study about synchronous circuits. time points they refer to are like this figure. different from the flipflop, synchronous circuits have a feedback loop, so they refer to all past edges. and they also refer to the input at the current.
along with temporary progress, time point that referred to are become like this. they refer all past edges and current. from now on, we will focus on past time point but not current.
when we regard time points at each time as a set, we can consider how these sets are transforming.
observing these sets for synchronous circuits, we notice that a point is added when time goes. in other words, sets have inclusion relation along with temporal progress
next, we consider a circuit with multiple clock domain. the time point sets it refers to are like this. the sets also have inclusion relation along with temporal progress, same as synchronous circuits.
here is a kind of peculiar example of circuits, a circuit with A/B memory. that has a memory with two addresses, address A and B. the control signal of that memory gives instruction. we consider these instructions as shown in the right side, write to address A, write to address B, read from address B, and read from address A. time points it refers to are like this.
the sets of time points does not show an inclusion relation. this is different from previous two examples.
we propose a new classification with these observation. we can classify a sequential circuit whether it have inclusion relation or not. looking back at the motivation, this classification is from behavioral aspect, and as we mentioned, synchronous circuits and multi-clock domain circuits are in the same class. note that this classification only works when the circuit have control signals for the memory element, like clock signal.
finally, in fact, there is a gap between this presentation and the study result. in this presentation, we focused on inclusion relation on time point sets, but the study result uses a notion of time-preserving. that is similar notion to order-preserving, but requires formal expressions to explain, so I avoid it this time.