Memory storage cell based array of counters
First Claim
Patent Images
1. An apparatus, comprising:
- a counter array having a plurality of counters, each counter having a memory cell;
an address decoder coupled to the counter array to select at least one of the memory cells within the counter array; and
read/write circuitry coupled to the counter array to pass data with the counter array.
13 Assignments
0 Petitions
Accused Products
Abstract
A multi-counter based system having a counter array. Each counter of the array having a memory cell. The system also includes an address decoder coupled to the counter array to select at least one of the memory cells within the counter array and read/write circuitry coupled to the counter array to pass data with the counter array.
-
Citations
56 Claims
-
1. An apparatus, comprising:
-
a counter array having a plurality of counters, each counter having a memory cell;
an address decoder coupled to the counter array to select at least one of the memory cells within the counter array; and
read/write circuitry coupled to the counter array to pass data with the counter array. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
a first flop; and
a second flop coupled to the first flop, each of the first and second flops comprising;
a master latch having a first memory cell; and
a slave latch coupled to the master latch, the slave having a second memory cell.
-
-
3. The apparatus of claim 2, wherein each of the master and slave latches further comprise control logic circuitry.
-
4. The apparatus of claim 2, wherein the slave latch further comprises:
-
a first transistor coupled to the second memory cell;
a second transistor coupled to the second memory cell; and
a third transistor coupled to the first transistor to set the second memory cell and further coupled to the second memory cell to reset the second memory cell.
-
-
5. The apparatus of claim 4, wherein the third transistor is coupled to receive a clock signal.
-
6. The apparatus of claim 4, wherein the memory cell has a bit line and a complement bit line and wherein the first transistor has a first terminal coupled to the bit line and a second terminal coupled to the third transistor, and wherein the second transistor has a first terminal coupled to the complement bit line and a second terminal coupled to the third transistor.
-
7. The apparatus of claim 6, wherein the first transistor has a gate coupled to receive a reset signal.
-
8. The apparatus of claim 6, wherein the second transistor has a gate coupled to receive a set signal.
-
9. The apparatus of claim 1, wherein each counter is a ripple counter.
-
10. The apparatus of claim 9, wherein the ripple counters are up-counters.
-
11. The apparatus of claim 9, wherein the ripple counters are down-counters.
-
12. The apparatus of claim 9, wherein the ripple counters are up/down-counters.
-
13. The apparatus of claim 1, wherein the memory cell is a static random access memory cell.
-
14. The apparatus of claim 4, wherein the memory cell is a static random access memory cell.
-
15. The apparatus of claim 6, wherein the memory cell is a static random access memory cell.
-
16. The apparatus of claim 1, further comprising:
-
bit lines coupled to one of the memory cells of one of the plurality of counters; and
read/write circuitry coupled to the bit lines.
-
-
17. The apparatus of claim 1, further comprising a word line coupled to each of the memory cells of one of the plurality of counters.
-
18. An apparatus, comprising:
-
a counter array having a plurality of counters, each counter of the plurality of counters having a memory cell, each memory cell coupled to a bit line and a complement bit line;
an address decoder coupled to the counter array to select at least one of the memory cells within the counter array; and
read/write circuitry coupled to the counter array to pass data with the counter array over the bit lines and the complementary bit lines, and wherein each counter comprises;
a first flop; and
a second flop coupled to the first flop, each of the first and second flops comprising;
a master latch having a first one of the memory cells and a first set/reset circuit; and
a slave latch coupled to the master latch, the slave latch having a second one of the memory cell and a second set/reset circuit, and wherein each of the master and slave latches comprise;
a first transistor coupled to the memory cell, the first transistor having a gate coupled to receive a set signal to set the memory cell and a first terminal coupled to the bit line of the memory cell;
a second transistor coupled to the memory cell, the second transistor having a gate coupled to receive a reset signal to reset the memory cell and a first terminal coupled to the complement bit line of the memory cell; and
a third transistor coupled to the first and second transistors to enable the memory cell, the first transistor having a second terminal coupled to the third transistor, the second transistor having a second terminal coupled to the third transistor.
-
-
19. A counter, comprising:
-
a plurality of flip-flops, each of the plurality of flip-flops having first and second latches, each of the first and second latches having a memory cell. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
a first flop having a data output; and
a second flop having a clock input coupled to the data output of the first flop, and wherein the first latch has an output and the second latch has an output, the second latch coupled to receive the output of the first latch, the first latch having a first logic circuit coupled to a first memory cell and the second latch having a second logic circuit coupled to a second memory cell, and wherein each of the first and second memory cells has a bit line and a complement bit line.
-
-
22. The counter of claim 21, wherein the first logic circuit comprises:
-
a first transistor coupled to the second memory cell;
a second transistor coupled to the second memory cell; and
a third transistor coupled to the first and second transistors to set the second memory cell and further coupled to second memory cell to reset the second memory cell.
-
-
23. The counter of claim 22, wherein the third transistor is coupled to receive a clock signal.
-
24. The counter of claim 21, wherein the memory cell has a bit line and a complement bit line and wherein the first transistor has a first terminal coupled to the bit line and a second terminal coupled to the third transistor, and wherein the second transistor has a first terminal coupled to the complement bit line and a second terminal coupled to the third transistor.
-
25. The counter of claim 24, wherein the memory cell is a static random access memory cell.
-
26. The counter of claim 24, wherein the first transistor has a gate coupled to receive a reset signal and the second transistor has a gate coupled to receive a set signal.
-
27. The counter of claim 24, wherein the first transistor of the first latch is coupled to receive the output of the second latch.
-
28. The counter of claim 24, wherein the second transistor of the first latch is coupled to receive a complement of the output of the second latch.
-
29. The counter of claim 24, wherein the output of the second latch of the first flop is coupled to the third transistor of the first latch of the second flop.
-
30. The counter of claim 21, wherein the first and second latches are coupled together as master-slave latches in a D type flip-flop.
-
31. The counter of claim 19, wherein each of the plurality of flip-flops has first and second enable inputs and first and second memory cells, the first and second memory cells each having an output, wherein the enable inputs of a first flip-flop are responsive to a clock signal, wherein the enable inputs of a second flip-flop are coupled to receive an output signal from the second memory cell, and wherein each subsequent flip-flop of the plurality of flip-flops has the enable inputs coupled to receive the output signal from the second memory cell of a preceding flip-flop of the plurality of flip-flops.
-
32. An apparatus, comprising:
-
first and second flip-flops each having first and second latches, the first and second latches each having a data input, a clock input, and a data output, wherein each of the first and second latches comprises;
a memory cell having a bit line;
first, second, and third transistors each having a gate terminal and first channel terminal and a second channel terminal, the first channel terminals of the first and second transistors coupled to the bit line, the first channel terminal of the third transistor coupled to the second channel terminals of the first and second transistors; and
a first inverter having an input and an output, the output of the first inverter coupled to the gate terminal of the first transistor and the input of the first inverter coupled to the gate terminal of the second transistor, and wherein the bit line of the memory cell of the first latch is coupled to the input of the first inverter of the second latch, the bit line of the memory cell of the second latch is coupled to an input of a second inverter, an output of the second inverter coupled to the input of the first inverter. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40)
and wherein each flip-flop further comprises a feedback multiplexer having a control input, a first data input coupled to the bit line of the memory cell of the first latch, a second data input coupled to the output of the second inverter, an output coupled to the input of the first inverter, and wherein the control input of the feedback multiplexer selects between the first and second data inputs of the feedback multiplexer. -
40. The apparatus of claim 39, wherein the memory cell is a static random access memory cell.
-
-
41. A method, comprising:
-
receiving a data value at an input to a first logic circuit;
storing the data value in a first memory cell;
providing the data value to a second memory cell coupled to the first memory cell through a second logic circuit;
outputting the data value from the second memory cell; and
feeding back one of the output data value from the second memory cell and an inverted output data value from the second memory cell to the input of the first logic circuit. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49)
providing a clock signal to the second logic circuit;
providing a complement of the clock signal to the first logic circuit; and
changing the data value on the rising edge of the clock signal.
-
-
43. The method of claim 41, further comprising:
-
inverting the output data value from the second memory cell; and
providing the inverted output data value from the second memory cell as a clock input to a third logic circuit.
-
-
44. The method of claim 41, further comprising:
-
providing the output data value from the second memory cell as a clock input to a third logic circuit; and
inverting the output data value from the second memory cell.
-
-
45. The method of claim 41, further comprising:
-
inverting the output data value from the second memory cell; and
selecting between the output data value and the inverted output data value from the second memory cell to generate a selected output.
-
-
46. The method of claim 45, further comprising providing the selected output as a clock input to a third logic circuit.
-
47. The method of claim 41, wherein the first and second memory cells are in a preceding flip-flop of a plurality of flip-flops and wherein the method further comprises:
-
inverting the data value output from the second memory cell of the preceding flip-flop;
providing the inverted data value to a subsequent flip-flop and to the first memory cell of the preceding flip-flop; and
providing the inverted data value to an enable input of the subsequent flip-flop.
-
-
48. The method of claim 41, wherein the first and second memory cells are in a preceding flip-flop of a plurality of flip-flops and wherein the method further comprises:
-
inverting the data value output from the second memory cell of the preceding flip-flop;
providing the inverted data value to a subsequent flip-flop and to the first memory cell of the preceding flip-flop; and
providing the data value to an enable input of the subsequent flip-flop.
-
-
49. The method of claim 41, wherein the first and second memory cells are in a preceding flip-flop of a plurality of flip-flops and wherein the method further comprises:
-
selecting between the data value and the inverted data value of the preceding flip-flop;
selecting between the data value and the inverted data value of the subsequent flip-flop;
providing the selected one of the data value and the inverted data value of the preceding flip-flop to the first memory cell of the preceding flip-flop at a first clock cycle;
providing the selected one of the data value and the inverted data value of the subsequent flip-flop to the first memory cell of the subsequent flip-flop at the first clock cycle; and
applying the selected one of the data value and the inverted data value of the preceding flip-flop to an enable input of the subsequent flip-flop at least one clock cycle after the first clock cycle.
-
-
50. An apparatus, comprising:
-
means for storing data in a counter using a first memory cell; and
means for storing the data in the counter using a second memory cell. - View Dependent Claims (51, 52, 53, 54, 55, 56)
means for providing the inverted data value to the first memory cell of the preceding flip-flop; and
means for providing the data value from the second memory cell of the preceding flip-flop to an enable input of the subsequent flip-flop.
-
-
55. The apparatus of claim 50, further comprising means for incrementing and decrementing the counter.
-
56. The apparatus of claim 50, further comprising:
-
means for resetting the data to a first logic state; and
means for setting the data to a second logic state.
-
Specification