Question

In: Electrical Engineering

A binary counter has one input X and counts as follows. If X = 0, it...

A binary counter has one input X and counts as follows. If X = 0, it counts 2, 3, 1 and repeats; if X = 1, it counts 1, 0, 3 and repeats. You can assume that the following cases do not occur: counter value is 0 with X = 0, and counter value is 2 with X = 1.

(a) Draw the state diagram of the binary counter above. Use the binary counting values as the state names. You do not need to represent the state transitions for the cases that do not occur.

(b) Use two D-type flip-flops and logic gates to design the binary counter. In your answers, include the state table, the flip-flop input equations and the final logic circuit diagram.

Solutions

Expert Solution

Question (a)

The states are assigned the binary values as

The state diagram is as below.

Question (b)

The excitation table of a D flip flop is as shown below

That is, if the present state is 0 and you want the next state to be also 0, then the D flip flop input D should be 0. Similarly if the present state is 0 and you want the next state to be 1, then the D flip flop input D should be 1. So basically what you want as the next state should be given to the D input. Based on this we can complete the state table as follows

Now lets draw the K map for D1 and D0. Since X is used as an input I am using DC to denote dont care in the K map

The K map for

The K map for

Based on this the circuit diagram is drawn as below

The circuit is simulated in NI MULTISIM and the design was verified.


Related Solutions

Create a counter that continuously counts odd numbers backwards (i.e from ‘F’ to ‘0’) and display...
Create a counter that continuously counts odd numbers backwards (i.e from ‘F’ to ‘0’) and display it on 7-sd by using the Verilog code. On this part, you are required to use the clock from the FPGA board. However, the clock frequency is 100 MHz, and it is too fast to be used (10 ?s). Thus, we need to derive a slower clock with a speed of almost 1 s, which the frequency of it is 1 Hz. This process...
Question 3: A)Design a BCD counter. -The circuit counts from 0 to 9, then resets back...
Question 3: A)Design a BCD counter. -The circuit counts from 0 to 9, then resets back to 0 to restart the counting sequence. -The circuit has one input run/stop. If the input is 1, the eounter will count. If the input is 0, the counter will freeze in its current location until the input is set to 1 again. -The circuit has one output. It becomes 1 when the counter completes a cycle and starts the next one. Otherwise, that...
Design a decoder counter MOD '10' that counts from 0-9 using 4 flip flops and a...
Design a decoder counter MOD '10' that counts from 0-9 using 4 flip flops and a NAND gate.
A)  Design 0?379 count?up counter with BCD counter blocks if input clear signal is synchronous. B) Design...
A)  Design 0?379 count?up counter with BCD counter blocks if input clear signal is synchronous. B) Design 0?379 count?up counter with BCD counter blocks if input clear signal is Asynchronous. C) Design of 1/577 frequency divider with BCD count?up counters (Clear signal is Asynchronous)
write a verilog code to implement a digital system that has an odd counter that counts...
write a verilog code to implement a digital system that has an odd counter that counts from 1 to 11. Also, this system has an output Y that detects a specific number in the odd counter. Test your code when you detect the number 3, the output Y is 1, if the counter value is set to 3, otherwise 0.
Write a program that takes in a positive integer as input, and outputs a string of 1's and 0's representing the integer in binary. For an integer x, the algorithm is:
USE Coral Write a program that takes in a positive integer as input, and outputs a string of 1's and 0's representing the integer in binary. For an integer x, the algorithm is:As long as x is greater than 0    Output x % 2 (remainder is either 0 or 1)    x = x / 2Note: The above algorithm outputs the 0's and 1's in reverse order.Ex: If the input is 6, the output is:011(6 in binary is 110; the algorithm outputs the bits in reverse).
Write a program that takes in a positive integer as input, and outputs a string of 1's and 0's representing the integer in binary. For an integer x, the algorithm is:
In Java  Write a program that takes in a positive integer as input, and outputs a string of 1's and 0's representing the integer in binary. For an integer x, the algorithm is:As long as x is greater than 0    Output x % 2 (remainder is either 0 or 1)    x = x / 2Note: The above algorithm outputs the 0's and 1's in reverse order.Ex: If the input is:6the output is:0116 in binary is 110; the algorithm outputs the bits in reverse.
Design a combinational circuit with four inputs (A, B, C and D) and four outputs (W, X, Y and Z). When the binary input is less than 10 the binary output is two greater than the input. When the binary input is equal or greater than 10 the binary output
Design a combinational circuit with four inputs (A, B, C and D) and four outputs (W, X, Y and Z). When the binary input is less than ten the binary output is two greater than the input. When the binary input is equal or greater than ten the binary output is three less than the input.
[C] Write a program that takes in a positive integer as input, and outputs a string of 1's and 0's representing the integer in binary. For an integer x, the algorithm is:
6.19 LAB: Convert to binary - functionsWrite a program that takes in a positive integer as input, and outputs a string of 1's and 0's representing the integer in binary. For an integer x, the algorithm is:As long as x is greater than 0    Output x % 2 (remainder is either 0 or 1)    x = x / 2Note: The above algorithm outputs the 0's and 1's in reverse order. You will need to write a second function to reverse the string.Ex: If the input is:6the output is:110Your program must define and call the following two functions. The IntegerToReverseBinary function...
(Python) Write a program that takes in a positive integer as input, and outputs a string of 1's and 0's representing the integer in binary. For an integer x, the algorithm is:
In Python8.21 Program: Convert to binary. Sections 2.7, 3.8, 5.2. Functions.Write a program that takes in a positive integer as input, and outputs a string of 1's and 0's representing the integer in binary. For an integer x, the algorithm is:As long as x is greater than 0    Output x % 2 (remainder is either 0 or 1)    x = x // 2Note: The above algorithm outputs the 0's and 1's in reverse order. You will need to write a second function to reverse the string.Your program must define and call the following two functions. The function integer_to_reverse_binary() should return...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT