Practical Generalizations of Asynchronous State Machines æ

Size: px
Start display at page:

Download "Practical Generalizations of Asynchronous State Machines æ"

Transcription

1 Practical Generalizations of Asynchronous State Machines æ Kenneth Y. Yun David L. Dill Steven M. Nowick Computer Systems Laboratory Departments of Electrical Engineering and Computer Science Stanford University Stanford, CA 9435 Abstract Based on a study of systems requirements, we propose to extend burst-mode specifications, a class of asynchronous finite-state machine specifications that allows multiple-input changes. The proposed extensions allow concurrent transitions of inputs and outputs and input choices based on level conditional signals. We present an example that features the proposed extensions and point out the deficiencies of existing specification styles, in particular, STG and original burst-mode. We analyze the impact of these extensions on the hazard-free implementation of the 3D machine andits synthesis procedure. We present the results of experiments using the modified 3D synthesis tool and show that the performance numbers are consistent with examples of comparable complexity not requiring the extensions. Introduction Recently, many well-known advantages of asynchronous designs have been reaffirmed partly due to the advancement of VLSI technology and partly due to the recognition of the possibility that the CAD tools can be used to to alleviate the designers from being overwhelmed by complex tasks, such as hazard-free implementation and critical-race-free state assignment. As a result, a flurry of new asynchronous design styles and automatic synthesis tools [, 4, 5, 6, 9,, 3, 4, 7,, ] have been introduced to exploit these advantages in system design. There are roughly three distinct categories of asynchronoussynthesis methods available today: Transformations from HDL descriptions [, 4,, 5], STG (Signal Transition Graph) / SG (State Graph) synthesis [, 5, 9, 3, 4, ], and multiple-input change AFSM synthesis [6, 7, 3]. Although asynchronous designs have been applied both to data path and control circuits, we believe that the highest payoff will come from applications to interface circuits and controllers. There are two questions we must consider: What is required in a class of specifications to describe the signalling and timing constraints of most interfaces and controllers? and What specifications can be implemented efficiently and correctly by automatic synthesis tools? In answering these questions, we have examined a number of interfaces and controllers in particular, the examples from the HP Post Office [7] and industry-standard backplane and local bus controllers. We have determined that mechanisms to handle a moderate degree of concurrency and to select alternative responses based on conditional signal levels as well as signal transitions (events) are essential, and that I/O-mode operation [, 5, 6, 9,, 3] is not necessary in most applications. Then we examined existing specification styles, in particular, STG and burst-mode. The currently accepted form of STG is an interpreted free-choice Petri net [5, 9, 3, 4, ]. The strong suit of the STG is its ability to express concurrency. Its main weakness is the awkwardness in specifying choices. In a free-choice STG specification, the environment can steer the future behavior of the machine only by selecting an input transition among a number of conflicting choices. It cannot æ This work was supported by the Semiconductor Research Corporation, Contract no. 9-DJ-5,and by the Stanford Center for Integrated Systems, Research Thrust in Synthesis and Verification of Multi-ModuleSystems. handle choices based on a sequence of events or choices based on signal levels. A burst-mode specification is a variation of a Mealy machine that allows multiple-input changes in a burst fashion in a given state, when all of a specified set of input transitions arrive, the machine generates a set of output changes and moves to a new state. The specified input transitions can arrive in arbitrary order (thus allowing input concurrency), and the outputs are generated concurrently. The advantages of a burst-mode specification over STG specifications are that it is similar to the synchronous Mealy machine designers are familiar with, that the input choice is more flexible than that of the STG, and that the state encoding is more flexible in the implementations. Burst-mode specifications have been very useful in specifying large, practical controllers, such as a SCSI data transfer protocol controller [9] and an asynchronous high performance cache controller [6]. The main practical disadvantage is that it does not allow input transitions to be concurrent with output transitions. The input choice mechanism, albeit more flexible than the STG, is still primitive. For example, it cannot handle choices between two sets of concurrent events if one set is a subset of the other the subset restriction. Therefore, we propose to extend the burst-mode specification (much of the formalism used both in the original burst-mode and in the proposed extensions is derived from the asynchronous state machine specification style and the examples from the Post Office by Davis et al. currently with HP Labs) in two ways: to allow concurrent transitions of inputs and outputs and to allow input choices based on level conditional signals. The results are a design style that better supports real-life systems design requirements and incorporation of these generalizations in a hazard-free implementation (called the 3D asynchronous state machine). Extending Burst-mode Specifications A burst-mode asynchronous finite state machine is specified by a state diagram [7, 3, ], which consists of a finite number of states, a set of labelled arcs connecting pairs of states, and a start state. Each arc is labelled with a set of possible signal transitions. Each transition consists of an input burst (a non-empty set of input transitions) and an output burst (a set of output transitions). In a given state, when all the inputs in the specified input burst have changed value, the machine generates the corresponding output burst and moves to a new state. Only specified input changes may occur, and input transitions may arrive in arbitrary order. We propose two extensions to burst-mode specifications: æ Directed-don t-care transitions of inputs in input bursts are allowed provided that at least one input transition in the input burst is guaranteed to fire. æ Input choices based on level conditional signals as well as events (transitions) are allowed.

2 . Allowing Directed-don t-care in InputBurst Definition Signal transitions: æ s + denotes that s changes monotonically from to (if s initially ) or remains (if s initially ); s, denotes that s changesmonotonicallyfrom to (if s initially ) orremains (if s initially ). A signal transition s + or s, is said to be terminating. æ s æ denotes that s remains, monotonically changes from to, or remains if the next terminating transition of s is s +, and that s remains, monotonically changes from to, or remains if the next terminating transition of s is s,. A signal transition s æ is said to be a directed-don t-care. æ A terminating transition is compulsory if there is no directeddon t-care transition of the same signal in the states immediately preceding the current state. Informally, the terminating transition of a signal means that the signal changes to the specified level, if it is not already at the specified level, and the directed-don t-care transition of a signal means that the signal eventually changes to the level specified by the next terminating transition. Note that the directed-don t-care does not mean that the signal can oscillate freely between and (as in a true don t care). In an extended-burst-mode specification, the polarities of terminating transitions of a signal must alternate. For example, the firing sequences,a + a,, a + a æ a, and a, a æ a æ a +, are valid, but a + a + is not. In extended-burst-mode specifications, an input burst is a nonempty set of input transitions (terminating or directed-don t-care), at least one of which must be a compulsory transition. In the original burst-mode specifications, the output burst must not be generated until all the specified inputs in the input burst have changed value. In extended-burst-mode specifications, the output burst must not be generated until all the terminating transitions in the input burst have fired. In the original burst-mode specifications, every state has a unique entry point described by input and output values. In extended-burst-mode specifications, certain states may have multiple valid entry points due to the directed-don t-cares in the predecessor states input bursts. We require that the set of possible entry points into a state from every predecessorstate be identical the common-entry-set requirement. For example, the set of valid entry points to S from S in figure a is f; g, but from S to S it is fg. Thus this specification is illegal. A legal specification illustrating a common-entry-set is shown in figure b. a c / abcxy = b+c* / a+c+ / x y (a) no common entry set abcxy = b+c* / a+c+ / y a c* / c / x 3 (b) common entry set Figure : Example (Common-entry-set).. Conditional Input Burst In the original burst-mode specifications, the input choices are limited to the distinguishable set of events (signal transitions) the selection based on the input signal level is not supported. We propose to eliminate this restriction incorporating conditional input bursts described below as well as the unconditional ones (the input burst defined in the previous section) to make input choices more flexible. A conditional input burst consists of a conditional clause, which restricts the validity of the input burst, and an input burst (as defined previously). Conditional clauses hs + i and hs, i denote if input signal s = and if input signal s = respectively. Thus, æ hs + ia + =x + denotes if s = whena + fires, then x + is enabled to fire. æ hs, ia + =y, denotes if s = whena + fires, then y, is enabled to fire. The signals specified in the conditional clause (called conditional signals) must be set up (environmental constraint)beforeany compulsory transition in the input burst fires in the same spirit as the data must be set up before the rising transition of the clock in the rising edge triggered D flip-flop. The setup time depends on the implementation. The hold time is satisfied by the fundamental mode environmental constraint. Unlike data signals in synchronous systems, conditional signals in the extended-burst-mode specifications must be set up monotonically. The conditional signals are treated as event signals elsewhere in the specification. We require that if an input burst in a state is conditional, all other input bursts in the same state are also conditional. Furthermore, we restrict the number of conditional signals per conditional clause to one. Recall that in the previous section we required that the polarities of the terminating transitions of a signal alternate. This alternating sequence is reset by a conditional clause containing the signal; thus the sequence starts anew following the conditional clause. A conditional signal may be specified as a directed-don t-care in the states immediately precedingthe conditional clause (the Done signal in figure 3 is an example of a directed-don t-care terminated by a conditional clause). In the original burst-mode specifications, we disallowed any input burst in a state from being a subset of another input burst in the same state to avoid ambiguity the subset restriction. A similar restriction called the distinguishability constraint exists for the extended-burst-mode. Let T min i be the set of compulsory transitions in the input burst T i and T max i be the set of all possible transitions in T i. The distinguishability constraint for the extendedburst-mode is: for every pair of input bursts i and j from the same state, either the conditional clauses are mutually exclusive, or T min i 6ç T max j. For instance, the input bursts from S in figure a are legal because s + and s, are mutually exclusive. However, the input bursts from S in figure c are illegal because the conditional clauses are not mutually exclusive and fb + gçfa + ;b + g. Likewise, the input bursts from S in figure b are illegal because the set of all possible transitions for the unconditional input burst a + b æ is fa + ;b + gand fb + gçfa + ;b + g. abxy = <s+> a+b+ / abxy = <s > b+ / a+b* / b+ /.3 Example abxy = <s+> a+b+ / (a) (b) (c) Figure : Distinguishability Constraints. <s+> b+ / We demonstrate the usefulness of the conditional input burst coupled with the directed-don t-cares, using the core of a controller

3 from the HP Post Office benchmark suite [7], sbuf-send-pkt, that manages the packet send protocol (see figure 3). First, we describe the protocol. Initially, the receiver requests the packet transfer by asserting Req. The sender then places a line of data on the bus and asserts SendLine. When the receiver receives the line, it acknowledges the sender by asserting AckLine; the sender, in turn, negates SendLine. The receiver normally negatesackline, terminating a line transfer cycle. This four-phase handshaking protocol continues until the receiver decides to terminate the packet transfer by asserting Done and negating AckLine concurrently after the sender negates SendLine. When the sender detects AckLine being negated, it placesa line on the bus and asserts SendLine. After the receiver acknowledges the final line transfer by asserting AckLine, the sender, having detected Done signal asserted (stable by this time), acknowledges the completion of packet transfer by asserting Ack and negating SendLine. The packet transfer is complete when the receiver negates Req, AckLine and Done and the sender, in turn, negates Ack. Req Ack SendLine AckLine Done Req AckLine Done / Ack Req+ Done* / SendLine+ <Done+> AckLine+ / SendLine Ack+ <Done > AckLine+ / SendLine 3 AckLine Done* / SendLine+ setup time Figure 3: Example (sbuf-send-pkt-core). It is impossible or awkward at best to specify the controller managing this protocol using existing specifications that can be automatically synthesized: burst-mode and free-choice STG. The difficulty stems from having to distinguish the concurrent transitions Done + AckLine, from AckLine, alone (note that fackline, gç fdone + ; AckLine, g). This controller cannot be specified in burst-mode without violating the subset restriction. The free-choice STG cannot model this behavior for the same reason. Although it is possible to specify this type of behavior using variations of currently accepted form of STG (free-choice STG), the resulting specification is difficult to understand and not always synthesizable. Chu suggested in chapter 8 of his thesis [5] the possibility of a structural extension of the free-choice STG called a controlled-choice STG. So far, there is no known synthesis tool that handles controlled-choice STGs. Moon et al. [4] proposed to allow a null or dummy transition to enhance the syntactic power of free-choice STGs. Here again, the existing synthesis tools have difficulty coping with a certain class of specifications with null transitions. SIS, for example, cannot handle the state encoding (for the specifications without the complete state coding property such as this controller) if the fanout of a null transition is a subset of the fanout of another null transition from the same place [8, ]. The extended-burst-mode specification handles this by treating Done as a conditional signal to be sampled by AckLine +. Since Done + may fire at any time (or not at all) after SendLine, fires, Done is specified as a directed-don t-care in S D Implementation A 3D asynchronous finite state machine [3, ] is a 4-tuple èx; Y; Z; æè where X is a set of primary input symbols, Y aset of primary output symbols, Z a (possibly empty) set of internal state variable symbols, and æ : X æ Y æ Z! Y æ Z a next-state function. The hardware implementation of the 3D state machine is a twolevel AND-OR network where outputs (and additional state variables when necessary) are fed back as inputs to the network. There are no explicit storage elements such as latches, flip-flops or C- elements in a 3D machine; only static feedback is used to maintain memory. The 3D implementation of the burst-mode specification is obtained from the 3-dimensional function map called the next-state table, a 3-dimensional tabular representation of the next-state function æ. The next-state of every reachable state must be specified; the remaining entries of the next-state table are considered don t-cares. The operation of the 3D state machine is similar to a Mealymode synchronous state machine. A machine cycle consists of 3 phases: input burst followed by output burst followed by state burst. During the idle state, the machine waits for an input burst to occur. The input burst may be conditional or unconditional. The conditional signal must be set up by some implementation dependent mininum delay before the first compulsory transition arrives. When the last terminating transition of the input burst arrives, an output burst takes place. The state burst, if required, immediately follows the output burst, completing the 3-phase machine cycle. The next set of compulsory transitions may not arrive until the machine is stabilized (fundamental-mode environmental assumption). 3. Next-state Table Generation We build the next-state table by assigning a next-state to each reachable state. If the (extended) burst-mode specification does not have a unique next-state code for each reachable state, new layers of the next-state table are added so that the final construction has the unique next-state codes. abc xy 3 abc = Req AckLine Done xy = SendLine Ack q = q = Figure 4: Next-state Table (sbuf-send-pkt-core). Example (sbuf-send-pkt-core) In S, the machine is idle waiting for the input burst a + c æ ; once a becomes (regardless of c), the output x changesmonotonically to. Thus the next xy entries for abcxy = x and xxare specified to be and respectively. When x stabilizes to, the machine is in S, where it awaits the conditional input burst hc, ib + or hc + ib +.Ifc remains until b + fires, the output x changes to, and the machine goes to S 3 (we defer discussing this path until later). On the other hand, if c goes to some setup time before b + fires, the outputs xy change to after b becomes, and the machine goes to S. The next xy for abcxy = is specified so that the outputs remain unchanged while the conditional signal is being set up; the next xy

4 for abcxy = xx are specified so that the outputs xy change monotonically to once enabled. The machine, in S, awaits the input burst a, b, c,.whenall the inputs change to, the output y changes to, and the machine is back in S. The next xy for abcxy = xx, xx and xx are specified to be because the outputs must remain unchanged until the final terminating transition of the input burst fires. The next xy for abcxy = is. Alternatively, supposec remains at when b + fires (the machine in S ). Once b goes to, x changes to, and the machine goes to S 3, and wait for the input burst b, c æ. The outputs xy must remain until the compulsory transition b, occurs. Attempting to specify the next xy for abcxy = to be, we run into a conflict because the next xy for abcxy = had already been specified (during S! S ). In this case, we back up to the state following the last output burst (abcxy = ) and change the internal state (state burst q + ) as shown in figure 4. When the state variable q stabilizes to, the machine is in state S 3. In S 3, the machine waits for the input burst b, c æ. becomes (regardless of the state of c), x goes to. When b Once x becomes, state variable q goes to, and the machine returns to S. The next xy for abcxy = x (in layer q = ) are specified so that the outputs xy remain unchanged until the compulsory transition b, fires. The next xy for abcxy = xx are specified so that x changes monotonically to once enabled. Note that c + may fire at any time before b + fires in S or may not fire at all. 3. Eliminating Hazards 3.. Eliminating Sequential Hazards If a transition between layers (state burst) requires multiple state bit changes, the machine traverses intermediate layers before it settles down at the final layer. In 3D machines, a critical race is present if the transient states during a layer transition have different nextstates from the final-stable-state. We insure that the machine is free of critical races by encoding layers so that no input or output burst intersects the transient states of layer transitions and by forcing all transient states during a layer transition to have the same next-states as the final-stable-state. 3.. Eliminating Combinational Hazards We can classify all hazards in combinational circuits into two categories: function hazards and logic hazards. Function hazards are due to an incorrectly specified function during multiple-input changes. Logic hazards arise due to delay variations of the physical gates and wires [3, 7, 8, ] despite the correct function. In 3D machines, we preclude the presence of function hazards by correctly specifying the next-state of every reachable state [3]. The requirements to insure hazard-free combinational logic are presented in [3, 8]. Initially, we assume that all input bursts are unconditional. In 3D machines, the outputs change in response to the input bursts and remain constant while the fed-back outputs and state variables change. Likewise, the state variables change due to the output bursts and remain constant while the fed-back state variables change. Assuming sufficient delays in the feedback paths for outputs and state variables, we can disregard the interactions between inputs and feedback variables (i.e., there are no essential hazards [3]). 3 We can then view each burst (input, output or state) as a multiple-input change to the output combinational logic. The outputs are assumed to be stable before and after each burst. The (extended) burst-mode specifications mandate that outputs remain unchanged until the last (terminating) input transitions of the input burst. The 3D implementation enforces the same rule on In a sequential network, feedback variables as well as primary inputs must be considered as inputs to the network. In some cases, due to the input burst if the trailing output burst is an empty set. 3 In 3D machines, we minimize the feedback delays with a simple set of one-sided timing constraints [3]. the state variables the state variables remain unchanged until the last output transition of the output burst (note that every output and state variable transition is compulsory). The set of states (defined by input, output and state bit vectors) before and after the final terminating transition are called the initial-region and final-region. The outputs remain at the levels before the burst in the initial-region and change to the levels specified by the output burst in the finalregion. The on-set and off-set of an output are then unions of some initial-regions and final-regions. To avoid static logic hazards during multiple-input changes in the two-level AND-OR network implementing an output function [3, 8, 3], we require that: æ If the output is specified to be in both the initial- and finalregion, a single cube must contain both the initial- and finalregion. æ If the output is specified to be only in the initial-region or only in the final-region, the on-set region must be covered by a set of maximal cubes, which in effect forces a single input change going from the initial-region to the final-region. In order to discuss eliminating dynamic logic hazards, we need to define some terminology. Definition Stable-states: æ The initial-stable-state of a burst is the state of the machine before the burst with each input, output and state variable at the level following the last terminating transition before the currentburst (directed-don t-caresare assumed not changed). æ The final-stable-state of a burst is the state of the machine after all the terminating transitions in the burst have fired, with every directed-don t-care input at the level following the ensuing terminating transition. Definition 3 Transient-states: æ The initial-transient-states of a burst are the states traversed during the burst preceding the last terminating transition of the burst (excluding the initial-stable-state). æ The final-transient-states of a burst are the states traversed during the burst following the last terminating transition of the burst (excluding the final-stable-state). a+b* / Final transient state a+ b+ b+ a+ Initial Initial Final stable transient stable state state state Input Burst Initial stable state b+ Final transient state Figure 5: Stable / Transient States. Initial transient states Final stable state Consider an input burst a + b æ in figure 5. The last terminating transition of b preceding this input burst and the next terminating transition of b following this input burst are assumed to be b, and b + respectively. In this example, the initial-stable-state and final-stable-state of the input burst are ab = and ab = ; the Output Burst

5 initial-transient-state and final-transient-state of the input burst are ab = and ab =. Even if the requirements to avoid static logic hazards were met, the output logic may still exhibit glitches during dynamic transitions, in particular, if a stray on-set cube intersects an initialtransient-state during the, transition of an output. This is because the stray cube may glitch (,,) and the glitch may propagate to the output (,,, dynamic hazard) [3, 7]. Likewise, if a stray on-set cube intersects a final-transient-state during the, transition of an output, the stray cube may glitch (,,) and the glitch may propagate to the output (,,, dynamic hazard) [8]. The following is a summary of the on-set covering requirements for output logic during the unconditional input bursts.. For a, transition of output: The input burst must be covered by a single cube; the output burst must be covered by a single cube.. For a, transition of output: The output burst must be covered by a single cube. Any on-set cube that intersects any final-transient-state of an input burst must also include the final-stable-state of the input burst if the input burst enables a, transition of the output. 3. For a, transition of output: The input burst containing n c terminating transitions must be covered by n c cubes each of which contains exactly one literal corresponding to a unique terminating input in the input burst and does not contain any literal corresponding to a directeddon t-care. Any on-set cube that intersects the initial-transient-states of an input burst must also include the initial-stable-state of the input burst if the input burst enables a, transition of an output. The on-set covering requirements for output logic during the output and state bursts is the same as the requirement above. A similar set of on-set covering requirements exist for state logic. The covering requirements for the example (sbuf-send-pkt-core) is shown in figure 6. abc = Req AckLine Done xy = SendLine Ack abc xy abc xy q = q = Next x = a b y Next y = a y + b y + c y + q b c Figure 6: Covering Requirements (sbuf-send-pkt-core). Now let us consider conditional input bursts, hs + it and hs, it, emanating from a state. Recall that the conditional signal s must be set up before every compulsory transition of both T and T. For the path in which the conditional signal requires no transition, say hs, it with no loss of generality, the covering requirement is the same as that of the unconditional one. For the path hs + it, we can divide the burst into two parts (or bursts): () the set of all non-compulsory transitions (including s + )and()the unconditional part of the burst, T in this case. In the first burst, the outputs remain constant (, or, transition). In the second burst, the outputs change to the specified values after the last terminating transition of T. Since the first burst always includes the transition of a conditional signal and the conditional signal is set up before the compulsory transitions of T and T, the product terms that cover the second burst always turn on before the first burst cover turns off for a, transition of an output no,, static hazard. Figure 7 shows the covering requirements. The smallest on-set cubes used to satisfy the hazard-free covering requirements discussed above are called required cubes [8]. An on-set cover for a logic function is a set of cubes such that every cube covers a minterm but not off-set vertex and every minterm is covered by at least one cube in the cover. A logic hazard is present in an implementation if there exists a required cube not contained in any cube in the cover. The required cover for a logic function is a set of required cubes D Automatic Synthesis 3.3. Definitions A 3D next-state table is said to have the unique next-state code (UNC) property iff every entry in the table has a unique next-state. A next-state table with the UNC property has the proper unique next-state code (PUNC) property iff every required cube for every output or state variable logic, that intersects an initial-transientstate of a burst enabling a, transition of an output or a state variable, also contains the initial-stable-state of the burst. Note the asymmetry between the, and, transition of outputs. It is impossible for a required cube to intersect a finaltransient-state of an input burst enabling a, transition of an output without actually being a subset of the required cube covering the output burst. However, it is entirely possible for a required cube to intersect an initial-transient-state of an input burst. This is because the next-states of final-transient-states (for the, transition of output) are different from the current states, but the next-states of initial-transient-states are the same as the current states Procedure The synthesis procedure is described in []. We build a nextstate table from a specification so that the final 3D construction satisfies the PUNC property and assign codes to the layers of the next-state table in a critical-race-free manner. We then generate an unminimized hazard-free cover for each output and state variable function by ORing required on-set cover of every burst. Logic minimization is performed using exact algorithms for hazard-free logic, implemented in an automated logic minimizer [8]. 4 Experimental Results The synthesis procedure is completely automated (coded in C). We have conducted numerous experiments for both the original burstmode and the extended-burst-mode specifications. The synthesis tool produces efficient results in terms of both the area and the latency. The latency is a delay from the last input transition of an input burst to the last transition of the resultant output burst. The cycle time is the minimum delay (environmental constraint) from the last input transition of an input burst to the first input transition of the next input burst. Experimental results for some extendedburst-mode specifications are shown in table. The latencies and the cycle times are evaluated using a.8çm CMOS standard cell library, developed for the Verilog simulator by the Torch group at Stanford University []. The library cells were characterized using the SPICE simulator under military worst-case conditions (4.5V power supply, 5 æ C) and derated for the nominal case (5V, 5 æ C). 5 Conclusions We described two extensions to the burst-mode specifications to allow more concurrency and to make input choices more flexible. The notions of directed-don t-care and conditional input burst were introduced. We analyzed the impacts of these extensions on the hazard-free implementation of the 3D machine and its synthesis

6 abx = <s+> a+b+ / <s > a+ / x abx = <s+> a+b* / <s > a*b+ / x abx = <s+> a+b+ / <s > a+b+ / x s = s = xab S S S S (a) ab s = s = x S S S S (b) Figure 7: Covering Requirements (Conditional Input Bursts). ab s = s = x S S S S (c) Specification Implementation States / Primary State Product Terms Literals Cycle Transitions In Out Vars Output Total Output Total Latency Time D-FF ns.3ns pe-rcv-ifc ns 3.8ns ram-read-sbuf ns.7ns sbuf-ram-write ns 3.ns sbuf-send-pkt ns 3.5ns Table : Experimental Results. procedure. Finally, we performed experiments on 5 new examples (4 from HP Post Office suite), all of which feature one or both of the extensions, using the modified 3D synthesis tool. The performance numbers are consistent with the examples of comparable complexity (not requiring the extensions). In the future, we plan to develop major examples featuring these extensions. Acknowledgement The authors would like to thank Bill Coates of HP Labs and Luciano Lavagno of UC Berkeley for many stimulating discussions. References [] V. Akella and G. Gopalakrishnan. SHILPA: A high-level synthesis system for self-timed circuits. In ICCAD-9. [] P. Beerel and T. Meng. Automatic gate-level synthesis of speed-independent circuits. In ICCAD-9. [3] Jon G. Bredeson and Paul T. Hulina. Elimination of static and dynamic hazards for multiple inputchanges in combinationalswitching circuits. Information and Control, :4 4, 97. [4] E. Brunvand and R. F. Sproull. Translating concurrent programs into delayinsensitive circuits. In ICCAD-89. [5] T.-A. Chu. Synthesis of self-timed VLSI circuits from graph-theoretic specifications. Technical Report MIT-LCS-TR-393, 987. [6] T.-A. Chu. Automatic synthesis and verification of hazard-free control circuits from asynchronousfinite state machines. In ICCD-9. [7] A. Davis, W. Coates, and K. Stevens. The Post Office experience: designing a large asynchronous chip. In 993 Hawaii International Conference on Systems Science. [8] Luciano Lavagno, 99. Private communication. [] A. J. Martin. Programming in VLSI: From communicating processes to delayinsensitive VLSI circuits. In C. A. R. Hoare, editor, UT Year of Programming Institute on Concurrent Programming, Addison-Wesley, 99. [3] Teresa H.-Y. Meng. Synchronization Design for Digital Systems. Kluwer Academic, 99. [4] C. W. Moon, P. R. Stephan, and R. K. Brayton. Specification, synthesis, and verification of hazard-free asynchronous circuits. In ICCAD-9. [5] C. Myers and T. Meng. Synthesis of timed asynchronouscircuits. In ICCD-9. [6] S. Nowick, M. Dean, D. Dill, and M. Horowitz.The design of a high-performance cache controller: a case study in asynchronous synthesis. In 993 Hawaii International Conference on Systems Science. [7] S. M. Nowick and D. L. Dill. Synthesis of asynchronousstate machines using a local clock. In ICCD-9. [8] S. M. Nowick and D. L. Dill. Exact two-level minimization of hazard-freelogic with multiple-input changes. In ICCAD-9. [9] S. M. Nowick, K. Y. Yun, and D. L. Dill. Practical asynchronous controller design. In ICCD-9. [] S. H. Unger. Asynchronous Sequential Switching Circuits. New York: Wiley- Interscience, 969. [] P. Vanbekbergen,F. Catthoor, G. Goossens and H. De Man. Optimized synthesis of asynchronouscontrolcircuits from graph-theoretic specifications. In ICCAD- 9. [] Kenneth Y. Yun and David L. Dill. Automatic synthesis of 3D asynchronous state machines. In ICCAD-9. [3] K. Y. Yun, D. L. Dill, and S. M. Nowick. Synthesis of 3D asynchronous state machines. In ICCD-9. [9] L. Lavagno, K. Keutzer, and A. Sangiovanni-Vincentelli. Algorithms for synthesis of hazard-free asynchronouscircuits. In DAC-9. [] L.Lavagno,C. Moon,R. Brayton,A. Sangiovanni-Vincentelli. Solving the state assignment problem for signal transition graphs. In DAC-9. [] J. Maneatis and D. Ramsey, 99. Private communication.

Concurrent Error Detection in Asynchronous Burst-Mode Controllers

Concurrent Error Detection in Asynchronous Burst-Mode Controllers Concurrent Error Detection in synchronous Burst-Mode Controllers Sobeeh lmukhaizim and Yiorgos Makris Electrical Engineering Dept. Yale University New Haven, CT 06520, US bstract We discuss the problem

More information

CS8803: Advanced Digital Design for Embedded Hardware

CS8803: Advanced Digital Design for Embedded Hardware CS883: Advanced Digital Design for Embedded Hardware Lecture 4: Latches, Flip-Flops, and Sequential Circuits Instructor: Sung Kyu Lim (limsk@ece.gatech.edu) Website: http://users.ece.gatech.edu/limsk/course/cs883

More information

CPS311 Lecture: Sequential Circuits

CPS311 Lecture: Sequential Circuits CPS311 Lecture: Sequential Circuits Last revised August 4, 2015 Objectives: 1. To introduce asynchronous and synchronous flip-flops (latches and pulsetriggered, plus asynchronous preset/clear) 2. To introduce

More information

Software Engineering 2DA4. Slides 9: Asynchronous Sequential Circuits

Software Engineering 2DA4. Slides 9: Asynchronous Sequential Circuits Software Engineering 2DA4 Slides 9: Asynchronous Sequential Circuits Dr. Ryan Leduc Department of Computing and Software McMaster University Material based on S. Brown and Z. Vranesic, Fundamentals of

More information

Using minterms, m-notation / decimal notation Sum = Cout = Using maxterms, M-notation Sum = Cout =

Using minterms, m-notation / decimal notation Sum = Cout = Using maxterms, M-notation Sum = Cout = 1 Review of Digital Logic Design Fundamentals Logic circuits: 1. Combinational Logic: No memory, present output depends only on the present input 2. Sequential Logic: Has memory, present output depends

More information

Chapter 5: Synchronous Sequential Logic

Chapter 5: Synchronous Sequential Logic Chapter 5: Synchronous Sequential Logic NCNU_2016_DD_5_1 Digital systems may contain memory for storing information. Combinational circuits contains no memory elements the outputs depends only on the inputs

More information

Chapter 5 Synchronous Sequential Logic

Chapter 5 Synchronous Sequential Logic Chapter 5 Synchronous Sequential Logic Chih-Tsun Huang ( 黃稚存 ) http://nthucad.cs.nthu.edu.tw/~cthuang/ Department of Computer Science National Tsing Hua University Outline Introduction Storage Elements:

More information

Combinational vs Sequential

Combinational vs Sequential Combinational vs Sequential inputs X Combinational Circuits outputs Z A combinational circuit: At any time, outputs depends only on inputs Changing inputs changes outputs No regard for previous inputs

More information

Signal Persistence Checking of Asynchronous System Implementation using SPIN

Signal Persistence Checking of Asynchronous System Implementation using SPIN , March 18-20, 2015, Hong Kong Signal Persistence Checking of Asynchronous System Implementation using SPIN Weerasak Lawsunnee, Arthit Thongtak, Wiwat Vatanawood Abstract Asynchronous system is widely

More information

THE design of asynchronous circuits is a difficult task

THE design of asynchronous circuits is a difficult task IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 16, NO. 8, AUGUST 1997 835 Externally Hazard-Free Implementations of Asynchronous Control Circuits Milton H. Sawasaki,

More information

1. What does the signal for a static-zero hazard look like?

1. What does the signal for a static-zero hazard look like? Sample Problems 1. What does the signal for a static-zero hazard look like? The signal will always be logic zero except when the hazard occurs which will cause it to temporarly go to logic one (i.e. glitch

More information

EITF35: Introduction to Structured VLSI Design

EITF35: Introduction to Structured VLSI Design EITF35: Introduction to Structured VLSI Design Part 4.2.1: Learn More Liang Liu liang.liu@eit.lth.se 1 Outline Crossing clock domain Reset, synchronous or asynchronous? 2 Why two DFFs? 3 Crossing clock

More information

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow Bradley R. Quinton*, Mark R. Greenstreet, Steven J.E. Wilton*, *Dept. of Electrical and Computer Engineering, Dept.

More information

Advanced Digital Logic Design EECS 303

Advanced Digital Logic Design EECS 303 Advanced Digital Logic Design EECS 303 http://ziyang.eecs.northwestern.edu/eecs303/ Teacher: Robert Dick Office: L477 Tech Email: dickrp@northwestern.edu Phone: 847 467 2298 Outline Introduction Reset/set

More information

The outputs are formed by a combinational logic function of the inputs to the circuit or the values stored in the flip-flops (or both).

The outputs are formed by a combinational logic function of the inputs to the circuit or the values stored in the flip-flops (or both). 1 The outputs are formed by a combinational logic function of the inputs to the circuit or the values stored in the flip-flops (or both). The value that is stored in a flip-flop when the clock pulse occurs

More information

cascading flip-flops for proper operation clock skew Hardware description languages and sequential logic

cascading flip-flops for proper operation clock skew Hardware description languages and sequential logic equential logic equential circuits simple circuits with feedback latches edge-triggered flip-flops Timing methodologies cascading flip-flops for proper operation clock skew Basic registers shift registers

More information

DIGITAL CIRCUIT LOGIC UNIT 11: SEQUENTIAL CIRCUITS (LATCHES AND FLIP-FLOPS)

DIGITAL CIRCUIT LOGIC UNIT 11: SEQUENTIAL CIRCUITS (LATCHES AND FLIP-FLOPS) DIGITAL CIRCUIT LOGIC UNIT 11: SEQUENTIAL CIRCUITS (LATCHES AND FLIP-FLOPS) 1 iclicker Question 16 What should be the MUX inputs to implement the following function? (4 minutes) f A, B, C = m(0,2,5,6,7)

More information

CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER

CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER 80 CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER 6.1 INTRODUCTION Asynchronous designs are increasingly used to counter the disadvantages of synchronous designs.

More information

Computer Architecture and Organization

Computer Architecture and Organization A-1 Appendix A - Digital Logic Computer Architecture and Organization Miles Murdocca and Vincent Heuring Appendix A Digital Logic A-2 Appendix A - Digital Logic Chapter Contents A.1 Introduction A.2 Combinational

More information

Design for Testability

Design for Testability TDTS 01 Lecture 9 Design for Testability Zebo Peng Embedded Systems Laboratory IDA, Linköping University Lecture 9 The test problems Fault modeling Design for testability techniques Zebo Peng, IDA, LiTH

More information

Combinational / Sequential Logic

Combinational / Sequential Logic Digital Circuit Design and Language Combinational / Sequential Logic Chang, Ik Joon Kyunghee University Combinational Logic + The outputs are determined by the present inputs + Consist of input/output

More information

Section 6.8 Synthesis of Sequential Logic Page 1 of 8

Section 6.8 Synthesis of Sequential Logic Page 1 of 8 Section 6.8 Synthesis of Sequential Logic Page of 8 6.8 Synthesis of Sequential Logic Steps:. Given a description (usually in words), develop the state diagram. 2. Convert the state diagram to a next-state

More information

UNIT 1 NUMBER SYSTEMS AND DIGITAL LOGIC FAMILIES 1. Briefly explain the stream lined method of converting binary to decimal number with example. 2. Give the Gray code for the binary number (111) 2. 3.

More information

CS8803: Advanced Digital Design for Embedded Hardware

CS8803: Advanced Digital Design for Embedded Hardware Copyright 2, 23 M Ciletti 75 STORAGE ELEMENTS: R-S LATCH CS883: Advanced igital esign for Embedded Hardware Storage elements are used to store information in a binary format (e.g. state, data, address,

More information

Glitches/hazards and how to avoid them. What to do when the state machine doesn t fit!

Glitches/hazards and how to avoid them. What to do when the state machine doesn t fit! State Machine Signaling Timing Behavior Glitches/hazards and how to avoid them SM Partitioning What to do when the state machine doesn t fit! State Machine Signaling Introducing Idle States (synchronous

More information

Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram

Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits Nov 26, 2002 John Wawrzynek Outline SR Latches and other storage elements Synchronizers Figures from Digital Design, John F. Wakerly

More information

Retiming Sequential Circuits for Low Power

Retiming Sequential Circuits for Low Power Retiming Sequential Circuits for Low Power José Monteiro, Srinivas Devadas Department of EECS MIT, Cambridge, MA Abhijit Ghosh Mitsubishi Electric Research Laboratories Sunnyvale, CA Abstract Switching

More information

Chapter 12. Synchronous Circuits. Contents

Chapter 12. Synchronous Circuits. Contents Chapter 12 Synchronous Circuits Contents 12.1 Syntactic definition........................ 149 12.2 Timing analysis: the canonic form............... 151 12.2.1 Canonic form of a synchronous circuit..............

More information

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic. 1. CLOCK MUXING: With more and more multi-frequency clocks being used in today's chips, especially in the communications field, it is often necessary to switch the source of a clock line while the chip

More information

2.6 Reset Design Strategy

2.6 Reset Design Strategy 2.6 Reset esign Strategy Many design issues must be considered before choosing a reset strategy for an ASIC design, such as whether to use synchronous or asynchronous resets, will every flipflop receive

More information

Lec 24 Sequential Logic Revisited Sequential Circuit Design and Timing

Lec 24 Sequential Logic Revisited Sequential Circuit Design and Timing Traversing igital esign EECS - Components and esign Techniques for igital Systems EECS wks 6 - Lec 24 Sequential Logic Revisited Sequential Circuit esign and Timing avid Culler Electrical Engineering and

More information

FLIP-FLOPS AND RELATED DEVICES

FLIP-FLOPS AND RELATED DEVICES C H A P T E R 5 FLIP-FLOPS AND RELATED DEVICES OUTLINE 5- NAND Gate Latch 5-2 NOR Gate Latch 5-3 Troubleshooting Case Study 5-4 Digital Pulses 5-5 Clock Signals and Clocked Flip-Flops 5-6 Clocked S-R Flip-Flop

More information

Synchronization in Asynchronously Communicating Digital Systems

Synchronization in Asynchronously Communicating Digital Systems Synchronization in Asynchronously Communicating Digital Systems Priyadharshini Shanmugasundaram Abstract Two digital systems working in different clock domains require a protocol to communicate with each

More information

Department of CSIT. Class: B.SC Semester: II Year: 2013 Paper Title: Introduction to logics of Computer Max Marks: 30

Department of CSIT. Class: B.SC Semester: II Year: 2013 Paper Title: Introduction to logics of Computer Max Marks: 30 Department of CSIT Class: B.SC Semester: II Year: 2013 Paper Title: Introduction to logics of Computer Max Marks: 30 Section A: (All 10 questions compulsory) 10X1=10 Very Short Answer Questions: Write

More information

Sequential Circuits. Output depends only and immediately on the inputs Have no memory (dependence on past values of the inputs)

Sequential Circuits. Output depends only and immediately on the inputs Have no memory (dependence on past values of the inputs) Sequential Circuits Combinational circuits Output depends only and immediately on the inputs Have no memory (dependence on past values of the inputs) Sequential circuits Combination circuits with memory

More information

Experiment 8 Introduction to Latches and Flip-Flops and registers

Experiment 8 Introduction to Latches and Flip-Flops and registers Experiment 8 Introduction to Latches and Flip-Flops and registers Introduction: The logic circuits that have been used until now were combinational logic circuits since the output of the device depends

More information

MODULE 3. Combinational & Sequential logic

MODULE 3. Combinational & Sequential logic MODULE 3 Combinational & Sequential logic Combinational Logic Introduction Logic circuit may be classified into two categories. Combinational logic circuits 2. Sequential logic circuits A combinational

More information

Synchronous Sequential Logic

Synchronous Sequential Logic Synchronous Sequential Logic Ranga Rodrigo August 2, 2009 1 Behavioral Modeling Behavioral modeling represents digital circuits at a functional and algorithmic level. It is used mostly to describe sequential

More information

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit) Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6. - Introductory Digital Systems Laboratory (Spring 006) Laboratory - Introduction to Digital Electronics

More information

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath Objectives Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath In the previous chapters we have studied how to develop a specification from a given application, and

More information

Logic and Computer Design Fundamentals. Chapter 7. Registers and Counters

Logic and Computer Design Fundamentals. Chapter 7. Registers and Counters Logic and Computer Design Fundamentals Chapter 7 Registers and Counters Registers Register a collection of binary storage elements In theory, a register is sequential logic which can be defined by a state

More information

Digital Logic Design ENEE x. Lecture 19

Digital Logic Design ENEE x. Lecture 19 Digital Logic Design ENEE 244-010x Lecture 19 Announcements Homework 8 due on Monday, 11/23. Agenda Last time: Timing Considerations (6.3) Master-Slave Flip-Flops (6.4) This time: Edge-Triggered Flip-Flops

More information

DEDICATED TO EMBEDDED SOLUTIONS

DEDICATED TO EMBEDDED SOLUTIONS DEDICATED TO EMBEDDED SOLUTIONS DESIGN SAFE FPGA INTERNAL CLOCK DOMAIN CROSSINGS ESPEN TALLAKSEN DATA RESPONS SCOPE Clock domain crossings (CDC) is probably the worst source for serious FPGA-bugs that

More information

D Latch (Transparent Latch)

D Latch (Transparent Latch) D Latch (Transparent Latch) -One way to eliminate the undesirable condition of the indeterminate state in the SR latch is to ensure that inputs S and R are never equal to 1 at the same time. This is done

More information

EE178 Lecture Module 4. Eric Crabill SJSU / Xilinx Fall 2005

EE178 Lecture Module 4. Eric Crabill SJSU / Xilinx Fall 2005 EE178 Lecture Module 4 Eric Crabill SJSU / Xilinx Fall 2005 Lecture #9 Agenda Considerations for synchronizing signals. Clocks. Resets. Considerations for asynchronous inputs. Methods for crossing clock

More information

Outline. CPE/EE 422/522 Advanced Logic Design L03. Review: Clocked D Flip-Flop with Rising-edge Trigger. Sequential Networks

Outline. CPE/EE 422/522 Advanced Logic Design L03. Review: Clocked D Flip-Flop with Rising-edge Trigger. Sequential Networks Outline PE/EE 422/522 Advanced Logic Design L3 Electrical and omputer Engineering University of Alabama in Huntsville What we know ombinational Networks Analysis, Synthesis, Simplification, Buiing Blocks,

More information

Sequential logic. Circuits with feedback. How to control feedback? Sequential circuits. Timing methodologies. Basic registers

Sequential logic. Circuits with feedback. How to control feedback? Sequential circuits. Timing methodologies. Basic registers equential logic equential circuits simple circuits with feedback latches edge-triggered flip-flops Timing methodologies cascading flip-flops for proper operation clock skew Basic registers shift registers

More information

ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 6 Following the slides of Dr. Ahmed H. Madian ذو الحجة 1438 ه Winter

More information

Sequential Circuit Design: Principle

Sequential Circuit Design: Principle Sequential Circuit Design: Principle modified by L.Aamodt 1 Outline 1. 2. 3. 4. 5. 6. 7. 8. Overview on sequential circuits Synchronous circuits Danger of synthesizing asynchronous circuit Inference of

More information

The word digital implies information in computers is represented by variables that take a limited number of discrete values.

The word digital implies information in computers is represented by variables that take a limited number of discrete values. Class Overview Cover hardware operation of digital computers. First, consider the various digital components used in the organization and design. Second, go through the necessary steps to design a basic

More information

Flip-Flops. Because of this the state of the latch may keep changing in circuits with feedback as long as the clock pulse remains active.

Flip-Flops. Because of this the state of the latch may keep changing in circuits with feedback as long as the clock pulse remains active. Flip-Flops Objectives The objectives of this lesson are to study: 1. Latches versus Flip-Flops 2. Master-Slave Flip-Flops 3. Timing Analysis of Master-Slave Flip-Flops 4. Different Types of Master-Slave

More information

Project 6: Latches and flip-flops

Project 6: Latches and flip-flops Project 6: Latches and flip-flops Yuan Ze University epartment of Computer Engineering and Science Copyright by Rung-Bin Lin, 1999 All rights reserved ate out: 06/5/2003 ate due: 06/25/2003 Purpose: This

More information

EE178 Spring 2018 Lecture Module 5. Eric Crabill

EE178 Spring 2018 Lecture Module 5. Eric Crabill EE178 Spring 2018 Lecture Module 5 Eric Crabill Goals Considerations for synchronizing signals Clocks Resets Considerations for asynchronous inputs Methods for crossing clock domains Clocks The academic

More information

Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 29 Minimizing Switched Capacitance-III. (Refer

More information

Software Engineering 2DA4. Slides 3: Optimized Implementation of Logic Functions

Software Engineering 2DA4. Slides 3: Optimized Implementation of Logic Functions Software Engineering 2DA4 Slides 3: Optimized Implementation of Logic Functions Dr. Ryan Leduc Department of Computing and Software McMaster University Material based on S. Brown and Z. Vranesic, Fundamentals

More information

Design for Testability Part II

Design for Testability Part II Design for Testability Part II 1 Partial-Scan Definition A subset of flip-flops is scanned. Objectives: Minimize area overhead and scan sequence length, yet achieve required fault coverage. Exclude selected

More information

Good afternoon! My name is Swetha Mettala Gilla you can call me Swetha.

Good afternoon! My name is Swetha Mettala Gilla you can call me Swetha. Good afternoon! My name is Swetha Mettala Gilla you can call me Swetha. I m a student at the Electrical and Computer Engineering Department and at the Asynchronous Research Center. This talk is about the

More information

Device. VME Bus Controller. 35 th Design Automation Conference Copyright 1998 ACM. Bus. Data Transceiver. DSr LDS. DSw LDTACK DTACK.

Device. VME Bus Controller. 35 th Design Automation Conference Copyright 1998 ACM. Bus. Data Transceiver. DSr LDS. DSw LDTACK DTACK. Asynchronous Interface Specication, Analysis and Synthesis Michael Kishinevsky Jordi Cortadella Alex Kondratyev Intel Corporation Technical University of Catalonia The University of Aizu Hillsboro, OR,

More information

Momentary Changes in Outputs. State Machine Signaling. Oscillatory Behavior. Hazards/Glitches. Types of Hazards. Static Hazards

Momentary Changes in Outputs. State Machine Signaling. Oscillatory Behavior. Hazards/Glitches. Types of Hazards. Static Hazards State Machine Signaling Momentary hanges in Outputs Timing ehavior Glitches/hazards and how to avoid them SM Partitioning What to do when the state machine doesn t fit! State Machine Signaling State Machine

More information

Final Exam review: chapter 4 and 5. Supplement 3 and 4

Final Exam review: chapter 4 and 5. Supplement 3 and 4 Final Exam review: chapter 4 and 5. Supplement 3 and 4 1. A new type of synchronous flip-flop has the following characteristic table. Find the corresponding excitation table with don t cares used as much

More information

MC9211 Computer Organization

MC9211 Computer Organization MC9211 Computer Organization Unit 2 : Combinational and Sequential Circuits Lesson2 : Sequential Circuits (KSB) (MCA) (2009-12/ODD) (2009-10/1 A&B) Coverage Lesson2 Outlines the formal procedures for the

More information

Chapter 6. sequential logic design. This is the beginning of the second part of this course, sequential logic.

Chapter 6. sequential logic design. This is the beginning of the second part of this course, sequential logic. Chapter 6. sequential logic design This is the beginning of the second part of this course, sequential logic. equential logic equential circuits simple circuits with feedback latches edge-triggered flip-flops

More information

Logic Design II (17.342) Spring Lecture Outline

Logic Design II (17.342) Spring Lecture Outline Logic Design II (17.342) Spring 2012 Lecture Outline Class # 05 February 23, 2012 Dohn Bowden 1 Today s Lecture Analysis of Clocked Sequential Circuits Chapter 13 2 Course Admin 3 Administrative Admin

More information

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS NH 67, Karur Trichy Highways, Puliyur C.F, 639 114 Karur District DEPARTMENT OF ELETRONICS AND COMMUNICATION ENGINEERING COURSE NOTES SUBJECT: DIGITAL ELECTRONICS CLASS: II YEAR ECE SUBJECT CODE: EC2203

More information

More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 <98> 98

More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 <98> 98 More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 98 Review: Bit Storage SR latch S (set) Q R (reset) Level-sensitive SR latch S S1 C R R1 Q D C S R D latch Q

More information

Unit 11. Latches and Flip-Flops

Unit 11. Latches and Flip-Flops Unit 11 Latches and Flip-Flops 1 Combinational Circuits A combinational circuit consists of logic gates whose outputs, at any time, are determined by combining the values of the inputs. For n input variables,

More information

CHAPTER 4: Logic Circuits

CHAPTER 4: Logic Circuits CHAPTER 4: Logic Circuits II. Sequential Circuits Combinational circuits o The outputs depend only on the current input values o It uses only logic gates, decoders, multiplexers, ALUs Sequential circuits

More information

Flip Flop. S-R Flip Flop. Sequential Circuits. Block diagram. Prepared by:- Anwar Bari

Flip Flop. S-R Flip Flop. Sequential Circuits. Block diagram. Prepared by:- Anwar Bari Sequential Circuits The combinational circuit does not use any memory. Hence the previous state of input does not have any effect on the present state of the circuit. But sequential circuit has memory

More information

Logic Design ( Part 3) Sequential Logic- Finite State Machines (Chapter 3)

Logic Design ( Part 3) Sequential Logic- Finite State Machines (Chapter 3) Logic esign ( Part ) Sequential Logic- Finite State Machines (Chapter ) Based on slides McGraw-Hill Additional material 00/00/006 Lewis/Martin Additional material 008 Roth Additional material 00 Taylor

More information

Synchronous Sequential Design

Synchronous Sequential Design Synchronous Sequential Design SMD098 Computation Structures Lecture 4 1 Synchronous sequential systems Almost all digital systems have some concept of state the outputs of a system depends on the past

More information

Chapter 4. Logic Design

Chapter 4. Logic Design Chapter 4 Logic Design 4.1 Introduction. In previous Chapter we studied gates and combinational circuits, which made by gates (AND, OR, NOT etc.). That can be represented by circuit diagram, truth table

More information

Chapter 5 Flip-Flops and Related Devices

Chapter 5 Flip-Flops and Related Devices Chapter 5 Flip-Flops and Related Devices Chapter 5 Objectives Selected areas covered in this chapter: Constructing/analyzing operation of latch flip-flops made from NAND or NOR gates. Differences of synchronous/asynchronous

More information

FSM Cookbook. 1. Introduction. 2. What Functional Information Must be Modeled

FSM Cookbook. 1. Introduction. 2. What Functional Information Must be Modeled FSM Cookbook 1. Introduction Tau models describe the timing and functional information of component interfaces. Timing information specifies the delay in placing values on output signals and the timing

More information

6. Sequential Logic Flip-Flops

6. Sequential Logic Flip-Flops ection 6. equential Logic Flip-Flops Page of 5 6. equential Logic Flip-Flops ombinatorial components: their output values are computed entirely from their present input values. equential components: their

More information

UNIT III. Combinational Circuit- Block Diagram. Sequential Circuit- Block Diagram

UNIT III. Combinational Circuit- Block Diagram. Sequential Circuit- Block Diagram UNIT III INTRODUCTION In combinational logic circuits, the outputs at any instant of time depend only on the input signals present at that time. For a change in input, the output occurs immediately. Combinational

More information

Scan. This is a sample of the first 15 pages of the Scan chapter.

Scan. This is a sample of the first 15 pages of the Scan chapter. Scan This is a sample of the first 15 pages of the Scan chapter. Note: The book is NOT Pinted in color. Objectives: This section provides: An overview of Scan An introduction to Test Sequences and Test

More information

Flip-Flops and Related Devices. Wen-Hung Liao, Ph.D. 4/11/2001

Flip-Flops and Related Devices. Wen-Hung Liao, Ph.D. 4/11/2001 Flip-Flops and Related Devices Wen-Hung Liao, Ph.D. 4/11/2001 Objectives Recognize the various IEEE/ANSI flip-flop symbols. Use state transition diagrams to describe counter operation. Use flip-flops in

More information

Switching Theory And Logic Design UNIT-IV SEQUENTIAL LOGIC CIRCUITS

Switching Theory And Logic Design UNIT-IV SEQUENTIAL LOGIC CIRCUITS Switching Theory And Logic Design UNIT-IV SEQUENTIAL LOGIC CIRCUITS Sequential circuits Classification of sequential circuits: Sequential circuits may be classified as two types. 1. Synchronous sequential

More information

1. Convert the decimal number to binary, octal, and hexadecimal.

1. Convert the decimal number to binary, octal, and hexadecimal. 1. Convert the decimal number 435.64 to binary, octal, and hexadecimal. 2. Part A. Convert the circuit below into NAND gates. Insert or remove inverters as necessary. Part B. What is the propagation delay

More information

Administrative issues. Sequential logic

Administrative issues. Sequential logic Administrative issues Midterm #1 will be given Tuesday, October 29, at 9:30am. The entire class period (75 minutes) will be used. Open book, open notes. DDPP sections: 2.1 2.6, 2.10 2.13, 3.1 3.4, 3.7,

More information

EECS150 - Digital Design Lecture 19 - Finite State Machines Revisited

EECS150 - Digital Design Lecture 19 - Finite State Machines Revisited EECS150 - Digital Design Lecture 19 - Finite State Machines Revisited April 2, 2013 John Wawrzynek Spring 2013 EECS150 - Lec19-fsm Page 1 Finite State Machines (FSMs) FSM circuits are a type of sequential

More information

COE328 Course Outline. Fall 2007

COE328 Course Outline. Fall 2007 COE28 Course Outline Fall 2007 1 Objectives This course covers the basics of digital logic circuits and design. Through the basic understanding of Boolean algebra and number systems it introduces the student

More information

IT T35 Digital system desigm y - ii /s - iii

IT T35 Digital system desigm y - ii /s - iii UNIT - III Sequential Logic I Sequential circuits: latches flip flops analysis of clocked sequential circuits state reduction and assignments Registers and Counters: Registers shift registers ripple counters

More information

https://daffy1108.wordpress.com/2014/06/08/synchronizers-for-asynchronous-signals/

https://daffy1108.wordpress.com/2014/06/08/synchronizers-for-asynchronous-signals/ https://daffy1108.wordpress.com/2014/06/08/synchronizers-for-asynchronous-signals/ Synchronizers for Asynchronous Signals Asynchronous signals causes the big issue with clock domains, namely metastability.

More information

Principles of Computer Architecture. Appendix A: Digital Logic

Principles of Computer Architecture. Appendix A: Digital Logic A-1 Appendix A - Digital Logic Principles of Computer Architecture Miles Murdocca and Vincent Heuring Appendix A: Digital Logic A-2 Appendix A - Digital Logic Chapter Contents A.1 Introduction A.2 Combinational

More information

EEC 116 Fall 2011 Lab #5: Pipelined 32b Adder

EEC 116 Fall 2011 Lab #5: Pipelined 32b Adder EEC 116 Fall 2011 Lab #5: Pipelined 32b Adder Dept. of Electrical and Computer Engineering University of California, Davis Issued: November 2, 2011 Due: November 16, 2011, 4PM Reading: Rabaey Sections

More information

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Sequential Circuits

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Sequential Circuits Computer Science 324 Computer Architecture Mount Holyoke College Fall 2009 opic Notes: Sequential Circuits Let s think about how life can be bad for a circuit. Edge Detection Consider this one: What is

More information

Engr354: Digital Logic Circuits

Engr354: Digital Logic Circuits Engr354: igital Circuits Chapter 7 Sequential Elements r. Curtis Nelson Sequential Elements In this chapter you will learn about: circuits that can store information; Basic cells, latches, and flip-flops;

More information

Outline. CPE/EE 422/522 Advanced Logic Design L04. Review: 8421 BCD to Excess3 BCD Code Converter. Review: Mealy Sequential Networks

Outline. CPE/EE 422/522 Advanced Logic Design L04. Review: 8421 BCD to Excess3 BCD Code Converter. Review: Mealy Sequential Networks Outline PE/EE 422/522 Advanced Logic Design L4 Electrical and omputer Engineering University of Alabama in Huntsville What we know ombinational Networks Analysis, Synthesis, Simplification, Hazards, Building

More information

ELEN Electronique numérique

ELEN Electronique numérique ELEN0040 - Electronique numérique Patricia ROUSSEAUX Année académique 2014-2015 CHAPITRE 5 Sequential circuits design - Timing issues ELEN0040 5-228 1 Sequential circuits design 1.1 General procedure 1.2

More information

Digital Design, Kyung Hee Univ. Chapter 5. Synchronous Sequential Logic

Digital Design, Kyung Hee Univ. Chapter 5. Synchronous Sequential Logic Chapter 5. Synchronous Sequential Logic 1 5.1 Introduction Electronic products: ability to send, receive, store, retrieve, and process information in binary format Dependence on past values of inputs Sequential

More information

CS6201 UNIT I PART-A. Develop or build the following Boolean function with NAND gate F(x,y,z)=(1,2,3,5,7).

CS6201 UNIT I PART-A. Develop or build the following Boolean function with NAND gate F(x,y,z)=(1,2,3,5,7). VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur-603203 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Academic Year: 2015-16 BANK - EVEN SEMESTER UNIT I PART-A 1 Find the octal equivalent of hexadecimal

More information

Synchronous Sequential Logic

Synchronous Sequential Logic Synchronous Sequential Logic -A Sequential Circuit consists of a combinational circuit to which storage elements are connected to form a feedback path. The storage elements are devices capable of storing

More information

Static Timing Analysis for Nanometer Designs

Static Timing Analysis for Nanometer Designs J. Bhasker Rakesh Chadha Static Timing Analysis for Nanometer Designs A Practical Approach 4y Spri ringer Contents Preface xv CHAPTER 1: Introduction / 1.1 Nanometer Designs 1 1.2 What is Static Timing

More information

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

System IC Design: Timing Issues and DFT. Hung-Chih Chiang System IC esign: Timing Issues and FT Hung-Chih Chiang Outline SoC Timing Issues Timing terminologies Synchronous vs. asynchronous design Interfaces and timing closure Clocking issues Reset esign for Testability

More information

Department of Computer Science and Engineering Question Bank- Even Semester:

Department of Computer Science and Engineering Question Bank- Even Semester: Department of Computer Science and Engineering Question Bank- Even Semester: 2014-2015 CS6201& DIGITAL PRINCIPLES AND SYSTEM DESIGN (Common to IT & CSE, Regulation 2013) UNIT-I 1. Convert the following

More information

Sequential Logic and Clocked Circuits

Sequential Logic and Clocked Circuits Sequential Logic and Clocked Circuits Clock or Timing Device Input Variables State or Memory Element Combinational Logic Elements From combinational logic, we move on to sequential logic. Sequential logic

More information

Synchronous Sequential Logic. Chapter 5

Synchronous Sequential Logic. Chapter 5 Synchronous Sequential Logic Chapter 5 5-1 Introduction Combinational circuits contains no memory elements the outputs depends on the inputs Synchronous Sequential Logic 5-2 5-2 Sequential Circuits Sequential

More information

St. MARTIN S ENGINEERING COLLEGE

St. MARTIN S ENGINEERING COLLEGE St. MARTIN S ENGINEERING COLLEGE Dhulapally, Kompally, Secunderabad-500014. Branch Year&Sem Subject Name : Electronics and Communication Engineering : II B. Tech I Semester : SWITCHING THEORY AND LOGIC

More information

L4: Sequential Building Blocks (Flip-flops, Latches and Registers)

L4: Sequential Building Blocks (Flip-flops, Latches and Registers) L4: Sequential Building Blocks (Flip-flops, Latches and Registers) Acknowledgements: Lecture material adapted from R. Katz, G. Borriello, Contemporary Logic esign (second edition), Prentice-Hall/Pearson

More information