2IN35 VLSI Programming Lab Work Communication Protocols: A Synchronous and an Asynchronous One
|
|
- Douglas George
- 5 years ago
- Views:
Transcription
1 2IN35 VLSI Programming Lab Work Communication Protocols: A Synchronous and an Asynchronous One René Gabriëls, r.gabriels@student.tue.nl July 1,
2 Contents 1 Introduction 3 2 Problem Description 3 3 Synchronous solution Protocol Composition Verilog implementation Asynchronous solution Protocol Composition Verilog implementation A Verilog code listings 8 A.1 Synchronous protocol A.2 Asynchronous protocol
3 1 Introduction This document describes the problem of communication between two hardware components, and how to solve it using a communication protocol. Two solutions are presented: a synchronous method (i.e. using shared clocks) and using an asynchronous method (i.e. using a handshake protocol). 2 Problem Description Imagine a situation in which there are two hardware components: a producer P and a consumer C, connected together by a wire (see figure 1). P sends data to C over this wire. But how does C know when to look for a data item, and how does P know when C has received the data item and is ready for the next one? This problem will be tackled in the next two sections by a synchronous and an asynchronous approach. P data C Figure 1: Producer P and consumer C with shared communication wire data 3 Synchronous solution 3.1 Protocol The first solution is introducing a shared notion of time between the sender and receiver, known as a clock (hence the name synchronous ), plus a set of conventions to indicate when data items have to be sent and received. A clock can be any periodic signal, but a square wave with equal low and high periods is most common. For such a clock, a communication convention might be that one data item has to be send and received every clock cycle. The number of values exchanged per second then equals the frequency of the clock. This scheme works, except when the sender cannot send a data item every clock cycle, or the receiver cannot receive a data item every clock cycle. This can be solved by introducing signaling wires, where the sender and receiver can notify each other whether they are ready to communicate or not. When both are ready during the same clock cycle, communication can proceed according to the protocol outlined above. Each side in the communication can be either active or passive. An active side signals that it is ready, no matter what the state of the other side is, while a passive side only signals readyness whenever the other side has already signaled readyness. A communication channel always has a passive and an active component connected to it. This gives rise to 2 possible 3
4 clock ready P enabled data C Figure 2: Producer P and consumer C with communication wire data, signaling wires ready and enabled, and a shared clock. configurations: a pull configuration, where the consumer is active and the producer is passive, and a push configuration, where the producer is active and consumer is passive. A pull configuration is shown in figure 2. Whenever C is ready to accept new data in this configuration, it signals this by making the ready wire high. If C is ready, P can signal that it has data available by making the enabled wire high. Every clock cycle in which enabled is high, one data item is send over the wire. Such a system can be in four states: ready enabled meaning 0 0 P and C are both busy. 0 1 Forbidden! No data items may be send when ready is low. 1 0 C is ready to accept a value, P is busy. 1 1 C is ready to accept a value, P sends a value. Figure 3 shows an example of this scheme in action between a producer P and consumer C. Every clock cycle in which both ready and enabled are high, one data item is exchanged. So in this example, 4 data items are exchanged between P and C in total. clock ready enabled data item 1? item 2 item 3? item 4 Figure 3: Operation of a synchronous protocol with a shared clock, signaling wires ready and enabled and data wire data. 3.2 Composition The disadvantage of a pull or push configuration is that one side must always be passive (P in the pull configuratin above), while the other side must always be active (C in the pull configuration above). To prevent mismatching components, one could choose to adopt a convention that everything should be constructed in a pull or push configuration. However, it is more 4
5 attractive to choose the third option: make both sides active. So in every clock cycle when both sides are ready, a data item is exchanged. This can be implemented straightforwardly by using an AND-gate to combine the ready signals, and feed those back as enabled signals. Figure 4 shows a pipeline consisting of a producer, a combined producer/consumer and a consumer connected together using this scheme. clock ready ready ready ready P enabled & enabled C & P enabled & enabled C data data Figure 4: Sequential composition of three active synchronous components P, C&P and C, interconnected by passivators. 3.3 Verilog implementation A skeleton verilog implementation for the pipeline shown in figure 4 is listed in appendix A.1. It consists of 4 components: a producer prod, a producer and consumer prodcons, a consumer cons, a passivator passivator. These components are instantiated in the top-level module pipeline. The components cons and prodcons have an input port consisting of the wires in ready, in enabled and in data. Conversely, the component prod and prodcons have an output port consisting of the wires out ready, out enabled and out data. Additionaly, each component has a parameter to specify the data width of the data wires. In each component, a buffer is provided for every output wire to keep it stable (see figure 5. Implementing the protocol amounts to controlling these buffers in the behavioral section (the statements in The behavior is a state machine that alternates between computation and communication. clock in_ready in_enabled in_data buf logic buf buf out_ready out_enabled out_data Figure 5: Generic synchronous producer/consumer component. 5
6 4 Asynchronous solution 4.1 Protocol The other solution uses the signaling wires such that a global clock isn t needed, and hence an absence of a shared notion of time. This opens the door to components that work at different clock speeds internally, but can still communicate with each other. Components might even be asynchronous internally. Such a design is shown in figure 6. request P acknowledge data C Figure 6: Producer P and consumer C with communication wire data, and signaling wires request and acknowledge. The most common asynchronous protocols are a 2-phase or 4-phase handshake protocol. We will describe a 4-phase protocol, as illustrated in figure 7. The four phases of the protocol are: 1. Whenever C is ready to receive a value, it sends a request to P (by making the request wire high). 2. If C has send a request, the sender can send an acknowledge back to C (by making the acknowledge wire high) as soon as it has data available. 3. When C receives an acknowledge, it will read the data item, and signal that it is ready reading the data item by making the request wire low again. 4. Whenever the request wire becomes low, the sender will respond by making the acknowledge wire low as well, ending the 4 phase handshake. Note that after a cycle of this protocol, the system is in the same state as before. The four phases are (in order): request acknowledge meaning 0 0 P and C are both busy. 1 0 C has requested a data item, P is busy. 1 1 C has requested a data item, P has send and acknowledged it. 0 1 C has received a data item, P is waiting to for acknowledge low. Note that although the synchronous and asynchronous solution both use two signaling wires, they are not the same! The asynchronous protocol always needs to go through the four phases in order, and thereby exchange one data item. The synchronous protocol on the other hand does not have to do a complete cycle to exchange one data item: if both signaling wires are high during n consecutive clock cycles, n data items are exchanged. The clock signal is used to separate consecutive data items, which is impossible in an asynchronous system. 6
7 request acknowledge data? item 1? item 2? item 3? item 4? Figure 7: Operation of an asynchronous protocol with signaling wires request and acknowledge and data wire data. 4.2 Composition As was the case for the synchronous solution, this solution also has an active and a passive side: the consumer is active (because it controls the request wire), and the sender is passive (because it controls the acknowledge wire). This is again a pull configuration. Reversing the roles of the producer and consumer, would result in a push configuration. In both cases, an active side and a passive side have to be matched. In order to prevent mismatches, we could standardize on one of these two approaches. But again, another solution is more attractive: make all components active, and insert a simple two port passive component in between them, known as a passivator. This device may seem more complex than it actually is. Instead of an AND-gate (which worked for the synchronous solution), we need a symmetric Muller-C element. A Muller-C element can be implemented with a 3-input majority gate, with one feedback wire. In the case of an FPGA this gate can be mapped onto 1 LUT. A composition of three components in a pipeline using the asynchronous protocol to communicate is shown in figure 8. Note the similarity to the synchronous solution. The differences are the absense of a global clock signal (although there might be one) and the Muller-C element instead of the AND-gate to connect the signaling wires. request request request request P acknowledge C acknowledge C & P acknowledge C acknowledge C data data Figure 8: An active producer P and consumer C with a passivator in between. 4.3 Verilog implementation The verilog implementation of the asynchronous protocol for the pipeline of figure 8 is very similar to implementation of the synchronous pipeline. Only the names of the registers and wires, and the guards of the conditionals have changed. See appendix A.2 for a complete listing. Note that this implementation still uses a global clock, but in principle each component can have its own clock. This is what is called a globally asynchronous, locally synchronous (GALS) design. 7
8 A Verilog code listings A.1 Synchronous protocol 1 module prod #(parameter DWIDTH = 8) 3 input r e s e t, 4 output o u t r e a d y, 5 input o u t e n a b l e d, 6 output [ 0 : DWIDTH 1] o u t d a t a ) ; 7 8 // R e g i s t e r f o r output r e a d y s i g n a l 9 reg o u t r e a d y b u f ; 10 a s s i g n o u t r e a d y = o u t r e a d y b u f ; // R e g i s t e r f o r output data 13 reg [ 0 : DWIDTH 1] o u t d a t a b u f ; 14 a s s i g n o u t d a t a = o u t d a t a b u f ; posedge c l o c k ) begin 17 // C l e a r a l l r e g i s t e r s on r e s e t 18 i f ( r e s e t ) begin 19 o u t r e a d y b u f <= 0 ; 20 o u t d a t a b u f <= 0 ; 21 end 22 e l s e begin 23 // Stop p r o v i d i n g data i f output r e q u e s t was acknowledged 24 i f ( o u t e n a b l e d ) begin 25 o u t r e a d y b u f <= 0 ; 26 end 27 // Compute i f no output r e q u e s t i s open 28 i f (! o u t r e a d y ) begin 29 i f output r e a d y n e x t c y c l e begin 30 o u t r e a d y b u f <= 1 ; 31 o u t d a t a b u f <= output ; 32 end 33 compute ; 34 end 35 end 36 end endmodule 8
9 1 module c o n s #(parameter DWIDTH = 8) 3 input r e s e t, 4 output i n r e a d y, 5 input i n e n a b l e d, 6 input [ 0 : DWIDTH 1] i n d a t a ) ; 7 8 // R e g i s t e r f o r i n p u t r e a d y s i g n a l 9 reg i n r e a d y b u f ; 10 a s s i g n i n r e a d y = i n r e a d y b u f ; // B u f f e r to s t o r e incoming v a l u e s 13 reg [ 0 : DWIDTH 1] b u f f e r ; posedge c l o c k ) begin 16 // C l e a r a l l r e g i s t e r s on r e s e t 17 i f ( r e s e t ) begin 18 i n r e a d y b u f <= 0 ; 19 b u f f e r <= 0 ; 20 end 21 e l s e begin 22 // Take data i f i n p u t r e q u e s t was acknowledged 23 i f ( i n e n a b l e d ) begin 24 b u f f e r <= i n d a t a ; 25 i n r e a d y b u f <= 0 ; 26 end 27 // Compute i f no i n p u t r e q u e s t i s open 28 i f (! i n r e a d y ) begin 29 i f i n p u t r e q u i r e d n e x t c y c l e begin 30 i n r e a d y b u f <= 1 ; 31 end 32 compute ; 33 end 34 end 35 end endmodule 9
10 1 module prodcons #(parameter DWIDTH = 8) 3 input r e s e t, 4 output i n r e a d y, 5 input i n e n a b l e d, 6 input [ 0 : DWIDTH 1] i n d a t a, 7 output o u t r e a d y, 8 input o u t e n a b l e d, 9 output [ 0 : DWIDTH 1] o u t d a t a ) ; // R e g i s t e r f o r i n p u t r e a d y s i g n a l 12 reg i n r e a d y b u f ; 13 a s s i g n i n r e a d y = i n r e a d y b u f ; // R e g i s t e r f o r output r e a d y s i g n a l 16 reg o u t r e a d y b u f ; 17 a s s i g n o u t r e a d y = o u t r e a d y b u f ; // R e g i s t e r f o r output data 20 reg [ 0 : DWIDTH 1] o u t d a t a b u f ; 21 a s s i g n o u t d a t a = o u t d a t a b u f ; // B u f f e r to s t o r e incoming v a l u e s 24 reg [ 0 : DWIDTH 1] b u f f e r ; posedge c l o c k ) begin 27 // C l e a r a l l r e g i s t e r s on r e s e t 28 i f ( r e s e t ) begin 29 i n r e a d y b u f <= 0 ; 30 o u t r e a d y b u f <= 0 ; 31 o u t d a t a b u f <= 0 ; 32 b u f f e r <= 0 ; 33 end 34 e l s e begin 35 // Take data i f i n p u t r e q u e s t was acknowledged 36 i f ( i n e n a b l e d ) begin 37 b u f f e r <= i n d a t a ; 38 i n r e a d y b u f <= 0 ; 39 end 40 // Stop p r o v i d i n g data i f output r e q u e s t was acknowledged 41 i f ( o u t e n a b l e d ) begin 42 o u t r e a d y b u f <= 0 ; 43 end 44 // Compute i f no r e q u e s t s a r e open 45 i f (! i n r e a d y &&! o u t r e a d y ) begin 46 i f output r e a d y n e x t c y c l e begin 47 o u t r e a d y b u f <= 1 ; 48 o u t d a t a b u f <= output ; 49 end 50 i f i n p u t r e q u i r e d n e x t c y c l e begin 51 i n r e a d y b u f <= 1 ; 52 end 53 compute ; 54 end 55 end 56 end 57 endmodule 10
11 1 module p a s s i v a t o r #(parameter DWIDTH = 8) 2 ( input i n r e a d y, 3 output i n e n a b l e d, 4 input [ 0 : DWIDTH 1] i n d a t a, 5 input o u t r e a d y, 6 output o u t e n a b l e d, 7 output [ 0 : DWIDTH 1] o u t d a t a ) ; 8 9 // P a s s i v a t o r b e h a v i o u r (AND gate, 1 LUT) 10 a s s i g n i n e n a b l e d = i n r e a d y & o u t r e a d y ; 11 a s s i g n o u t e n a b l e d = i n e n a b l e d ; // Data p a s s t h r o u g h 14 a s s i g n o u t d a t a = i n d a t a ; endmodule 1 module p i p e l i n e #(parameter DWIDTH = 8) 3 input r e s e t ) ; 4 5 // I n t e r c o n n e c t s 6 wire rdy1, rdy2, rdy3, rdy4 ; 7 wire ena1, ena2, ena3, ena4 ; 8 wire [ 0 : DWIDTH 1] data1, data2, data3, data4 ; 9 10 // I n s t a n t i a t e the p i p e l i n e 11 prod #(DWIDTH) s t a g e 1 ( c l o c k, r e s e t, rdy1, ena1, data1 ) ; 12 p a s s i v a t o r #(DWIDTH) p a s s 1 ( rdy1, ena1, data1, rdy2, ena2, data2 ) ; 13 prodcons #(DWIDTH) s t a g e 2 ( c l o c k, r e s e t, rdy2, ena2, data2, rdy3, ena3, data3 ) ; 14 p a s s i v a t o r #(DWIDTH) p a s s 2 ( rdy3, ena3, data3, rdy4, ena4, data4 ) ; 15 cons #(DWIDTH) s t a g e 3 ( c l o c k, r e s e t, rdy4, ena4, data4 ) ; endmodule 11
12 A.2 Asynchronous protocol 1 module prod #(parameter DWIDTH = 8) 3 input r e s e t, 4 output o u t r e q u e s t, 5 input out acknowledge, 6 output [ 0 : DWIDTH 1] o u t d a t a ) ; 7 8 // R e g i s t e r f o r output r e q u e s t s i g n a l 9 reg o u t r e q u e s t b u f ; 10 a s s i g n o u t r e q u e s t = o u t r e q u e s t b u f ; // R e g i s t e r f o r output data 13 reg [ 0 : DWIDTH 1] o u t d a t a b u f ; 14 a s s i g n o u t d a t a = o u t d a t a b u f ; posedge c l o c k ) begin 17 // C l e a r a l l r e g i s t e r s on r e s e t 18 i f ( r e s e t ) begin 19 o u t r e q u e s t b u f <= 0 ; 20 o u t d a t a b u f <= 0 ; 21 end 22 e l s e begin 23 // Stop p r o v i d i n g data i f output r e q u e s t was acknowledged 24 i f ( o u t r e q u e s t && o u t a c k n o w l e d g e ) begin 25 o u t r e q u e s t b u f <= 0 ; 26 end 27 // Compute i f no r e q u e s t s a r e open 28 i f (! o u t r e q u e s t &&! o u t a c k n o w l e d g e ) begin 29 i f output r e a d y n e x t c y c l e begin 30 o u t r e q u e s t b u f <= 1 ; 31 o u t d a t a b u f <= output ; 32 end 33 compute ; 34 end 35 end 36 end endmodule 12
13 1 module c o n s #(parameter DWIDTH = 8) 3 input r e s e t, 4 output i n r e q u e s t, 5 input i n a c k n o w l e d g e, 6 input [ 0 : DWIDTH 1] i n d a t a ) ; 7 8 // R e g i s t e r f o r i n p u t r e q u e s t s i g n a l 9 reg i n r e q u e s t b u f ; 10 a s s i g n i n r e q u e s t = i n r e q u e s t b u f ; // B u f f e r to s t o r e incoming v a l u e s 13 reg [ 0 : DWIDTH 1] b u f f e r ; posedge c l o c k ) begin 16 // C l e a r a l l r e g i s t e r s on r e s e t 17 i f ( r e s e t ) begin 18 i n r e q u e s t b u f <= 0 ; 19 b u f f e r <= 0 ; 20 end 21 e l s e begin 22 // Take data i f i n p u t r e q u e s t was acknowledged 23 i f ( i n r e q u e s t && i n a c k n o w l e d g e ) begin 24 b u f f e r <= i n d a t a ; 25 i n r e q u e s t b u f <= 0 ; 26 end 27 // Compute i f no r e q u e s t s a r e open 28 i f (! i n r e q u e s t &&! i n a c k n o w l e d g e ) begin 29 i f i n p u t r e q u i r e d n e x t c y c l e begin 30 i n r e q u e s t b u f <= 1 ; 31 end 32 compute ; 33 end 34 end 35 end endmodule 13
14 1 module prodcons #(parameter DWIDTH = 8) 3 input r e s e t, 4 output i n r e q u e s t, 5 input i n a c k n o w l e d g e, 6 input [ 0 : DWIDTH 1] i n d a t a, 7 output o u t r e q u e s t, 8 input out acknowledge, 9 output [ 0 : DWIDTH 1] o u t d a t a ) ; // R e g i s t e r f o r i n p u t r e q u e s t s i g n a l 12 reg i n r e q u e s t b u f ; 13 a s s i g n i n r e q u e s t = i n r e q u e s t b u f ; // R e g i s t e r f o r output r e q u e s t s i g n a l 16 reg o u t r e q u e s t b u f ; 17 a s s i g n o u t r e q u e s t = o u t r e q u e s t b u f ; // R e g i s t e r f o r output data 20 reg [ 0 : DWIDTH 1] o u t d a t a b u f ; 21 a s s i g n o u t d a t a = o u t d a t a b u f ; // B u f f e r to s t o r e incoming v a l u e s 24 reg [ 0 : DWIDTH 1] b u f f e r ; posedge c l o c k ) begin 27 // C l e a r a l l r e g i s t e r s on r e s e t 28 i f ( r e s e t ) begin 29 i n r e q u e s t b u f <= 0 ; 30 o u t r e q u e s t b u f <= 0 ; 31 o u t d a t a b u f <= 0 ; 32 b u f f e r <= 0 ; 33 end 34 e l s e begin 35 // Take data i f i n p u t r e q u e s t was acknowledged 36 i f ( i n r e q u e s t && i n a c k n o w l e d g e ) begin 37 b u f f e r <= i n d a t a ; 38 i n r e q u e s t b u f <= 0 ; 39 end 40 // Stop p r o v i d i n g data i f output r e q u e s t was acknowledged 41 i f ( o u t r e q u e s t && o u t a c k n o w l e d g e ) begin 42 o u t r e q u e s t b u f <= 0 ; 43 end 44 // Compute i f no r e q u e s t s a r e open 45 i f (! i n r e q u e s t &&! i n a c k n o w l e d g e &&! o u t r e q u e s t &&! o u t a c k n o w l e d g e ) begin 46 i f output r e a d y n e x t c y c l e begin 47 o u t r e q u e s t b u f <= 1 ; 48 o u t d a t a b u f <= output ; 49 end 50 i f i n p u t r e q u i r e d n e x t c y c l e begin 51 i n r e q u e s t b u f <= 1 ; 52 end 53 compute ; 54 end 55 end 56 end 57 endmodule 14
15 1 module p a s s i v a t o r #(parameter DWIDTH = 8) 2 ( input i n r e q, 3 output i n a c k, 4 input [ 0 : DWIDTH 1] i n d a t a, 5 input o u t r e q, 6 output out ack, 7 output [ 0 : DWIDTH 1] o u t d a t a ) ; 8 9 // P a s s i v a t o r b e h a v i o u r ( m a j o r i t y gate, 1 LUT) 10 a s s i g n i n a c k = ( i n r e q & o u t r e q ) ( i n r e q & i n a c k ) ( o u t r e q & i n a c k ) ; 11 a s s i g n o u t a c k = i n a c k ; // Data p a s s t h r o u g h 14 a s s i g n o u t d a t a = i n d a t a ; endmodule 1 module p i p e l i n e #(parameter DWIDTH = 8) 3 input r e s e t ) ; 4 5 // I n t e r c o n n e c t s 6 wire req1, req2, req3, req4 ; 7 wire ack1, ack2, ack3, ack4 ; 8 wire [ 0 : DWIDTH 1] data1, data2, data3, data4 ; 9 10 // I n s t a n t i a t e the p i p e l i n e 11 prod #(DWIDTH) s t a g e 1 ( c l o c k, r e s e t, req1, ack1, data1 ) ; 12 p a s s i v a t o r #(DWIDTH) p a s s 1 ( req1, ack1, data1, req2, ack2, data2 ) ; 13 prodcons #(DWIDTH) s t a g e 2 ( c l o c k, r e s e t, req2, ack2, data2, req3, ack3, data3 ) ; 14 p a s s i v a t o r #(DWIDTH) p a s s 2 ( req3, ack3, data3, req4, ack4, data4 ) ; 15 cons #(DWIDTH) s t a g e 3 ( c l o c k, r e s e t, req4, ack4, data4 ) ; endmodule 15
Models for representing sequential circuits
Sequential Circuits Models for representing sequential circuits Finite-state machines (Moore and Mealy) Representation of memory (states) Changes in state (transitions) Design procedure State diagrams
More informationEECS Components and Design Techniques for Digital Systems. FSMs 9/11/2007
EECS 150 - Components and Design Techniques for Digital Systems FSMs 9/11/2007 Sarah Bird Electrical Engineering and Computer Sciences University of California, Berkeley Slides borrowed from David Culler
More informationExample: vending machine
Example: vending machine Release item after 15 cents are deposited Single coin slot for dimes, nickels o change Reset Coin Sensor Vending Machine FSM Open Release Mechanism Clock Spring 2005 CSE370 - guest
More informationFSM Examples. Young Won Lim 11/6/15
/6/5 Copyright (c) 2 25 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version.2 or any later version published
More informationAppendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs
Appendix B Review of Digital Logic Baback Izadi Division of Engineering Programs bai@engr.newpaltz.edu Elect. & Comp. Eng. 2 DeMorgan Symbols NAND (A.B) = A +B NOR (A+B) = A.B AND A.B = A.B = (A +B ) OR
More informationLaboratory Exercise #8 Introduction to Sequential Logic
Laboratory Exercise #8 Introduction to Sequential Logic ECEN 248: Introduction to Digital Design Department of Electrical and Computer Engineering Texas A&M University 2 Laboratory Exercise #8 1 Introduction
More informationGMU, ECE 680 Physical VLSI Design 1
ECE680: Physical VLSI Design Chapter VII Timing Issues in Digital Circuits (chapter 10 in textbook) GMU, ECE 680 Physical VLSI Design 1 Synchronous Timing (Fig. 10 1) CLK In R Combinational 1 R Logic 2
More informationTiming Issues. Digital Integrated Circuits A Design Perspective. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolić. January 2003
Digital Integrated Circuits A Design Perspective Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolić Timing Issues January 2003 1 Synchronous Timing CLK In R Combinational 1 R Logic 2 C in C out Out 2
More informationUsing Global Clock Networks
Using Global Clock Networks Introduction Virtex-II devices support very high frequency designs and thus require low-skew advanced clock distribution. With device density up to 0 million system gates, numerous
More informationCh 7. Finite State Machines. VII - Finite State Machines Contemporary Logic Design 1
Ch 7. Finite State Machines VII - Finite State Machines Contemporary Logic esign 1 Finite State Machines Sequential circuits primitive sequential elements combinational logic Models for representing sequential
More informationLaboratory Exercise #11 A Simple Digital Combination Lock
Laboratory Exercise #11 A Simple Digital Combination Lock ECEN 248: Introduction to Digital Design Department of Electrical and Computer Engineering Texas A&M University 2 Laboratory Exercise #11 1 Introduction
More informationCSE140L: Components and Design Techniques for Digital Systems Lab. FSMs. Instructor: Mohsen Imani. Slides from Tajana Simunic Rosing
CSE140L: Components and Design Techniques for Digital Systems Lab FSMs Instructor: Mohsen Imani Slides from Tajana Simunic Rosing Source: Vahid, Katz 1 FSM design example Moore vs. Mealy Remove one 1 from
More informationChapter 6. Synchronous Sequential Circuits
Chapter 6 Synchronous Sequential Circuits In a combinational circuit, the values of the outputs are determined solely by the present values of its inputs. In a sequential circuit, the values of the outputs
More informationReview: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec09 Counters Outline.
Review: Designing with FSM EECS 150 - Components and Design Techniques for Digital Systems Lec09 Counters 9-28-04 David Culler Electrical Engineering and Computer Sciences University of California, Berkeley
More informationEE241 - Spring 2006 Advanced Digital Integrated Circuits
EE241 - Spring 2006 Advanced Digital Integrated Circuits Lecture 20: Asynchronous & Synchronization Self-timed and Asynchronous Design Functions of clock in synchronous design 1) Acts as completion signal
More informationUniversity of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering
University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering Final Examination ECE 241F - Digital Systems Examiners: S. Brown,
More informationHigh Performance Computing
Master Degree Program in Computer Science and Networking, 2014-15 High Performance Computing 2 nd appello February 11, 2015 Write your name, surname, student identification number (numero di matricola),
More informationDesign of Datapath Controllers
Design of Datapath Controllers Speaker: 俞子豪 Adviser: Prof. An-Yeu Wu ACCESS IC LAB Outline vsequential Circuit Model vfinite State Machines vuseful Modeling Techniques P. 2 Model of Sequential Circuits
More informationCSE 320: Spartan3 I/O Peripheral Testing
CSE 320: Spartan3 I/O Peripheral Testing Ujjwal Gupta, Kyle Gilsdorf Arizona State University Version 1.1 October 2, 2012 Contents 1 Introduction 2 2 Test code description and procedure 2 2.1 Modes...............................
More informationEXPERIMENT Traffic Light Controller
11.1 Objectives EXPERIMENT 11 11. Traffic Light Controller Practice on the design of clocked sequential circuits. Applications of sequential circuits. 11.2 Overview In this lab you are going to develop
More informationReview Problem 1. should be on. door state, false if light should be on when a door is open. v Describe when the dome/interior light of the car
Review Problem 1 v Describe when the dome/interior light of the car should be on. v DriverDoorOpen = true if lefthand door open v PassDoorOpen = true if righthand door open v LightSwitch = true if light
More informationCh 9. Sequential Logic Technologies. IX - Sequential Logic Technology Contemporary Logic Design 1
Ch 9. Sequential Logic Technologies Technology Contemporary Logic Design Overview Basic Sequential Logic Components FSM Design with Counters FSM Design with Programmable Logic FSM Design with More Sophisticated
More informationJune 8 th Riga, Latvia
Laurent Fesquet Taha.Beyrouthy@imag.fr Laurent.Fesquet@imag.fr June 8 th 2010- Riga, Latvia Outline Asynchronous logic Non uniform sampling Asynchronous convolution product Asynchronous FIR filter Conclusion
More informationECE/Comp Sci 352 Digital Systems Fundamentals. Charles R. Kime Section 2 Fall Logic and Computer Design Fundamentals
University of Wisconsin - Madison ECE/Comp Sci 352 Digital Systems Fundamentals Charles R. Kime Section 2 Fall 2001 Lecture 5 Registers & Counters Part 2 Charles Kime Counters Counters are sequential circuits
More informationChapter 7. Sequential Circuits Registers, Counters, RAM
Chapter 7. Sequential Circuits Registers, Counters, RAM Register - a group of binary storage elements suitable for holding binary info A group of FFs constitutes a register Commonly used as temporary storage
More informationSequential Circuit Timing. Young Won Lim 11/6/15
Copyright (c) 2011 2015 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published
More informationChapter 5 Synchronous Sequential Logic
Chapter 5 Synchronous Sequential Logic Sequential Circuits Latches and Flip Flops Analysis of Clocked Sequential Circuits HDL Optimization Design Procedure Sequential Circuits Various definitions Combinational
More informationDistributed Algorithms Time, clocks and the ordering of events
Distributed Algorithms Time, clocks and the ordering of events Alberto Montresor University of Trento, Italy 2016/04/26 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International
More informationPresent Next state Output state w = 0 w = 1 z A A B 0 B A C 0 C A C 1
W Combinational circuit Flip-flops Combinational circuit Z cycle: t t t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t : : Figure 8.. The general form of a sequential circuit. Figure 8.2. Sequences of input and output
More informationCSC 322: Computer Organization Lab
CSC 322: Computer Organization Lab Lecture 3: Logic Design Dr. Haidar M. Harmanani CSC 322: Computer Organization Lab Part I: Combinational Logic Dr. Haidar M. Harmanani Logical Design of Digital Systems
More informationReview: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec 09 Counters Outline.
Review: esigning with FSM EECS 150 - Components and esign Techniques for igital Systems Lec 09 Counters 9-28-0 avid Culler Electrical Engineering and Computer Sciences University of California, Berkeley
More informationIssues on Timing and Clocking
ECE152B TC 1 Issues on Timing and Clocking X Combinational Logic Z... clock clock clock period ECE152B TC 2 Latch and Flip-Flop L CK CK 1 L1 1 L2 2 CK CK CK ECE152B TC 3 Clocking X Combinational Logic...
More informationMAHALAKSHMI ENGINEERING COLLEGE TIRUCHIRAPALLI
MAHALAKSHMI ENGINEERING COLLEGE TIRUCHIRAPALLI 6 DEPARTMENT: EEE QUESTION BANK SUBJECT NAME: DIGITAL LOGIC CIRCUITS SUBJECT CODE: EE55 SEMESTER IV UNIT : Design of Synchronous Sequential Circuits PART
More informationChapter 4 (Lect 4) Encoders Multiplexers Three-State Gates More Verilog
Chapter 4 (Lect 4) Encoders Multiplexers Three-State Gates More Verilog Encoder: an encoder is the inverse of a decoder, it has 2 n or fewer input lines and n output lines Recall: 2 4 line decoder Inputs
More informationFinite State Machines CS 64: Computer Organization and Design Logic Lecture #15 Fall 2018
Finite State Machines CS 64: Computer Organization and Design Logic Lecture #15 Fall 2018 Ziad Matni, Ph.D. Dept. of Computer Science, UCSB Administrative The Last 2 Weeks of CS 64: Date L # Topic Lab
More informationWorking with combinational logic
Working with combinational logic Simplification two-level simplification exploiting don t cares algorithm for simplification Logic realization two-level logic and canonical forms realized with NNs and
More information14:332:231 DIGITAL LOGIC DESIGN
14:332:231 IGITL LOGI ESIGN Ivan Marsic, Rutgers University Electrical & omputer Engineering all 2013 Lecture #17: locked Synchronous -Machine nalysis locked Synchronous Sequential ircuits lso known as
More informationEECS 270 Midterm 2 Exam Answer Key Winter 2017
EES 270 Midterm 2 Exam nswer Key Winter 2017 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. NOTES: 1. This part of the exam
More informationEECS150 - Digital Design Lecture 23 - FSMs & Counters
EECS150 - Digital Design Lecture 23 - FSMs & Counters April 8, 2010 John Wawrzynek Spring 2010 EECS150 - Lec22-counters Page 1 One-hot encoding of states. One FF per state. State Encoding Why one-hot encoding?
More informationEECS150 - Digital Design Lecture 11 - Shifters & Counters. Register Summary
EECS50 - Digital Design Lecture - Shifters & Counters February 24, 2003 John Wawrzynek Spring 2005 EECS50 - Lec-counters Page Register Summary All registers (this semester) based on Flip-flops: q 3 q 2
More informationCPE100: Digital Logic Design I
Chapter 3 Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu http://www.ee.unlv.edu/~b1morris/cpe1/ CPE1: Digital Logic Design I Section 14: Dr. Morris Sequential Logic Design Chapter 3 Chapter
More informationConsistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms. CS 249 Project Fall 2005 Wing Wong
Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms CS 249 Project Fall 2005 Wing Wong Outline Introduction Asynchronous distributed systems, distributed computations,
More informationProblem 10. Minimization of Incompletely Specified Finite State Machines.
a b c d e f g h Problem 10. Minimization of Incompletely Specified Finite State Machines. d/ f/0 c/1 h/0 d/0 h/0 c/0 a/0 / f/0 e/0 a/0 c/1 / b/1 a/1 Machine M Given is Machine M (a) Find the minimal machine
More informationELCT201: 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 محرم 1439 ه Winter
More informationUniversity of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences
University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS151/251A V. Stojanovic, J. Wawrzynek Fall 2015 10/13/15 Midterm Exam Name: ID
More informationShared Memory vs Message Passing
Shared Memory vs Message Passing Carole Delporte-Gallet Hugues Fauconnier Rachid Guerraoui Revised: 15 February 2004 Abstract This paper determines the computational strength of the shared memory abstraction
More informationData Synchronization Issues in GALS SoCs
Data Synchronization Issues in GALS SoCs Rostislav (Reuven) Dobkin 1, Ran Ginosar 1 and Christos P. Sotiriou 1 VLSI Systems Research Center, Technion Israel Institute of Technology, Haifa 3000, Israel
More informationELEVATOR CONTROL CIRCUIT. Project No: PRJ045 Presented by; Masila Jane Mwelu. Supervisor: Prof. Mwangi Examiner: Dr. Mang oli
ELEVATOR CONTROL CIRCUIT Project No: PRJ045 Presented by; Masila Jane Mwelu Supervisor: Prof. Mwangi Examiner: Dr. Mang oli Presentation Outline Project objectives Design approach Implementation Results
More informationLast lecture Counter design Finite state machine started vending machine example. Today Continue on the vending machine example Moore/Mealy machines
Lecture 2 Logistics HW6 due Wednesday Lab 7 this week (Tuesday exception) Midterm 2 Friday (covers material up to simple FSM (today)) Review on Thursday Yoky office hour on Friday moved to Thursday 2-:2pm
More informationOperating Systems. VII. Synchronization
Operating Systems VII. Synchronization Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ @OS Eurecom Outline Synchronization issues 2/22 Fall 2017 Institut
More informationChapter 3. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 3 <1>
Chapter 3 Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris Chapter 3 Chapter 3 :: Topics Introduction Latches and Flip-Flops Synchronous Logic Design Finite
More informationECEN 468 Advanced Logic Design
ECEN 468 Advanced Logic Design Lecture 27: Verilog Delay Models Inertial Delay v Delay is caused by charging and discharging node capacitors in circuit B v Gate delay and wire delay v Pulse rejection o
More informationLOGIC CIRCUITS. Basic Experiment and Design of Electronics
Basic Experiment and Design of Electronics LOGIC CIRCUITS Ho Kyung Kim, Ph.D. hokyung@pusan.ac.kr School of Mechanical Engineering Pusan National University Outline Combinational logic circuits Output
More informationSequential Circuits Sequential circuits combinational circuits state gate delay
Sequential Circuits Sequential circuits are those with memory, also called feedback. In this, they differ from combinational circuits, which have no memory. The stable output of a combinational circuit
More informationPipelined Viterbi Decoder Using FPGA
Research Journal of Applied Sciences, Engineering and Technology 5(4): 1362-1372, 2013 ISSN: 2040-7459; e-issn: 2040-7467 Maxwell Scientific Organization, 2013 Submitted: July 05, 2012 Accepted: August
More informationLab Course: distributed data analytics
Lab Course: distributed data analytics 01. Threading and Parallelism Nghia Duong-Trung, Mohsan Jameel Information Systems and Machine Learning Lab (ISMLL) University of Hildesheim, Germany International
More informationCSE 123: Computer Networks
CSE 123: Computer Networks Total points: 40 Homework 1 - Solutions Out: 10/4, Due: 10/11 Solutions 1. Two-dimensional parity Given below is a series of 7 7-bit items of data, with an additional bit each
More informationLecture 14: State Tables, Diagrams, Latches, and Flip Flop
EE210: Switching Systems Lecture 14: State Tables, Diagrams, Latches, and Flip Flop Prof. YingLi Tian Nov. 6, 2017 Department of Electrical Engineering The City College of New York The City University
More informationA Formal Model of Clock Domain Crossing and Automated Verification of Time-Triggered Hardware
A Formal Model of Clock Domain Crossing and Automated Verification of Time-Triggered Hardware Julien Schmaltz Institute for Computing and Information Sciences Radboud University Nijmegen The Netherlands
More informationAgreement Protocols. CS60002: Distributed Systems. Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur
Agreement Protocols CS60002: Distributed Systems Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Classification of Faults Based on components that failed Program
More informationCOE 202: Digital Logic Design Sequential Circuits Part 4. Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:
COE 202: Digital Logic Design Sequential Circuits Part 4 Dr. Ahmad Almulhem Email: ahmadsm AT kfupm Phone: 860-7554 Office: 22-324 Objectives Registers Counters Registers 0 1 n-1 A register is a group
More informationInternational Journal of Combined Research & Development (IJCRD) eissn: x;pissn: Volume: 7; Issue: 7; July -2018
XOR Gate Design Using Reversible Logic in QCA and Verilog Code Yeshwanth GR BE Final Year Department of ECE, The Oxford College of Engineering Bommanahalli, Hosur Road, Bangalore -560068 yeshwath.g13@gmail.com
More informationOutline F eria AADL behavior 1/ 78
Outline AADL behavior Annex Jean-Paul Bodeveix 2 Pierre Dissaux 3 Mamoun Filali 2 Pierre Gaufillet 1 François Vernadat 2 1 AIRBUS-FRANCE 2 FéRIA 3 ELLIDIS SAE AS2C Detroit Michigan April 2006 FéRIA AADL
More informationExperiment 9 Sequential Circuits
Introduction to Counters Experiment 9 Sequential Circuits The aim of this experiment is to familiarize you, frst with the basic sequential circuit device called a fip fop, and then, with the design and
More informationMetastability. Introduction. Metastability. in Altera Devices
in Altera Devices May 1999, ver. 4 Application Note 42 Introduction The output of an edge-triggered flipflop has two valid states: high and low. To ensure reliable operation, designs must meet the flipflop
More informationS No. Questions Bloom s Taxonomy Level UNIT-I
GROUP-A (SHORT ANSWER QUESTIONS) S No. Questions Bloom s UNIT-I 1 Define oxidation & Classify different types of oxidation Remember 1 2 Explain about Ion implantation Understand 1 3 Describe lithography
More informationDesign for Testability
Design for Testability Outline Ad Hoc Design for Testability Techniques Method of test points Multiplexing and demultiplexing of test points Time sharing of I/O for normal working and testing modes Partitioning
More informationChapter 3. Chapter 3 :: Topics. Introduction. Sequential Circuits
Chapter 3 Chapter 3 :: Topics igital esign and Computer Architecture, 2 nd Edition avid Money Harris and Sarah L. Harris Introduction Latches and Flip Flops Synchronous Logic esign Finite State Machines
More informationLaboratory Exercise #10 An Introduction to High-Speed Addition
Laboratory Exercise #10 An Introduction to High-Speed Addition ECEN 248: Introduction to Digital Design Department of Electrical and Computer Engineering Texas A&M University 2 Laboratory Exercise #10
More informationRegister Transfer Level
Register Transfer Level CSE3201 RTL A digital system is represented at the register transfer level by these three components 1. The set of registers in the system 2. The operation that are performed on
More informationAnalysis of clocked sequential networks
Analysis of clocked sequential networks keywords: Mealy, Moore Consider : a sequential parity checker an 8th bit is added to each group of 7 bits such that the total # of 1 bits is odd for odd parity if
More informationDesign for Testability
Design for Testability Outline Ad Hoc Design for Testability Techniques Method of test points Multiplexing and demultiplexing of test points Time sharing of I/O for normal working and testing modes Partitioning
More informationAgreement. Today. l Coordination and agreement in group communication. l Consensus
Agreement Today l Coordination and agreement in group communication l Consensus Events and process states " A distributed system a collection P of N singlethreaded processes w/o shared memory Each process
More informationParity Checker Example. EECS150 - Digital Design Lecture 9 - Finite State Machines 1. Formal Design Process. Formal Design Process
Parity Checker Example A string of bits has even parity if the number of 1 s in the string is even. Design a circuit that accepts a bit-serial stream of bits and outputs a 0 if the parity thus far is even
More informationSMV the Symbolic Model Verifier. Example: the alternating bit protocol. LTL Linear Time temporal Logic
Model Checking (I) SMV the Symbolic Model Verifier Example: the alternating bit protocol LTL Linear Time temporal Logic CTL Fixed Points Correctness Slide 1 SMV - Symbolic Model Verifier SMV - Symbolic
More informationA subtle problem. An obvious problem. An obvious problem. An obvious problem. No!
A subtle problem An obvious problem when LC = t do S doesn t make sense for Lamport clocks! there is no guarantee that LC will ever be S is anyway executed after LC = t Fixes: if e is internal/send and
More informationCuts. Cuts. Consistent cuts and consistent global states. Global states and cuts. A cut C is a subset of the global history of H
Cuts Cuts A cut C is a subset of the global history of H C = h c 1 1 hc 2 2...hc n n A cut C is a subset of the global history of H The frontier of C is the set of events e c 1 1,ec 2 2,...ec n n C = h
More informationLecture 7: Logic design. Combinational logic circuits
/24/28 Lecture 7: Logic design Binary digital circuits: Two voltage levels: and (ground and supply voltage) Built from transistors used as on/off switches Analog circuits not very suitable for generic
More informationKing Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department
King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department Page 1 of 13 COE 202: Digital Logic Design (3-0-3) Term 112 (Spring 2012) Final
More informationPERFORMANCE ANALYSIS OF SYNCHRONIZATION CIRCUITS
PERFORMANCE ANALYSIS OF SYNCHRONIZATION CIRCUITS A thesis submitted to the University of Manchester for the degree of Master of Philosophy in the Faculty of Engineering and Physical Sciences 2010 By Zhen
More informationTECHNICAL REPORT YL DISSECTING ZAB
TECHNICAL REPORT YL-2010-0007 DISSECTING ZAB Flavio Junqueira, Benjamin Reed, and Marco Serafini Yahoo! Labs 701 First Ave Sunnyvale, CA 94089 {fpj,breed,serafini@yahoo-inc.com} Bangalore Barcelona Haifa
More informationENGG 1203 Tutorial _03 Laboratory 3 Build a ball counter. Lab 3. Lab 3 Gate Timing. Lab 3 Steps in designing a State Machine. Timing diagram of a DFF
ENGG 1203 Tutorial _03 Laboratory 3 Build a ball counter Timing diagram of a DFF Lab 3 Gate Timing difference timing for difference kind of gate, cost dependence (1) Setup Time = t2-t1 (2) Propagation
More informationAnd Inverter Graphs. and and nand. inverter or nor xor
And Inverter Graphs and and nand inverter or nor xor And Inverter Graphs A B gate 1 u gate 4 X C w gate 3 v gate 2 gate 5 Y A u B X w Y C v And Inverter Graphs Can represent any Boolean function: v i+1
More informationImplementation of Clock Network Based on Clock Mesh
International Conference on Information Technology and Management Innovation (ICITMI 2015) Implementation of Clock Network Based on Clock Mesh He Xin 1, a *, Huang Xu 2,b and Li Yujing 3,c 1 Sichuan Institute
More informationA Random Walk from Async to Sync. Paul Cunningham & Steev Wilcox
A Random Walk from Async to Sync Paul Cunningham & Steev Wilcox Thank You Ivan In the Beginning March 2002 Azuro Day 1 Some money in the bank from Angel Investors 2 employees Small Office rented from Cambridge
More informationUniversity of Minnesota Department of Electrical and Computer Engineering
University of Minnesota Department of Electrical and Computer Engineering EE2301 Fall 2008 Introduction to Digital System Design L. L. Kinney Final Eam (Closed Book) Solutions Please enter your name, ID
More informationFormal Verification of Systems-on-Chip
Formal Verification of Systems-on-Chip Wolfgang Kunz Department of Electrical & Computer Engineering University of Kaiserslautern, Germany Slide 1 Industrial Experiences Formal verification of Systems-on-Chip
More informationDesigning Sequential Logic Circuits
igital Integrated Circuits (83-313) Lecture 5: esigning Sequential Logic Circuits Semester B, 2016-17 Lecturer: r. Adam Teman TAs: Itamar Levi, Robert Giterman 26 April 2017 isclaimer: This course was
More informationFSM Optimization. Counter Logic Diagram Q1 Q2 Q3. Counter Implementation using RS FF 10/13/2015
/3/5 CS: Digital Design http://jatinga.iitg.ernet.in/~asahu/cs FSM Optimization A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati Outline Last Class: Comb. Cirt. Complexity (CCC)
More informationDigital Electronics Sequential Logic
/5/27 igital Electronics Sequential Logic r. I. J. Wassell Sequential Logic The logic circuits discussed previously are known as combinational, in that the output depends only on the condition of the latest
More informationSynchronous Sequential Circuit Design. Digital Computer Design
Synchronous Sequential Circuit Design Digital Computer Design Races and Instability Combinational logic has no cyclic paths and no races If inputs are applied to combinational logic, the outputs will always
More informationOur Problem. Model. Clock Synchronization. Global Predicate Detection and Event Ordering
Our Problem Global Predicate Detection and Event Ordering To compute predicates over the state of a distributed application Model Clock Synchronization Message passing No failures Two possible timing assumptions:
More informationChecking Behavioral Conformance of Artifacts
Checking Behavioral Conformance of Artifacts Dirk Fahland Massimiliano de Leoni Boudewijn F. van Dongen Wil M.P. van der Aalst, Eindhoven University of Technology, The Netherlands (d.fahland m.d.leoni
More informationEECS150 - Digital Design Lecture 23 - FFs revisited, FIFOs, ECCs, LSFRs. Cross-coupled NOR gates
EECS150 - Digital Design Lecture 23 - FFs revisited, FIFOs, ECCs, LSFRs April 16, 2009 John Wawrzynek Spring 2009 EECS150 - Lec24-blocks Page 1 Cross-coupled NOR gates remember, If both R=0 & S=0, then
More informationSlides for Chapter 14: Time and Global States
Slides for Chapter 14: Time and Global States From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, Addison-Wesley 2012 Overview of Chapter Introduction Clocks,
More informationLecture 4 Event Systems
Lecture 4 Event Systems This lecture is based on work done with Mark Bickford. Marktoberdorf Summer School, 2003 Formal Methods One of the major research challenges faced by computer science is providing
More informationLOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.
Basic Experiment and Design of Electronics LOGIC CIRCUITS Ho Kyung Kim, Ph.D. hokyung@pusan.ac.kr School of Mechanical Engineering Pusan National University Digital IC packages TTL (transistor-transistor
More informationSynchronizers, Arbiters, GALS and Metastability
Synchronizers, Arbiters, GALS and Metastability David Kinniment University of Newcastle, UK Based on contributions from: Alex Bystrov, Keith Heron, Nikolaos Minas, Gordon Russell, Alex Yakovlev, and Jun
More informationEE115C Winter 2017 Digital Electronic Circuits. Lecture 19: Timing Analysis
EE115C Winter 2017 Digital Electronic Circuits Lecture 19: Timing Analysis Outline Timing parameters Clock nonidealities (skew and jitter) Impact of Clk skew on timing Impact of Clk jitter on timing Flip-flop-
More informationVLSI Physical Design Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
VLSI Physical Design Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 54 Design for Testability So, in the last lecture we talked
More information