STATIC RANDOM-ACCESS MEMORY

Size: px
Start display at page:

Download "STATIC RANDOM-ACCESS MEMORY"

Transcription

1 STATIC RANDOM-ACCESS MEMORY by VITO KLAUDIO OCTOBER 10, 2015 CSC343 FALL 2015 PROF. IZIDOR GERTNER

2 Table of contents 1. Objective... pg Functionality and Simulations... pg SR-LATCH... pg Control SR-LATCH... pg D-LATCH... pg MASTER-SLAVE D FLIP-FLOP... pg Static RAM Cell... pg x 4 SRAM... pg x4 SRAM on the DE2-70 Board... pg Analysis... pg Conclusion... pg Appendix... pg. 32 1

3 1. Objective The ultimate goal of this laboratory is to construct a 16 x 4 Static Random-Access Memory unit. When we say 16 x 4 we mean that the memory will be composed of 16 memory spots and each of them will be able to store 4 bits. We will start our work with latches and flip-flops to get to the final objective. We will explain how a latch works and what its purpose is. From the latches we will construct the flipflops. Explanations about the functionality of the flip-flops will be given. Flip-Flops then will be used as the building block for the static random access memory unit. Latches are the most basic storage units and they can store one bit. We start with the SR latches, and explain what they do and why they are useful. In the next step we introduce the Control SR latch, which is very similar to the regular SR but with one condition that it has an extra input that can turn the latch off. Continuing our study of latches we introduce the D flip flop, which solves a problem of having two inputs set at logical 1 encountered in the SR latch. The D latch has only one input, and the control input is the same as the one used previously. Latches will change their state as soon as the inputs change, but we need to change the output after the inputs are changed. Hence, the next element that we consider is the Master Slave D Flip-Flop. This unit is composed by connecting two D latches in series with each other and controlling them with the same control input. We use this flip flop to construct an SRAM cell. Remember that all latches are used as storing units, they can store only 1 bit. We combine them in order to create more storage capacity. To get an SRAM we combine two Master Slave D Flip-Flop and use more inputs to have more control over our circuit. The Select Chip and Write Enable inputs, together will act as a Control function to the circuit. The 16x1 SRAM cell will 2

4 have 16 storage units since it will be composed of 16 SRAMs. The input will be fed into the master flip flop and its output will serve as the input of the slave flip-flop. Another important element used in this implementation is the TRI buffer, which will make decisions of whether to output anything from the circuit or not. Afterwards we combine four 16x1 SRAMs to create our final goal. Quartus s feature of creating symbols will be very helpful in this case since it would be tiresome to put 64 different SRAM cells on the screen at once and interconnect them appropriately. The next stage of our work is to set up the memory cells for the 16 x 4 SRAM based on the cells. Our SRAM will be able to store multiple bits in various locations based on the inputs that we will provide. The inputs will consists of the data input, the address input, which will be four bits each. The Write Enable, Output Enable, and Chip Select inputs consist of one bit each. The output will also be four bits, since we are storing four bits in each address. Since we have 16 storage elements, and the address is four bits we will be using a 4-to-16 decoder to decide the storage element out of the SRAM cells. After we complete the diagrams for the above mentioned circuits we will use the simulation tools from Quartus to check our results. In particular we will be using the Vector Waveform Simulator, which is a very powerful tool. It allows us to choose the waveform of the inputs however we need to in order to achieve our goal. The last thing to do is to display the values stored in memory on the 7 segment display. We will use a decoder to convert our four bit binary number to hexadecimal format in order for the display to output the data stored at a specific address. The result will be shown in hexadecimal notation in one of the displays of the DE2-70 board. 3

5 2. Functionality and Simulations Latches are the most basic storage elements. A storage element is designed so that it can maintain its state until a signal tells it do to otherwise. Latches are sequential devices, this means that they watch their input continually and they can change their state at any time. Usually a clock signal set to high is used as an enable signal. Sequential elements are designed in such a way that they take into consideration not only the current input but the past inputs as well. This is where the memory concept comes from: these elements remember what their inputs were at arbitrarily past times. A flip-flop is another storage element. These elements are simple circuits which store logic states until the state is used at a later time. Flip-flops are sequential elements too, but these elements sample their input and change their output only when the clock signal is changing. There are two cases when the output can be changed. The first case is when the clock signal just sets to high, and this is called a rising edge change. Otherwise, the output will change when the clock signal goes to low, and this is called a trailing edge change. These elements are called edge triggered, and they become active at either positive or negative edge. This means that they will take input exactly at the time that the clock changes from high to low or from low to high. 4

6 2.1. SR-LATCH The name of this latch comes from its inputs. SR stands form Set / Reset latch. This latch is composed of two NOR gates as represented in the schematics below: As we can see the latch takes two inputs and generates two outputs, which are complements of each other. We get different outputs when the functions Set and Reset change. For example, when the Set function is high (logical 1 ) and the Reset function is low (logical 0 ) the output Q of this latch will always be high (logical 1 ) and the latch is said to be in a SET state. The output Q will always be low (logical 0 ) when the Reset function is set to high, and the Set function is set to low. This state is called a RESET state. When both inputs are set to high the output is undefined for this latch. Furthermore the latch will maintain its previous state if both input functions are set to low. The following truth table summarizes the behavior of this latch: 5

7 We implement this latch using the Quartus II block diagram editor and the default logic gates provided to us. Then we simulate the latch in order to check if our implementation was correct. A screenshot of the waveform of the simulation is shown below: Note that the inputs are randomly selected in this simulation because we want to try as many possible cases as we can. We can see from the screenshot that whenever both inputs R and S go to high (logical 1 ) the output is set to low, and it retains its state until the next clock signal. From the results of this simulation we can conclude that the implementation was correctly done. 6

8 2.2. Control SR-LATCH This latch is a modification of the original SR-latch. In this latch we use an extra control function which is used to control state change. We use four NAND gates instead of the two gates used in the previous latch. The schematic of the latch is shown in the following picture: In this case, when the control function C is set to low (logical 0 ) the latch will retain its state and will not be subject to any change. This latch will work exactly like the SR-Latch if the control function is set to high, i.e. it will be completely dependent on the Set and Reset functions. The behavior of this latch is demonstrated by the truth table and equations below: Qn in the above equations is the name for the Next State of the Q output. We do the same thing for this latch, we implement it and simulate it via the Quartus II software. The following screenshot displays the result of the simulation: 7

9 Note that the Control input was purposely selected to be zero for a certain period of time and then it is set to one. This was done in order to show that the latch is disabled when the control function is set to low and this is confirmed by the output Q and Qnot which are undefined at that instance. The R and S inputs are again chosen at random. We can see that the simulation is working, because when the control input is set to high, the latch will be working exactly like a SR-Latch. We can conclude that the implementation was correctly done. 8

10 2.3. D-LATCH As we mentioned before, the SR-Latch has a problem. The output is undefined when both inputs are set to high. We solve this problem by introducing the D-Latch which takes only one input function and makes sure that the SR-Latch problem is resolved. The input D of this latch will substitute both S and R of the previous latch. This latch is constructed using four NAND gates and one NOT gate that will be used to get the complement of the input D. The schematic is shown in the following diagram: Remember that these latches all store one binary bit. It is obvious that we still need the control signal for this latch and it has the same exact function as the SR-Latch. The D input is sent to the top NAND gate as it comes in, and the complement of this input is send to the bottom NAND gate. In this way we make sure that the inputs of the NAND gates can never be both high. The behavior of this latch is represented by the following truth table and equations: 9

11 From this particular latch we can construct flip flops, like the master slave D flip flop which is introduced in the next section. We implement the D-Latch on Quartus again, and simulate it through the Vector Waveform Simulator to get the following result: Note that the Control input, like in the Control SR-Latch simulation, was purposely chosen in that way. Our expectations are met since the undefined outputs mean that the latch is disabled. The results of the simulation after the control input is set to high confirm the theory and the truth table, hence the implementation is correct. 10

12 2.4. MASTER SLAVE D FLIP FLOP We can design a master slave D flip-flop by connecting two D-Latches one after the other. The first latch will act as the master, and the following latch is the slave and that is where the name of this flip-flop comes from. Both latches use the same clock signal, but the first latch inverts the clock signal. Furthermore, the output of the first latch acts as the input of the second latch. The diagram below represents the schematics of this flip-flop: The latch that is inside the green square is the first and master latch and the latch inside the blue square is the slave latch. All the latches that we have seen are pulse-triggered, but this flipflop is in fact a negative edge-triggered circuit. This means that the output Q will be the same as the input D at a falling-edge clock signal, hence the output can only change when the clock goes from high to low (from logical 1 to logical 0 ). This flip-flop is different from the latches in another aspect. The state change of the flip-flop does not depend on the state of the clock-signal, it is dependent only from the transition of the clock signal. The following truth table shows how this flip-flop functions: 11

13 In the table above, the left column is represents the clock signal. Dm represents the input and Cm is the clock for the master D-Latch. Ds and Cs represent the input and clock of the slave D- latch. The previous input state is used to generate the global output when the clock transitions from low to high. This behavior comes from the fact that at state 0 the slave latch does not change while the master latch generates a new input for the slave latch. When the clock transitions again from high to low, the roles are changed. In this case the master latch will not exhibit any change while the slave state will produce based on the previous input. Again, we implement this flip-flop on the Quartus II block diagram and run a simulation. The results are depicted in the following screenshot: 12

14 This simulation shows that the control function acts as a switch to the cell, if this input is set to low, the cell cannot determine the output, therefore the X s in the screenshot show it. It is very important to notice, that because of the design of the Master Slave D Flip-Flop we get output be the same as the input. We continue our study of flip-flops by introducing the Static Random-Access Memory Cell concept in the next section. 13

15 2.5. Static RAM Cell A Static RAM Cell is created from the Master Slave D Flip-Flop that we discussed above. This cell takes three inputs and generates one output. The IN input is the latch s data input, while SELECT_CHIP is used as an activation input. When this input is set to high, the cell will be active and it will have the possibility to store data. On the other hand when SELECT_CHIP is set to low the cell is turned off and it does not store data. The WRITE_ENABLE input tell the cell to store the data that it received from the IN input. The schematics for a cell was generated using the Quartus II software which provides all the gates. Notice that the block diagram with the D symbol represents a D-Latch. The last element before the output signal is generated is called a Tristate Logic Buffer and it is labeled as TRI in the diagram. 14

16 This buffer will produce its C output only when the B input is logical 1. When the B input is set to low, then the buffer is completely cut off and no output signal is generated. This buffer is provided to us by the Quartus II collection of logic buffers and its behavior is described by the following truth table: This is all the information we need to know in order to produce a 16 x 4 SRAM. Now, as always, we have to check that our implementation of this circuit is doing its job. We perform the vector waveform simulation and get the results shown in the screenshot below: Note that the Select Chip input was again set up in such a way as to display what happens with the output when the input is set to low and it is shown in the simulation as a Z, this means 15

17 the cell is asleep, no action can be performed since we unplugged the power from this cell. The undefined symbols shown after the sleeping symbol are shown because at that instance the write enable is set to low, which means that we cannot store anything at this time in the cell. The result of this simulation clearly show that the implementation is correct and we can continue to use these latches and flip-flops as building blocks towards our ultimate goal of creating a 16x4 SRAM. 16

18 x 4 SRAM We will use the cells that we described in the above section to implement our SRAM with 16 storage spots and 4 bits of wide. We use 16 D Flip-Flops to produce a 16 x 1 SRAM cell and then combine four of these to reach our final objective to create a 16 x 4 SRAM. We will take advantage of the Quartus II symbol creation option to do this. Our cell will get three inputs and produce an output. Input and WR will be 1-bit signal that serve for all of the 16 flip flops the same, while the Select_Chip input will be provided by an input vector of 8-bits. The schematic of a 16 x 1 SRAM is displayed below: As we can see we used 16 Master-Slave D Flip-Flops to achieve our goal. The next step is to create another symbol from this scheme and call it SRAM16 in order to be able to use it for the final SRAM which is a combination of four SRAM16s which will make our 16x4 SRAM 17

19 complete. Remember that 16x4 means that there are 16 storage units and each of them can store four bits. The final schematic is shown below: We can see that the TRI buffers are very important to our design. Without the TRI we would need to use a multiplexer to separate the outputs of each column. The TRI buffer cuts the output of the other cells, and the only output will be the one coming from the cell that is on at the moment. As you may have noticed we use a decoder to determine which storage unit is to be used to store the input data. The output of the decoder is used to determine a row. The concept of the decoder is shown in the following picture: We use a 4 to 16 decoder since we need to determine which of the 16 rows will be chosen to store the input. The VHDL code for the decoder that we use is shown in the appendix section of this laboratory. 18

20 There are several inputs to the 16 x 4 SRAM. We have the datain input vector of four bits (from 3 to 0) that is the input which will be written to the SRAM at a certain address. The address input is also a vector of four bits. This is the input to the decoder. The WE input is the write/enable input, it tells the SRAM to store only when it is high, otherwise when the WE input is set to low no writing to the SRAM will be allowed. OE represents the output/enable function, it will allow the SRAM to output the value stored at a particular cell only if it set to high. Otherwise, the TRI buffer will cut the output signal. CS is the chip select function. This acts as a switch for the SRAM, i.e. when CS is set to low it will turn off the SRAM, and it will turn it on when set to high. The last task that we need to compute is to display the results on the 7-segment display of the DE2-70 board. This can be done by converting our decimal values to hexadecimal digits that the display can interpret. We will use the CASE statement of the VHDL code which has the same function as the SWITCH statement in high level programming languages. The code for the 7- segment display output is shown in the appendix section. We will use pin assignment to tell the board all it needs to know about the inputs. The first four switches, from 0 to 3 are used as the datain input. The address needed as input for the decoder is assigned the next four switches, from 4 to 7. CS will be switch 17, OE will be switch 16 and WE will be represented by switch 15. The output will be displayed on the seven segment. Before explaining how the seven segment display is activated, we will simulate the 16x4 SRAM diagram with the vector waveform simulator in order to check our results. The screenshot below shows the results: 19

21 Note that the inputs are selected at random for this simulation. We can see from the screenshot that whenever CS, the chip control function, is set to low the whole block is turned off. There can be no possible operations on this block and therefore we can see the symbol Z in the waveform, meaning that the block is sleeping at that point. The block will not wake up exactly when the CS input is switched to high, it will wait for the next cycle since our flip flops are trailing edge-triggered. Another point of interest is the behavior of the block when the WE, write/enable input, is set to low. We can see that the output will be undefined, symbolized by X in the waveform, for this case. This was expected since no writing operation in memory is allowed when WE is set to low. Our expectations were met, and we can say that the implementation of a 16x4 SRAM is completed. The next step of this lab is to implement our design in the DE2-70 board and display the output on the seven segment display. To do this, we will need to use the dec_to_hex code 20

22 which was provided to us by the lab manual. This code translates the decimal value of the output to a hexadecimal representation and it uses the segments of the display to show that hexadecimal. The code is shown in the appendix section. Furthermore, we need to write the pin assignment for this SRAM. I chose the input data to be represented by the first four switches, meaning SW[0] SW[3], and the input address will be controlled by switches SW[4] SW[7]. I used Switch number 15 to control the Write/Enable input, switch number 16 to control the Chip Selection input, and switch number 17 to control Output/Enable input. The display that I chose to show the hexadecimal values of the data stored in the register is the first display of the board, i.e. HEX0. The full pin assignment file is shown in the Appendix section of this laboratory. 21

23 3. 16x4 SRAM on the DE2-70 Board In this section of the laboratory we show the actual implementation on the board of the 16x4 SRAM. The following pictures will show the results of experiment. Each picture will be followed by the explanation it requires. Here we go: The picture above is annotated for the purpose of making the inputs and output more visible. The red arrows point to the OE, CS, and WE inputs on the board. The green square represents the four bits of the input data. The blue square is set around the four bits of the address representing the register. The orange circle shows where the display of the hexadecimal value of the register will be shown. In this picture we can see that the display is 0x0. This means that at memory address 0000 we have the zero value stored, which is the default value. The data input at this instance is 0000 also, but this does not matter right now because the write enable function is set to zero and no writing to the register is allowed. Since the OE and CS are both set to high, the register is allowed to display the number. 22

24 This picture is a continuation of the previous one. We can see that the address location has not changed, it still is set to 0000, but the input data is changed. Now the input is set to be 0111 which represents the number seven in hexadecimal. This number is shown on the display because we have enabled the WE input, which lets the data be stored in the register at the specified address, and we have enabled the OE input, which lets the result be displayed from the register, and we have enabled the whole circuit by setting CS to high. 23

25 In this picture we show what happens when we do not change the address of the register, but we disable the WE input, and we change the input data. We can see that while the OE and CS inputs are set to high we can still see the number 7 on the display even though the input data is set to the value of This happens because we set the WE input to low and no writing can be done on this address at this time. We can only display the value stored, but cannot store a new value. In this picture we are displaying the content of the register at address The input data in this case does not matter even because we have set the WE input to low, which means we cannot write any value to this register. We just want to see what is in there, and therefore we enable the whole memory by setting CS to high, and we allow it to display the value by setting the OE input to high as well. Even though the input data is set to 1010, we still get a 0x0 on the display since we are just looking at this register and not writing to it. 24

26 In this picture we change the state of the WE function from low to high. This action will enable the memory to write data on the storage unit located at address 0001 and specifically it will write the value of 1010 in hexadecimal representation which is 0xA, and that is what we are seeing on the screen. In this picture we disable the OE function and we can see that the output display shows oxf, and that is the default notation for undefined, or not accessible. This means that we cannot access 25

27 the data stored at the register corresponding to that address and therefore it is not accessible to us. In this picture we set the CS input to low, this means that the memory is shut down and no operation can be done on it. This is why we see a 0xF display in the board. Anything we try to do on with the other inputs will not change this value since the memory is off. These pictures show that our implementation was correct and all the circuits are working perfectly. We can say that we finally have reached our goal of setting up and running a 16x4 SRAM. 26

28 4. Analysis The difference between a latch and a flip-flop consist in their output. The output of the latch can change as soon as its inputs change, while a flip-flop on the other hand is edge triggered. This means that it needs a signal to go from high to low, or from low to high to change the output. An SR Latch takes two input, the Set and Reset functions. It is composed of two NOR gates. The state of the Latch will be Set, when the Set function is set to high and the Reset function is set to low. It will have a Reset state when the Reset is high and the Set is low. When both inputs are set to low, then the Latch will maintain its previous state. The problem with the SR Latch appears when both inputs are set to high: in this case the output is undefined. The Control SR-Latch is a modified version of the SR-Latch explained above. This latch takes three inputs, rather than two. The Control function is used to turn on and off the latch. When the control is set to low, there will be no change in the output independent of the Set and Reset inputs, the latch will be turned off. Otherwise, when the control input is set to high the latch will function exactly like a SR-Latch. This is achieved by combining four NAND gates. The D-Latch solves the problem of having two inputs set to high at the same time. This latch takes only one input, and it complements its bit to use it for the bottom NAND gate. In this way we are guaranteed to never have the same input for both gates at the same time. To build a Master Slave D Flip-Flop we combine two D-Latches. We connect them in series. The control input is used to control both latches at the same time. The input goes through the first latch, the master, while the second latch s input comes from the output of the first latch. In 27

29 this way the second latch becomes the slave. The output of the slave latch is considered the output of the global system. The SRAM cell uses two Master Slave D Flip-Flops and takes more inputs and uses the TRI buffer to decide on the output. The inputs are used to have more control over the flip-flops. The select chip and write enable inputs are used to control the flip-flops. Connected by a NAND gate, these two inputs go to the control input of both flip-flop in order to decide whether the circuit should be turned off, or if we can be able to write data on the system. Remember, all these circuits are used as storage elements. We want to avoid having both inputs high in a SR-Latch because we do not want our output to be undefined. We need to have some output when we are building on this basic block. When we get to the high level, we don t want our circuit to tell us that it is not able to define the output of a pair of inputs. This scenario can never happen with a D-Latch because we use only one input and complement its bit to be used as the second input, hence it is impossible to have the same inputs at the same time. The difference between the edge-triggered and level-triggered circuits is based on when the output changes. For a level-triggered circuit the output will change when the clock signal is set to a certain level, it can be changed while the signal is set to high, or when it is set to low. On the other hand, an edge-triggered circuit will change its output if and only if the clock signal changes from one state to the other. The output might change at the exact moment when the signal goes from low to high, or it can change at the moment when the signal goes from high to low. The flip-flop that we are using in this lab are edge-triggered, and specifically they are trailing edgetriggered. This means that the output of our circuits will change at the exact moment when the signal goes from high to low. 28

30 An SRAM takes some inputs and produces an output. The inputs of the SRAM are the data to be stored, the address of where the data will be stored, the write enable signal to tell the circuit that we want to write in it, the output enable signal that lets the circuit know that we want to display the contents of a certain address, and finally the chip select input which acts as a power switch to the circuit. When the chip select signal is set to low, then the circuit will be shut off and no activity can be performed on it. Otherwise, when the signal is set to high we can perform our desired operations. If we want to store some data on the circuit we need to tell it the place, i.e. the address of where the data will be store. We need to tell it what the input is by selecting the input data, and most importantly we need to change the write enable signal from low to high in order to store the data, since the circuit is edge-triggered. The output of the SRAM will be content of a certain address, which we decide as an input to the system. The output will be displayed if and only if the output enable signal is set to high, otherwise nothing will be displayed. This is a very convenient circuit, since we can use this to implement registers on any electronic device. 29

31 5. Conclusion In this laboratory we started small and grew up based on our building blocks to achieve our final goal, that of constructing a 16x4 Static Random-Access Memory. We began by introducing the SR-Latch which worked based on two input functions, the Set and Reset. That is where this latch gets its name. This latch is the most basic storage unit, which can store only one bit. We wanted to have some control over this latch, i.e. to shut it off when we wanted to. Hence, we introduced the Control SR-Latch. This latch had an extra input, the C (control) input which would turn the latch off when set to low. Otherwise, when C was high this latch worked exactly like a SR-Latch. We encountered a problem with the SR latches, their output was undefined when both Set and Reset functions where set to high. This problem was solved by introducing the D-Latch. This latch takes only one input, therefore no such problem could occur. We extended our knowledge of latches by connecting two D-latches in series with each other and thus forming the D Flip- Flop. This flip flop is called the Master-Slave Flip Flop because the first latch s output is used as the second latch s input, therefore the second latch became the slave of the first latch which was the master. Based on this flip flop, we introduced the SRAM cell, which is basically the same as a Master Slave D Flip Flop, but it took more inputs to make more decisions. We combined 16 of these cells together to form a 16x1 SRAM. At this point, we almost finished our job. The only thing remaining was to combine four SRAMs together and finally form our 16x4 SRAM. All the elements used in this lab were implemented and simulated using the Quartus II software, which gave us certainty that our devices work. The final implementation, the 16x4 30

32 SRAM was also implemented on the DE2-70 board. The results achieved from testing this circuit on the board show that our expectations were met and we completed our study of 16x4 SRAM. Pictures of the simulations and the board were included in this lab to make it as clear as possible how the SRAM worked. Furthermore, we had an analysis section, where we answered questions about this laboratory. In this way, we show that we understand how the circuit works, and how to use it when needed. Overall, this was a very interesting laboratory. It gave us first hand, real world problems. We use SRAM every day on our computers and any electronic device, but little did we know of its internal components and how they work. By completing this lab, we have a much wider knowledge of this, very important device. It is much clearer now on how the registers actually work. All the time, we were told that the registers can store bits, but how they did it was never taught to us. Now we have the insight of the register and we can continue our study of computer organization since we have mastered its building block: the memory. 31

33 6. Appendix VHDL CODE FOR 4to16 DECODER: library IEEE; use IEEE.STD_LOGIC_1164.all; entity decode4to16 is port( oct : in std_logic_vector(3 downto 0); dec : out std_logic_vector(15 downto 0)); end decode4to16; architecture arch of decode4to16 is begin with oct select dec <= " " when "0000", " " when "0001", " " when "0010", " " when "0011", " " when "0100", " " when "0101", " " when "0110", " " when "0111", " " when "1000", " " when "1001", " " when "1010", " " when "1011", " " when "1100", " " when "1101", " " when "1110", " " when "1111", " " when others; end arch; VHDL CODE FOR HEX DISPLAY: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; -- Hexadecimal to 7 Segment Decoder for LED Display ENTITY dec_to_hex IS PORT( hex_digit : IN STD_LOGIC_VECTOR(3 DOWNTO 0); segment_a, segment_b, segment_c, segment_d, segment_e, segment_f, segment_g: OUT std_logic); END dec_to_hex; ARCHITECTURE a OF dec_to_hex IS SIGNAL segment_data : STD_LOGIC_VECTOR(6 DOWNTO 0); BEGIN PROCESS (Hex_digit) -- HEX to 7 segment Decoder for LED Display BEGIN -- Hex-digit is the four bit binary value to display 32

34 CASE Hex_digit IS WHEN "0000" => segment_data <= " "; WHEN "0001" => segment_data <= " "; WHEN "0010" => segment_data <= " "; WHEN "0011" => segment_data <= " "; WHEN "0100" => segment_data <= " "; WHEN "0101" => segment_data <= " "; WHEN "0110" => segment_data <= " "; WHEN "0111" => segment_data <= " "; WHEN "1000" => segment_data <= " "; WHEN "1001" => segment_data <= " "; WHEN "1010" => segment_data <= " "; WHEN "1011" => segment_data <= " "; WHEN "1100" => segment_data <= " "; WHEN "1101" => segment_data <= " "; WHEN "1110" => segment_data <= " "; WHEN "1111" => segment_data <= " "; END CASE; END PROCESS; -- extract segment data bits and invert -- LED driver circuit is inverted segment_a <= NOT segment_data(6); segment_b <= NOT segment_data(5); segment_c <= NOT segment_data(4); segment_d <= NOT segment_data(3); segment_e <= NOT segment_data(2); segment_f <= NOT segment_data(1); segment_g <= NOT segment_data(0); END a; To, Location datain[0], PIN_N25 datain[1], PIN_N26 datain[2], PIN_P25 datain[3], PIN_AE14 address[0], PIN_AF14 address[1], PIN_AD13 PIN ASSIGNMENT: 33

35 address[2], PIN_AC13 address[3], PIN_C13 WE, CS, OE, PIN_U4 PIN_V1 PIN_V2 segment_a, PIN_AF10 segment_b, PIN_AB12 segment_c, PIN_AC12 segment_d, PIN_AD11 segment_e, PIN_AE11 segment_f, PIN_V14 segment_g, PIN_V13 34

Lab 13: FPGA Circuit Realization Ian Callahan

Lab 13: FPGA Circuit Realization Ian Callahan Callahan 1 Lab 13: FPGA Circuit Realization Ian Callahan (ipc8@pitt.edu) Purpose The goal of this lab was to implement the circuit description from Lab 12 and implement it on a Field Programmable Gate

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

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer 1 P a g e HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer Objectives: Develop the behavioural style VHDL code for D-Flip Flop using gated,

More information

Flip-flop and Registers

Flip-flop and Registers ECE 322 Digital Design with VHDL Flip-flop and Registers Lecture Textbook References n Sequential Logic Review Stephen Brown and Zvonko Vranesic, Fundamentals of Digital Logic with VHDL Design, 2 nd or

More information

California State University, Bakersfield Computer & Electrical Engineering & Computer Science ECE 3220: Digital Design with VHDL Laboratory 7

California State University, Bakersfield Computer & Electrical Engineering & Computer Science ECE 3220: Digital Design with VHDL Laboratory 7 California State University, Bakersfield Computer & Electrical Engineering & Computer Science ECE 322: Digital Design with VHDL Laboratory 7 Rational: The purpose of this lab is to become familiar in using

More information

Chapter. Synchronous Sequential Circuits

Chapter. Synchronous Sequential Circuits Chapter 5 Synchronous Sequential Circuits Logic Circuits- Review Logic Circuits 2 Combinational Circuits Consists of logic gates whose outputs are determined from the current combination of inputs. Performs

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

Lab #13: FPGA Circuit Realization

Lab #13: FPGA Circuit Realization Lab #13: FPGA Circuit Realization ECE/COE 0501 Date of Experiment: 4/12/2017 Report Written: 4/17/2017 Submission Date: 4/19/2017 Nicholas Haver nicholas.haver@pitt.edu 1 H a v e r PURPOSE In this lab,

More information

Laboratory Exercise 3

Laboratory Exercise 3 Laboratory Exercise 3 Latches, Flip-flops, and egisters The purpose of this exercise is to investigate latches, flip-flops, and registers. Part I Altera FPGAs include flip-flops that are available for

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 Digital Design. Laboratory Manual. Experiment #3. Flip Flop Storage Elements

Sequential Digital Design. Laboratory Manual. Experiment #3. Flip Flop Storage Elements The Islamic University of Gaza Engineering Faculty Department of Computer Engineering Spring 2018 ECOM 2022 Khaleel I. Shaheen Sequential Digital Design Laboratory Manual Experiment #3 Flip Flop Storage

More information

Ryerson University Department of Electrical and Computer Engineering EES508 Digital Systems

Ryerson University Department of Electrical and Computer Engineering EES508 Digital Systems 1 P a g e Ryerson University Department of Electrical and Computer Engineering EES508 Digital Systems Lab 5 - VHDL for Sequential Circuits: Implementing a customized State Machine 15 Marks ( 2 weeks) Due

More information

Digital Logic Design Sequential Circuits. Dr. Basem ElHalawany

Digital Logic Design Sequential Circuits. Dr. Basem ElHalawany Digital Logic Design Sequential Circuits Dr. Basem ElHalawany Combinational vs Sequential inputs X Combinational Circuits outputs Z A combinational circuit: At any time, outputs depends only on inputs

More information

(CSC-3501) Lecture 7 (07 Feb 2008) Seung-Jong Park (Jay) CSC S.J. Park. Announcement

(CSC-3501) Lecture 7 (07 Feb 2008) Seung-Jong Park (Jay)  CSC S.J. Park. Announcement Seung-Jong Park (Jay) http://www.csc.lsu.edu/~sjpark Computer Architecture (CSC-3501) Lecture 7 (07 Feb 2008) 1 Announcement 2 1 Combinational vs. Sequential Logic Combinational Logic Memoryless Outputs

More information

Laboratory Exercise 7

Laboratory Exercise 7 Laboratory Exercise 7 Finite State Machines This is an exercise in using finite state machines. Part I We wish to implement a finite state machine (FSM) that recognizes two specific sequences of applied

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

Laboratory Exercise 7

Laboratory Exercise 7 Laboratory Exercise 7 Finite State Machines This is an exercise in using finite state machines. Part I We wish to implement a finite state machine (FSM) that recognizes two specific sequences of applied

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

CPE 200L LABORATORY 3: SEQUENTIAL LOGIC CIRCUITS UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND: SR FLIP-FLOP/LATCH

CPE 200L LABORATORY 3: SEQUENTIAL LOGIC CIRCUITS UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND: SR FLIP-FLOP/LATCH CPE 200L LABORATORY 3: SEUENTIAL LOGIC CIRCUITS DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING UNIVERSITY OF NEVADA, LAS VEGAS GOALS: Learn to use Function Generator and Oscilloscope on the breadboard.

More information

YEDITEPE UNIVERSITY DEPARTMENT OF COMPUTER ENGINEERING. EXPERIMENT VIII: FLIP-FLOPS, COUNTERS 2014 Fall

YEDITEPE UNIVERSITY DEPARTMENT OF COMPUTER ENGINEERING. EXPERIMENT VIII: FLIP-FLOPS, COUNTERS 2014 Fall YEDITEPE UNIVERSITY DEPARTMENT OF COMPUTER ENGINEERING EXPERIMENT VIII: FLIP-FLOPS, COUNTERS 2014 Fall Objective: - Dealing with the operation of simple sequential devices. Learning invalid condition in

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

Bachelor of Technology (Electronics and Instrumentation Engg.)

Bachelor of Technology (Electronics and Instrumentation Engg.) 1 A Project Report on Embedded processor design and Implementation of CAM In partial fulfillment of the requirements of Bachelor of Technology (Electronics and Instrumentation Engg.) Submitted By Jaswant

More information

LAB #4 SEQUENTIAL LOGIC CIRCUIT

LAB #4 SEQUENTIAL LOGIC CIRCUIT LAB #4 SEQUENTIAL LOGIC CIRCUIT OBJECTIVES 1. To learn how basic sequential logic circuit works 2. To test and investigate the operation of various latch and flip flop circuits INTRODUCTIONS 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

Lab #11: Register Files

Lab #11: Register Files Lab #11: Register Files ECE/COE 0501 Date of Experiment: 3/20/2017 Report Written: 3/22/2017 Submission Date: 3/27/2017 Nicholas Haver nicholas.haver@pitt.edu 1 H a v e r PURPOSE The purpose of this lab

More information

COE 202: Digital Logic Design Sequential Circuits Part 1. Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:

COE 202: Digital Logic Design Sequential Circuits Part 1. Dr. Ahmad Almulhem   ahmadsm AT kfupm Phone: Office: COE 202: Digital Logic Design Sequential Circuits Part 1 Dr. Ahmad Almulhem Email: ahmadsm AT kfupm Phone: 860-7554 Office: 22-324 Objectives Sequential Circuits Memory Elements Latches Flip-Flops Combinational

More information

The basic logic gates are the inverter (or NOT gate), the AND gate, the OR gate and the exclusive-or gate (XOR). If you put an inverter in front of

The basic logic gates are the inverter (or NOT gate), the AND gate, the OR gate and the exclusive-or gate (XOR). If you put an inverter in front of 1 The basic logic gates are the inverter (or NOT gate), the AND gate, the OR gate and the exclusive-or gate (XOR). If you put an inverter in front of the AND gate, you get the NAND gate etc. 2 One of the

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

Name Of The Experiment: Sequential circuit design Latch, Flip-flop and Registers

Name Of The Experiment: Sequential circuit design Latch, Flip-flop and Registers EEE 304 Experiment No. 07 Name Of The Experiment: Sequential circuit design Latch, Flip-flop and Registers Important: Submit your Prelab at the beginning of the lab. Prelab 1: Construct a S-R Latch and

More information

COMP2611: Computer Organization. Introduction to Digital Logic

COMP2611: Computer Organization. Introduction to Digital Logic 1 COMP2611: Computer Organization Sequential Logic Time 2 Till now, we have essentially ignored the issue of time. We assume digital circuits: Perform their computations instantaneously Stateless: once

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

DALHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED 220. Experiment 4 - Latches and Flip-Flops

DALHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED 220. Experiment 4 - Latches and Flip-Flops DLHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED 0 Experiment - Latches and Flip-Flops Objectives:. To implement an RS latch memory element. To implement a JK

More information

Chapter 8 Sequential Circuits

Chapter 8 Sequential Circuits Philadelphia University Faculty of Information Technology Department of Computer Science Computer Logic Design By 1 Chapter 8 Sequential Circuits 1 Classification of Combinational Logic 3 Sequential circuits

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

Chapter 5 Sequential Circuits

Chapter 5 Sequential Circuits Logic and Computer Design Fundamentals Chapter 5 Sequential Circuits Part 2 Sequential Circuit Design Charles Kime & Thomas Kaminski 28 Pearson Education, Inc. (Hyperlinks are active in View Show mode)

More information

Feedback Sequential Circuits

Feedback Sequential Circuits Feedback Sequential Circuits sequential circuit output depends on 1. current inputs 2. past sequence of inputs current state feedback sequential circuit uses ordinary gates and feedback loops to create

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

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

UNIT IV. Sequential circuit

UNIT IV. Sequential circuit UNIT IV Sequential circuit Introduction In the previous session, we said that the output of a combinational circuit depends solely upon the input. The implication is that combinational circuits have no

More information

EECS 270 Final Exam Spring 2012

EECS 270 Final Exam Spring 2012 EECS 270 Final Exam Spring 2012 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: Page # Points 2 /20 3 /12 4 /10 5 /15

More information

Digital Circuit And Logic Design I. Lecture 8

Digital Circuit And Logic Design I. Lecture 8 Digital Circuit And Logic Design I Lecture 8 Outline Sequential Logic Design Principles (1) 1. Introduction 2. Latch and Flip-flops 3. Clocked Synchronous State-Machine Analysis Panupong Sornkhom, 2005/2

More information

Digital Circuit And Logic Design I

Digital Circuit And Logic Design I Digital Circuit And Logic Design I Lecture 8 Outline Sequential Logic Design Principles (1) 1. Introduction 2. Latch and Flip-flops 3. Clocked Synchronous State-Machine Panupong Sornkhom, 2005/2 2 1 Sequential

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

LATCHES & FLIP-FLOP. Chapter 7

LATCHES & FLIP-FLOP. Chapter 7 LATCHES & FLIP-FLOP Chapter 7 INTRODUCTION Latch and flip flops are categorized as bistable devices which have two stable states,called SET and RESET. They can retain either of this states indefinitely

More information

CSE Latches and Flip-flops Dr. Izadi. NOR gate property: A B Z Cross coupled NOR gates: S M S R Q M

CSE Latches and Flip-flops Dr. Izadi. NOR gate property: A B Z Cross coupled NOR gates: S M S R Q M CSE-4523 Latches and Flip-flops Dr. Izadi NOR gate property: A B Z A B Z Cross coupled NOR gates: S M S R M R S M R S R S R M S S M R R S ' Gate R Gate S R S G R S R (t+) S G R Flip_flops:. S-R flip-flop

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

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

ECE 263 Digital Systems, Fall 2015

ECE 263 Digital Systems, Fall 2015 ECE 263 Digital Systems, Fall 2015 REVIEW: FINALS MEMORY ROM, PROM, EPROM, EEPROM, FLASH RAM, DRAM, SRAM Design of a memory cell 1. Draw circuits and write 2 differences and 2 similarities between DRAM

More information

CHAPTER1: Digital Logic Circuits

CHAPTER1: Digital Logic Circuits CS224: Computer Organization S.KHABET CHAPTER1: Digital Logic Circuits 1 Sequential Circuits Introduction Composed of a combinational circuit to which the memory elements are connected to form a feedback

More information

ECE 341. Lecture # 2

ECE 341. Lecture # 2 ECE 341 Lecture # 2 Instructor: Zeshan Chishti zeshan@pdx.edu October 1, 2014 Portland State University Announcements Course website reminder: http://www.ece.pdx.edu/~zeshan/ece341.htm Homework 1: Will

More information

Sequential Circuits: Latches & Flip-Flops

Sequential Circuits: Latches & Flip-Flops Sequential Circuits: Latches & Flip-Flops Overview Storage Elements Latches SR, JK, D, and T Characteristic Tables, Characteristic Equations, Eecution Tables, and State Diagrams Standard Symbols Flip-Flops

More information

SEQUENTIAL LOGIC. Satish Chandra Assistant Professor Department of Physics P P N College, Kanpur

SEQUENTIAL LOGIC. Satish Chandra Assistant Professor Department of Physics P P N College, Kanpur SEQUENTIAL LOGIC Satish Chandra Assistant Professor Department of Physics P P N College, Kanpur www.satish0402.weebly.com OSCILLATORS Oscillators is an amplifier which derives its input from output. Oscillators

More information

ASYNCHRONOUS COUNTER CIRCUITS

ASYNCHRONOUS COUNTER CIRCUITS ASYNCHRONOUS COUNTER CIRCUITS Asynchronous counters do not have a common clock that controls all the Hipflop stages. The control clock is input into the first stage, or the LSB stage of the counter. The

More information

Asynchronous (Ripple) Counters

Asynchronous (Ripple) Counters Circuits for counting events are frequently used in computers and other digital systems. Since a counter circuit must remember its past states, it has to possess memory. The chapter about flip-flops introduced

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

Sequential Logic Circuits

Sequential Logic Circuits Sequential Logic Circuits By Dr. M. Hebaishy Digital Logic Design Ch- Rem.!) Types of Logic Circuits Combinational Logic Memoryless Outputs determined by current values of inputs Sequential Logic Has memory

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

CHAPTER 4 RESULTS & DISCUSSION

CHAPTER 4 RESULTS & DISCUSSION CHAPTER 4 RESULTS & DISCUSSION 3.2 Introduction This project aims to prove that Modified Baugh-Wooley Two s Complement Signed Multiplier is one of the high speed multipliers. The schematic of the multiplier

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

Introduction to Sequential Circuits

Introduction to Sequential Circuits Introduction to Sequential Circuits COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals Presentation Outline Introduction to Sequential Circuits Synchronous

More information

Last time, we saw how latches can be used as memory in a circuit

Last time, we saw how latches can be used as memory in a circuit Flip-Flops Last time, we saw how latches can be used as memory in a circuit Latches introduce new problems: We need to know when to enable a latch We also need to quickly disable a latch In other words,

More information

Design Problem 4 Solutions

Design Problem 4 Solutions CSE 260 Digital Computers: Organization and Logical Design Jon Turner Design Problem 4 Solutions In this problem, you are to design, simulate and implement a maze game on the S3 board, using VHDL. This

More information

ACS College of Engineering. Department of Biomedical Engineering. HDL pre lab questions ( ) Cycle-1

ACS College of Engineering. Department of Biomedical Engineering. HDL pre lab questions ( ) Cycle-1 ACS College of Engineering Department of Biomedical Engineering HDL pre lab questions (2015-2016) Cycle-1 1. What is truth table? 2. Which gates are called universal gates? 3. Define HDL? 4. What is the

More information

(Refer Slide Time: 2:05)

(Refer Slide Time: 2:05) (Refer Slide Time: 2:05) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology, Madras Triggering Mechanisms of Flip Flops and Counters Lecture

More information

RS flip-flop using NOR gate

RS flip-flop using NOR gate RS flip-flop using NOR gate Triggering and triggering methods Triggering : Applying train of pulses, to set or reset the memory cell is known as Triggering. Triggering methods:- There are basically two

More information

WINTER 15 EXAMINATION Model Answer

WINTER 15 EXAMINATION Model Answer Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate

More information

Chapter 6. Flip-Flops and Simple Flip-Flop Applications

Chapter 6. Flip-Flops and Simple Flip-Flop Applications Chapter 6 Flip-Flops and Simple Flip-Flop Applications Basic bistable element It is a circuit having two stable conditions (states). It can be used to store binary symbols. J. C. Huang, 2004 Digital Logic

More information

Laboratory Exercise 6

Laboratory Exercise 6 Laboratory Exercise 6 The purpose of this exercise is to investigate latches, flip-flops, and counters. Part I Altera FPGAs include flip-flops that are available for implementing a user s circuit. We will

More information

EMT 125 Digital Electronic Principles I CHAPTER 6 : FLIP-FLOP

EMT 125 Digital Electronic Principles I CHAPTER 6 : FLIP-FLOP EMT 125 Digital Electronic Principles I CHAPTER 6 : FLIP-FLOP 1 Chapter Overview Latches Gated Latches Edge-triggered flip-flops Master-slave flip-flops Flip-flop operating characteristics Flip-flop applications

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

Department of Electrical and Computer Engineering Mid-Term Examination Winter 2012

Department of Electrical and Computer Engineering Mid-Term Examination Winter 2012 1 McGill University Faculty of Engineering ECSE-221B Introduction to Computer Engineering Department of Electrical and Computer Engineering Mid-Term Examination Winter 2012 Examiner: Rola Harmouche Date:

More information

EE292: Fundamentals of ECE

EE292: Fundamentals of ECE EE292: Fundamentals of ECE Fall 2012 TTh 10:00-11:15 SEB 1242 Lecture 23 121120 http://www.ee.unlv.edu/~b1morris/ee292/ 2 Outline Review Combinatorial Logic Sequential Logic 3 Combinatorial Logic Circuits

More information

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES 1 Learning Objectives 1. Explain the function of a multiplexer. Implement a multiplexer using gates. 2. Explain the

More information

Electrical and Telecommunications Engineering Technology_TCET3122/TC520. NEW YORK CITY COLLEGE OF TECHNOLOGY The City University of New York

Electrical and Telecommunications Engineering Technology_TCET3122/TC520. NEW YORK CITY COLLEGE OF TECHNOLOGY The City University of New York NEW YORK CITY COLLEGE OF TECHNOLOGY The City University of New York DEPARTMENT: SUBJECT CODE AND TITLE: COURSE DESCRIPTION: REQUIRED: Electrical and Telecommunications Engineering Technology TCET 3122/TC

More information

RS flip-flop using NOR gate

RS flip-flop using NOR gate RS flip-flop using NOR gate Triggering and triggering methods Triggering : Applying train of pulses, to set or reset the memory cell is known as Triggering. Triggering methods:- There are basically two

More information

Ryerson University Department of Electrical and Computer Engineering COE/BME 328 Digital Systems

Ryerson University Department of Electrical and Computer Engineering COE/BME 328 Digital Systems 1 P a g e Ryerson University Department of Electrical and Computer Engineering COE/BME 328 Digital Systems Lab 6 35 Marks (3 weeks) Design of a Simple General-Purpose Processor Due Date: Week 12 Objective:

More information

Section 001. Read this before starting!

Section 001. Read this before starting! Points missed: Student's Name: Total score: / points East Tennessee State University epartment of Computer and Information Sciences CSCI 25 (Tarnoff) Computer Organization TEST 2 for Spring Semester, 23

More information

Rensselaer Polytechnic Institute Computer Hardware Design ECSE Report. Lab Three Xilinx Richards Controller and Logic Analyzer Laboratory

Rensselaer Polytechnic Institute Computer Hardware Design ECSE Report. Lab Three Xilinx Richards Controller and Logic Analyzer Laboratory RPI Rensselaer Polytechnic Institute Computer Hardware Design ECSE 4770 Report Lab Three Xilinx Richards Controller and Logic Analyzer Laboratory Name: Walter Dearing Group: Brad Stephenson David Bang

More information

INTRODUCTION TO SEQUENTIAL CIRCUITS

INTRODUCTION TO SEQUENTIAL CIRCUITS NOTE: Explanation Refer Class Notes Digital Circuits(15EECC203) INTRODUCTION TO SEQUENTIAL CIRCUITS by Nagaraj Vannal, Asst.Professor, School of Electronics Engineering, K.L.E. Technological University,

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

Latches, Flip-Flops, and Registers. Dr. Ouiem Bchir

Latches, Flip-Flops, and Registers. Dr. Ouiem Bchir Latches, Flip-Flops, and Registers (Chapter #7) Dr. Ouiem Bchir The slides included herein were taken from the materials accompanying Fundamentals of Logic Design, 6 th Edition, by Roth and Kinney. Sequential

More information

PHYSICS 5620 LAB 9 Basic Digital Circuits and Flip-Flops

PHYSICS 5620 LAB 9 Basic Digital Circuits and Flip-Flops PHYSICS 5620 LAB 9 Basic Digital Circuits and Flip-Flops Objective Construct a two-bit binary decoder. Study multiplexers (MUX) and demultiplexers (DEMUX). Construct an RS flip-flop from discrete gates.

More information

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN Assoc. Prof. Dr. Burak Kelleci Spring 2018 OUTLINE Synchronous Logic Circuits Latch Flip-Flop Timing Counters Shift Register Synchronous

More information

Vignana Bharathi Institute of Technology UNIT 4 DLD

Vignana Bharathi Institute of Technology UNIT 4 DLD DLD UNIT IV Synchronous Sequential Circuits, Latches, Flip-flops, analysis of clocked sequential circuits, Registers, Shift registers, Ripple counters, Synchronous counters, other counters. Asynchronous

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

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

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 281: igital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Registers CprE 281: igital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev Administrative

More information

CSCB58 - Lab 4. Prelab /3 Part I (in-lab) /1 Part II (in-lab) /1 Part III (in-lab) /2 TOTAL /8

CSCB58 - Lab 4. Prelab /3 Part I (in-lab) /1 Part II (in-lab) /1 Part III (in-lab) /2 TOTAL /8 CSCB58 - Lab 4 Clocks and Counters Learning Objectives The purpose of this lab is to learn how to create counters and to be able to control when operations occur when the actual clock rate is much faster.

More information

Chapter 3. Boolean Algebra and Digital Logic

Chapter 3. Boolean Algebra and Digital Logic Chapter 3 Boolean Algebra and Digital Logic Chapter 3 Objectives Understand the relationship between Boolean logic and digital computer circuits. Learn how to design simple logic circuits. Understand how

More information

Report on 4-bit Counter design Report- 1, 2. Report on D- Flipflop. Course project for ECE533

Report on 4-bit Counter design Report- 1, 2. Report on D- Flipflop. Course project for ECE533 Report on 4-bit Counter design Report- 1, 2. Report on D- Flipflop Course project for ECE533 I. Objective: REPORT-I The objective of this project is to design a 4-bit counter and implement it into a chip

More information

Chapter. Sequential Circuits

Chapter. Sequential Circuits Chapter Sequential Circuits Circuits Combinational circuit The output depends only on the input Sequential circuit Has a state The output depends not only on the input but also on the state the circuit

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

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422) LATCHES and FLIP-FLOPS

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422) LATCHES and FLIP-FLOPS COURSE / CODE DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422) LATCHES and FLIP-FLOPS In the same way that logic gates are the building blocks of combinatorial circuits, latches

More information

Digital Logic. ECE 206, Fall 2001: Lab 1. Learning Objectives. The Logic Simulator

Digital Logic. ECE 206, Fall 2001: Lab 1. Learning Objectives. The Logic Simulator Learning Objectives ECE 206, : Lab 1 Digital Logic This lab will give you practice in building and analyzing digital logic circuits. You will use a logic simulator to implement circuits and see how they

More information

Today 3/8/11 Lecture 8 Sequential Logic, Clocks, and Displays

Today 3/8/11 Lecture 8 Sequential Logic, Clocks, and Displays Today 3/8/ Lecture 8 Sequential Logic, Clocks, and Displays Flip Flops and Ripple Counters One Shots and Timers LED Displays, Decoders, and Drivers Homework XXXX Reading H&H sections on sequential logic

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

Logic Devices for Interfacing, The 8085 MPU Lecture 4

Logic Devices for Interfacing, The 8085 MPU Lecture 4 Logic Devices for Interfacing, The 8085 MPU Lecture 4 1 Logic Devices for Interfacing Tri-State devices Buffer Bidirectional Buffer Decoder Encoder D Flip Flop :Latch and Clocked 2 Tri-state Logic Outputs

More information

1. a) For the circuit shown in figure 1.1, draw a truth table showing the output Q for all combinations of inputs A, B and C. [4] Figure 1.

1. a) For the circuit shown in figure 1.1, draw a truth table showing the output Q for all combinations of inputs A, B and C. [4] Figure 1. [Question 1 is compulsory] 1. a) For the circuit shown in figure 1.1, draw a truth table showing the output Q for all combinations of inputs A, B and C. Figure 1.1 b) Minimize the following Boolean functions:

More information

First Name Last Name November 10, 2009 CS-343 Exam 2

First Name Last Name November 10, 2009 CS-343 Exam 2 CS-343 Exam 2 Instructions: For multiple choice questions, circle the letter of the one best choice unless the question explicitly states that it might have multiple correct answers. There is no penalty

More information

VHDL 4 BUILDING BLOCKS OF A COMPUTER.

VHDL 4 BUILDING BLOCKS OF A COMPUTER. 1 VHDL 4 BUILDING BLOCKS OF A COMPUTER http://www.cse.cuhk.edu.hk/~mcyang/teaching.html 2 We will learn Combinational circuit and sequential circuit Building blocks of a computer Control units are state

More information