Semiconductor device
10971237 · 2021-04-06
Assignee
Inventors
Cpc classification
G06K19/073
PHYSICS
G11C7/1078
PHYSICS
G11C7/1042
PHYSICS
G11C16/22
PHYSICS
G11C19/00
PHYSICS
G11C16/105
PHYSICS
G11C5/066
PHYSICS
G11C7/1012
PHYSICS
International classification
G11C7/10
PHYSICS
G06K19/073
PHYSICS
Abstract
A semiconductor device has stored therein a plurality of bits of fixed data. The semiconductor device includes a plurality of memory elements that correspond, respectively, to the plurality of bits of the fixed data, and that acquire, store, and output the value of each bit received at an input terminal of each of the memory elements according to a timing signal. An initialization control unit feeds, to the plurality of memory elements, an initialization signal upon receipt of a fixed data setting signal, each of the plurality of memory elements being initialized to a state of storing a corresponding value represented by a bit of the fixed data according to the initialization signal.
Claims
1. A semiconductor device having stored therein a plurality of bits of fixed data, the semiconductor device comprising: a plurality of memory elements that correspond, respectively, to the plurality of bits of the fixed data, and that acquire, store, and output a value of each bit received at an input terminal of each of the memory elements according to a timing signal; and an initialization control unit that feeds, to the plurality of memory elements, an initialization signal upon receipt of a fixed data setting signal, wherein each of the plurality of memory elements is initialized to a state of storing a corresponding value represented by a bit of the fixed data according to the initialization signal.
2. The semiconductor device according to claim 1, wherein, among a memory element group including the plurality of memory elements, are included a first memory element having a reset terminal that receives the initialization signal and a second memory element having a set terminal that receives the initialization signal, the reset terminal configured to control the first memory element to store a value of a first logic level upon receipt of the initialization signal, and the set terminal configured to control the second memory element to store a value of a second logic level upon receipt of the initialization signal.
3. The semiconductor device according to claim 1, wherein each of the plurality of memory elements is a flip-flop or a latch.
4. The semiconductor device according to claim 3, wherein a memory element group including the plurality of memory elements includes at least one flip-flop and at least one latch.
5. The semiconductor device according to claim 4, wherein each of the plurality of memory elements has a reset terminal and a set terminal, the reset terminal configured to control the respective memory element to store a value of a first logic level upon receipt of the initialization signal, and the set terminal configured to control the respective memory element to store a value of a second logic level upon receipt of the initialization signal, wherein a first memory element corresponding to a bit, among the plurality of bits of the fixed data, having a first value receives the initialization signal at only the reset terminal, among the reset terminal and the set terminal, and wherein a second memory element corresponding to a bit, among the plurality of bits of the fixed data, having a second value differing from the first value receives the initialization signal at only the set terminal, among the reset terminal and the set terminal.
6. The semiconductor device according to claim 5, further comprising: an output buffer that outputs, to a unit outside of a semiconductor chip, the fixed data outputted from the plurality of memory elements.
7. The semiconductor device according to claim 6, further comprising: a selector that receives a plurality of information data pieces respectively having a plurality of bits, selects one of the plurality of information data pieces, and feeds the plurality of bits of the selected information data piece to the respective input terminals of the plurality of memory elements.
8. The semiconductor device according to claim 7, wherein the plurality of memory elements constitute a shift register, and wherein the shift register successively shifts the plurality of bits of the one information data piece stored in the plurality of memory elements by one bit each, and outputs the bits.
9. The semiconductor device according to claim 8, wherein the initialization control unit feeds, to the plurality of memory elements, the initialization signal upon receipt of the fixed data setting signal or a power on reset signal.
10. The semiconductor device according to claim 9, wherein the fixed data is a device ID that is an identifier for identifying a product type.
11. The semiconductor device according to claim 1, further comprising: a plurality of input selection circuits configured to receive a plurality of input signals at a plurality of respective input terminals and to select one of the plurality of input signals to output at an output terminal according to a selection signal, the plurality of input selection circuits configured to receive as a first input at a first input terminal chip identification (ID) information from an ID storage unit and as a second input at a second input terminal data read out from a memory cell array, wherein the output terminals of the plurality of input selection circuits is connected to a respective input terminal of a respective one of the plurality of memory elements.
12. A semiconductor device, comprising: a plurality of input selection circuits configured to receive a plurality of input signals at a plurality of respective input terminals and to select one of the plurality of input signals to output at an output terminal according to a selection signal, the plurality of input selection circuits configured to receive as a first input at a first input terminal chip identification (ID) information from an ID storage unit and as a second input at a second input terminal data read out from a memory cell array; and a plurality of memory elements, each having a first input terminal connected to the respective output terminal of a respective one of the plurality of input selection circuits, such that each memory element stores and outputs a value corresponding to the respective output terminal of the respective one of the plurality of input selection circuits according to a clock signal, wherein each of the plurality of memory elements further comprises a second input terminal configured to cause the respective memory element to store and output a fixed value based on receiving an initialization signal input, wherein the fixed value output by at least one of the plurality of memory elements is a different value than at least another of the plurality of memory elements.
13. The semiconductor device according to claim 12, wherein the semiconductor device is configured to output a first portion of the chip ID information via the plurality of input selection circuits and the plurality of memory elements based on receiving the first portion of the chip ID information at the respective first inputs of the plurality of input selection circuits, and wherein the semiconductor device is configured to output a second portion of the chip ID information via the plurality of memory elements based on receiving the initialization input signal at the plurality of memory elements.
14. The semiconductor device according to claim 13, wherein the plurality of input selection circuits is configured to receive the first portion of the chip ID information in parallel from the memory cell array, and wherein the plurality of memory elements is configured to output the first portion of the chip ID information and the second portion of the chip ID information in a serial manner.
15. The semiconductor device according to claim 13, wherein the plurality of input selection circuits is configured to receive the first portion of the chip ID information in parallel from the memory cell array, and wherein the plurality of memory elements is configured to output the first portion of the chip ID information and the second portion of the chip ID information in parallel from a plurality of data output terminals.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION OF EMBODIMENTS
(9) An embodiment of the present invention will be explained in detail below with reference to the drawings.
(10)
(11) The memory cell array 10 is constituted of a plurality of banks, each of which includes a plurality of memory cells.
(12) The array controller 11 generates various voltages for writing data, reading data, or deleting data according to an address supplied from the memory controller 12 and a read command, write command, or delete command, and supplies the voltages to the memory cell group in the memory cell array 10 corresponding to the address.
(13) Also, when the various voltages for reading data described above are supplied to the memory cell group, the array controller 11 detects the current sent from the memory cell group in the memory cell array 10 and determines the value of the read data on the basis of the detected current. Then, the array controller 11 generates the determined read data as read data MEM[0:7] indicated with 8 bits, for example, and supplies the read data to the memory controller 12.
(14) As shown in
(15) The status register 121 stores status data SR[0:7] that indicates the current state of the memory unit 100 in 8 bits. The configuration register 122 stores configuration data CFG[0:7] that indicates setting information for the memory control method performed by the memory controller 12 in 8 bits. The bank address register 123 stores a bank address BA[0:7] that indicates the position of each of the banks included in the memory cell array 10 in 8 bits. The sector protection register 124 stores sector protection data SP[0:7] indicating sectors to be excluded from data writing or deletion in each bank included in the memory cell array 10 in 8 bits.
(16) The ID storage unit 130 stores an ID [0:15] included within the device ID [0:23] that indicates in 24 bits specific information of the product type of the host device. As will be described later, unlike typical examples, in the present invention, the remaining ID [16:23] is stored in a distributed manner in the P/S conversion circuit 125. In other words, according to embodiments of the invention, the memory controller 12 stores identification information, which may include chip IDs, device IDs, device address codes, or any other type of identification information as an ID, and a portion of the ID is stored in the ID storage unit 130 while a remainder of the ID is stored in a distributed manner in the P/S conversion circuit 125.
(17)
(18) The ID storage unit 130 shown in
(19) The P/S conversion circuit 125 receives the above-mentioned read data MEM[0:7], the status data SR[0:7], the configuration data CFG[0:7], the bank address BA[0:7], the sector protection data SP[0:7], and the device ID [0:15].
(20) The P/S conversion circuit 125 first selects one group's worth of data pieces, among the above-mentioned six groups of information data pieces including the MEM[0:7], the SR[0:7], the CFG[0:7], the BA[0:7], the SP[0:7], and the ID[0:15], to be subjected to parallel/serial conversion. Next, the P/S conversion circuit 125 converts the selected one group's worth of data pieces into a serial data signal SIO for each bit, and supplies the serial data signal to the output buffer 126. The output buffer 126 sends the serial data signal SIO to a serial bus SBS through an output terminal SO according to an output enable signal EN.
(21)
(22) The P/S conversion circuit 125 includes a shift register including flip-flops FF0 to FF7, 8-input selectors SL0 to SL7, and an AND gate AN.
(23) Each of the 8-input selectors SL0 to SL7 has eight input terminals (a, b, c, d, e, f, g, h). Each of the 8-input selectors SL0 to SL7 selects a data bit received by one input terminal selected according to a selection signal SED, among the input terminals a to h, and outputs the data bit to an output terminal Y. The selection signal may be a control signal provided by a memory control device or processor (not shown), for example, or it may be provided from the array controller 11.
(24)
(25) The 2-input selector 41 selects the data bit received by the input terminal a or the data bit received by the input terminal b on the basis of the binary (logic level of 0 or 1) value of the selection bit SELC, and supplies this data bit as a selection data bit r to the 4-input selector 42 in the next stage.
(26) The 4-input selector 42 selects one of the selection data bit r, the data bit received by the input terminal c, the data bit received by the input terminal d, and the data bit received by the input terminal e on the basis of the binary values of the selection bits SELB[0] and SELB[1]. The 4-input selector 42 supplies the one selected data bit as a selection data bit t to the 4-input selector 43 in the next stage.
(27) The 4-input selector 43 selects one of the selection data bit t, the data bit received by the input terminal f, the data bit received by the input terminal g, and the data bit received by the input terminal h on the basis of the binary values of the selection bits SELA[0] and SELA[1]. The 4-input selector 43 outputs the one selected data bit as a selection data bit through the output terminal Y.
(28) The input terminals a of the 8-input selectors SL0 to SL7, each of which has the configuration shown in
(29) The input terminals b of the 8-input selectors SL0 to SL7 respectively receive as data bits the device ID [0], ID[1], ID[2], ID[3], ID[4], ID[5], ID[6], and ID[7], as shown in
(30) The input terminals c of the 8-input selectors SL0 to SL7 respectively receive as data bits the bank addresses BA[0], BA[1], BA[2], BA[3], BA[4], BA[5], BA[6], and BA[7], as shown in
(31) The input terminals d of the 8-input selectors SL0 to SL7 respectively receive as data bits the sector protection data SP[0], SP[1], SP[2], SP[3], SP[4], SP[5], SP[6], and SP[7], as shown in
(32) The input terminals e of the 8-input selectors SL0 to SL7 respectively receive as data bits the configuration data CFG[0], CFG[1], CFG[2], CFG[3], CFG[4], CFG[5], CFG[6], and CFG[7], as shown in
(33) The input terminals f of the 8-input selectors SL0 to SL7 respectively receive as data bits the read data MEM[0], MEM[1], MEM[2], MEM[3], MEM[4], MEM[5], MEM[6], and MEM[7], as shown in
(34) The input terminals g of the 8-input selectors SL0 to SL7 respectively receive as data bits the status data SR[0], SR[1], SR[2], SR[3], SR[4], SR[5], SR[6], and SR[7], as shown in
(35) By the above configuration the 8-input selector SL0 selects one of the above-mentioned ID[8], ID[0], BA[0], SP[0], CFG[0], MEM[0], and SR[0] according to the selection signal SED (SELA[0], SELA[1], SELB[0], SELB[1], SELC). The 8-input selector SL0 supplies to the input terminal D of the flip-flop FF0, the selected ID[8], ID[0], BA[0], SP[0], CFG[0], MEM[0], or SR[0] as a data bit D0. The input terminal h of the 8-input selector SL0 is unused, and thus, is supplied ground potential.
(36) The flip-flop FF0 acquires the data bit D0 at the rising edge of a clock signal CLK, which is a timing signal, and supplies an output signal Q[0] of the flip-flop FF0 to the input terminal h of the 8-input selector SL1.
(37) The 8-input selector SL1 selects any of the above-mentioned ID[9], ID[1], BA[1], SP[1], CFG[1], MEM[1], SR[1], and the data bit Q[0] supplied from the flip-flop FF0 according to the selection signal SED. The 8-input selector SL1 supplies to the input terminal D of the flip-flop FF1, the selected ID[9], ID[1], BA[1], SP[1], CFG[1], MEM[1], SR[1], or Q[0] as a data bit D1.
(38) The flip-flop FF1 acquires the data bit D1 at the rising edge of the clock signal CLK, and supplies an output signal Q[1] of the flip-flop FF1 to the input terminal h of the 8-input selector SL2.
(39) Similarly thereafter, the 8-input selector SLw (where w is an integer of 2-7) selects any of the above-mentioned ID[w+8], ID[w], BA[w], SP[w], CFG[w], MEM[w], SR[w], and the data bit Q[w−1] supplied from the flip-flop FF[w−1] according to the selection signal SED. The 8-input selector SLw supplies to the input terminal D of the flip-flop FFw, the selected ID[w+8], ID[w], BA[w], SP[w], CFG[w], MEM[w], SR[w], or the data bit supplied from the flip-flop FF[w−1] as a data bit Dw.
(40) The flip-flop FFw acquires and retains the data bit Dw at the rising edge of the clock signal CLK, and (excluding FF7) supplies an output signal Q[w] of the flip-flop FFw to the input terminal h of the 8-input selector SLw+1.
(41) The flip-flop FF7, which is the last stage of the shift register, acquires and retains the data bit D7 at the rising edge of the clock signal CLK, and outputs the data bit as the data bit Q[7]. The P/S conversion circuit 125 outputs the data bit Q[7] outputted from the flip-flop FF7 as the serial data signal SIO.
(42) Among the flip-flops FF0 to FF7, the flip-flops FF0, FF2, FF4, and FF6 each have a set terminal S, whereas the flip-flops FF1, FF3, FF5, and FF7 have a reset terminal R.
(43) In other words, when an initialization signal INI with a logic level of 0 is supplied to the set terminal S of each of the flip-flops FF0, FF2, FF4, and FF6, the flip-flops are initialized to a set state, that is, a state in which a data bit with a logic level of 1 is retained. On the other hand, when an initialization signal INI with a logic level of 0 is supplied to the reset terminal R of each of the flip-flops FF1, FF3, FF5, and FF7, the flip-flops are initialized to a reset state, or in other words, a state in which a data bit with a logic level of 0 is retained. The flip-flops FF0 to FF7 receive the initialization signals INI at times that are not synchronized to the clock signal CLK, and are initialized to a set state or a reset state as described above according to the initialization signal INI.
(44) The AND gate AN receives a power on reset signal POR and an ID setting signal IDS. The power on reset signal POR stays at a logic level of 0, which prompts initialization of flip-flops for only a prescribed period, and then stays at a logic level of 1 when the memory unit 100 is powered on. The ID setting signal IDS is a signal that is not synchronized to the clock signal CLK, and that corresponds to the ID read command signal supplied from a source external to the memory unit 100, for example. If the ID setting signal IDS is at a logic level of 0, for example, then among the device ID [0:23] shown in
(45) If either one of the power on reset signal POR and the ID setting signal IDS is at a logic level of 0, then the AND gate AN generates an initialization signal at a logic level of 0, which prompts initialization. The AND gate AN supplies the initialization signal INI to the set terminals S of the flip-flops FF0, FF2, FF4, and FF6, and to the reset terminals R of the flip-flops FF1, FF3, FF5, and FF7.
(46) Below, operations of the P/S conversion circuit 125 shown in
(47) The P/S conversion circuit 125 operates in an operation mode set according to the selection signal SED.
(48)
(49) As shown in
(50) After acquisition is complete, when serial mode shown in
(51) As a result, when MEM acquisition mode is selected according to the selection signal SED and serial mode continues to be selected, the P/S conversion circuit 125 successively outputs 1 bit at a time the read data MEM[0:7] outputted from the array controller 11 as the serial data signal SIO generated by converting the read data to a serial format.
(52) Similarly, when BA acquisition mode and serial mode are successively selected according to the selection signal SED, the P/S conversion circuit 125 successively outputs 1 bit at a time the bank address BA[0:7] stored in the bank address register 123 as the serial data signal SIO generated by converting the bank address to a serial format.
(53) Also, when SP acquisition mode and serial mode are successively selected according to the selection signal SED, the P/S conversion circuit 125 successively outputs 1 bit at a time the sector protection data SP[0:7] stored in the array controller 124 as the serial data signal SIO generated by converting the sector protection data to a serial format.
(54) Also, when CFG acquisition mode and serial mode are successively selected according to the selection signal SED, the P/S conversion circuit 125 successively outputs 1 bit at a time the configuration data CFG[0:7] stored in the configuration register 122 as the serial data signal SIO generated by converting the configuration data to a serial format.
(55) Also, when SR acquisition mode and serial mode are successively selected according to the selection signal SED, the P/S conversion circuit 125 successively outputs 1 bit at a time the status data SR[0:7] stored in the status register 121 as the serial data signal SIO generated by converting the status data to a serial format.
(56) However, the P/S conversion circuit 125 converts the 24-bit device ID [0:23] as fixed data to a serial format by the following method and outputs the device ID.
(57)
(58) As shown in
(59) The serial mode continues to be set according to the selection signal SED. As a result, the shift register (FF0-FF7) outputs 1 bit at a time the acquired device ID [16:23] in the order of the ID[23], ID[22], ID[21], ID[20], ID[19], ID[18], ID[17], and ID[16] as shown in
(60) When the device ID [16] is outputted, then as shown in
(61) After acquisition, the serial mode is set according to the selection signal SED as shown in
(62) As a result, the shift register outputs 1 bit at a time the 8-bit device ID [8:15] in the order of the ID[15], ID[14], ID[13], ID[12], ID[11], ID[10], ID[9], and ID[8] as shown in
(63) When the device ID [8] is outputted, then as shown in
(64) After acquisition, the serial mode is set according to the selection signal SED as shown in
(65) As a result, the shift register outputs 1 bit at a time the 8-bit device ID [0:7] in the order of the ID[7], ID[6], ID[5], ID[4], ID[3], ID[2], ID[1], and ID[0] as shown in
(66) As described above, in the P/S conversion circuit 125, in converting the device ID [0:23] as fixed data to a serial format and outputting it, first, signals are supplied through the selectors (SL0 to SL7) to the input terminals D0 to D7 of the flip-flops FF0 to FF7 for the device ID [0:7] or [8:15]. As a result, the flip-flops FF0 to FF7 acquire the values of the 8-bit device ID [0:7] or [8:15] in a parallel manner at the rising edge of the clock signal CLK. The shift register constituted of the flip-flops FF0 to FF7 outputs 1 bit at a time the acquired 8-bit device ID [0:7] or [8:15] successively in synchronization with the rising edge of the clock signal CLK, as the serial data signal SIO.
(67) On the other hand, the device ID [16:23] is acquired by and stored in the flip-flops FF0 to FF7 without passing through the selectors (SL0 to SL7) by initialization of the reset terminal R or the set terminal S of the flip-flops FF0 to FF7. The shift register (FF0 to FF7) outputs 1 bit at a time the set 8-bit device ID [16:23] successively in synchronization with the rising edge of the clock signal CLK, as the serial data signal SIO.
(68) Thus, in the P/S conversion circuit 125, of the 24-bit device ID [0:23], the 8-bit device ID [16:23], for which there is no margin for setup time for the flip-flops to read the ID read command signal IDRD shown in
(69) If the configuration shown in
(70) As a result, in order for the shift register (FF0 to FF7) to acquire the device ID [8:15] or [0:7], there is a need to factor in the delay time in the three stages of selectors (41, 42, 43) and ensure a setup time for the selection signal SED at the rising edge of the clock signal CLK.
(71) As shown in
(72) In order to enact the ID [8:15] acquisition mode shown in
(73) As a result, the delay time at each of the 8-input selectors SL0 to SL7 during acquisition of the device ID [0:7] or [8:15] is in reality only for one stage of the 4-input selector 43 shown in
(74) Thus, according to the P/S conversion circuit 125, it is possible to output a fixed data piece (ID) serially at an equivalent speed to the reading speed for other information data pieces (ID, BA, SP, CFG, MEM, SR).
(75) Also, in the P/S conversion circuit 125, the device ID [16:23] among the device ID [0:23] is acquired by the shift register without passing through the 8-input selectors (SL0-SL7).
(76) Thus, compared to a typical P/S conversion circuit in which the selector selects not only the device ID [0:15] but also the device ID [16:23], it is possible to use a smaller circuit for the selector. Furthermore, it is possible to reduce power consumption by an amount proportional to the amount of control that is no longer needed to be performed by the selection signal SED to select the device ID [16:23].
(77) Thus, according to the P/S conversion circuit 125, it is possible to selectively output a plurality of information data pieces (ID, BA, SP, CFG, MEM, SR) including a fixed data piece (ID) in a serial manner without resulting in decreased processing speed, increased power consumption, or increased chip area.
(78) In the example shown in
(79) In other words, whether the flip-flops FF0 to FF7 have a set terminal or a reset terminal is determined by the value of each bit in the device ID [16:23].
(80) Essentially, the 16th to 23rd bits of the device ID [0:23] correspond to the flip-flops FF0 to FF7 in the following way.
(81) 16th bit: FF0
(82) 17th bit: FF1
(83) 18th bit: FF2
(84) 19th bit: FF3
(85) 20th bit: FF4
(86) 21st bit: FF5
(87) 22nd bit: FF6
(88) 23rd bit: FF7
(89) Here, flip-flops corresponding to the bits indicating a logic level of 0 (first value) among the 16th to 23rd bits of the device ID [0:23] have reset terminals, and flip-flops corresponding to bits having a logic level of 1 (second value) have set terminals.
(90) However, the flip-flops FF0 to FF7 may each have both a set terminal and a reset terminal.
(91)
(92) In the configuration shown in
(93) According to the configuration shown in
(94) In the examples shown in
(95) When forwarding of the read data MEM[0:7] read from the memory cell array 10, the device ID [0:7], or the like in serial mode is complete, then the outputs of the flip-flops FF0 to FF7 with the ID setting signal IDS at a logic level of 0 may be initialized to be the same as the respective values of the device ID [16:23] until the start of the next read operation.
(96) Also, in the examples shown in
(97) However, the present invention can be applied not only to a semiconductor device provided with a serial interface such as an SPI or an I.sup.2C (inter-integrated circuit), or a parallel/serial converter, but also to a semiconductor device provided with a parallel interface.
(98) For example, a configuration such as that of a P/S conversion circuit 125B shown in
(99) Also, in the examples shown in
(100) Also, in the example above, the information data piece set by initializing each flip-flop (or latch) is the device ID, but IDs other than the device ID or other information data pieces may be set by initializing the flip-flops (or latches). That is, any configuration may be adopted as long as the information data set by initialization of each flip-flop (latch) is fixed data for which the data value does not change during operation of the semiconductor device.
(101) In the examples described above, the device ID has 24 bits and other information data pieces (BA, SP, CFG, MEM, SR) other than the device ID are 8 bits, but the number of bits is not limited to 8 or 24. If the number of bits of the device ID, which is fixed data, is 8, which is the same as the number of flip-flops FF0 to FF7, then acquisition of the device ID is completed by only initializing the flip-flops FF0 to FF7. Thus, in such a case, it is possible to use a 6-input selector instead of the 8-input selectors SL0 to SL7. Similarly, the number of flip-flops (or latches) is not limited to eight as long as a plurality thereof (two or more) are provided.
(102) Essentially, any configuration may be adopted for the semiconductor device of the present invention as long as a plurality of memory elements and an initialization control unit are included for outputting fixed data (ID) constituted of a plurality of bits.
(103) That is, the plurality of memory elements (flip-flops and latches, for example) correspond, respectively, to the plurality of bits of the fixed data (ID), and acquire, store, and output the value of each bit received at the input terminal of each of the memory elements according to the timing signal. The initialization control unit (AN) feeds, to the plurality of memory elements, the initialization signal upon receipt of a fixed data setting signal (IDS). In such a case, each of the plurality of memory elements is initialized to a state of storing a corresponding value represented by bits of fixed data according to the initialization signal.
DESCRIPTION OF REFERENCE CHARACTERS
(104) 10 memory cell array 11 array controller 12 memory controller 121 status register 122 configuration register 123 bank address register 124 sector protection register 125, 125A, 125B P/S conversion circuit 130 ID storage unit FF0-FF7 flip-flop SL0-SL7 8-input selector