WO2022181507A1 - Control device - Google Patents

Control device Download PDF

Info

Publication number
WO2022181507A1
WO2022181507A1 PCT/JP2022/006801 JP2022006801W WO2022181507A1 WO 2022181507 A1 WO2022181507 A1 WO 2022181507A1 JP 2022006801 W JP2022006801 W JP 2022006801W WO 2022181507 A1 WO2022181507 A1 WO 2022181507A1
Authority
WO
WIPO (PCT)
Prior art keywords
level
held
counter
control device
spike train
Prior art date
Application number
PCT/JP2022/006801
Other languages
French (fr)
Japanese (ja)
Inventor
康彦 中島
睦 木村
任遠 張
Original Assignee
国立大学法人 奈良先端科学技術大学院大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 国立大学法人 奈良先端科学技術大学院大学 filed Critical 国立大学法人 奈良先端科学技術大学院大学
Priority to JP2023502366A priority Critical patent/JPWO2022181507A1/ja
Publication of WO2022181507A1 publication Critical patent/WO2022181507A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers

Definitions

  • the present disclosure relates to a controller for memory.
  • a stochastic computing (SC) computing mechanism (hereinafter referred to as an SC computing mechanism) performs information processing based on spike trains (for example, Patent Document 1). More specifically, the SC calculator performs arithmetic processing based on spike trains and memory processing based on spike trains.
  • the spike trains when performing memory processing based on spike trains, it is preferable that the spike trains are written to the memory as they are, and the spike trains are read from the memory as they are.
  • An object of one aspect of the present disclosure is to realize a control device for memory having a novel configuration that enables a spike train to be written to the memory as it is, and a spike train to be read from the memory as it is.
  • a control device for a memory included in a device that implements a stochastic computing computing mechanism, and is a write memory to which a spike train is input.
  • an interface a read interface to which a spike train is output, and a plurality of shift circuits each holding a level of a signal input thereto, wherein the plurality of shift circuits are connected to the write interface and the read interface. between the two adjacent shift circuits, the shift circuit located on the write interface side shifts the level held by the shift circuit to the shift circuit located on the read interface side.
  • each shift circuit being connected to a plurality of memory cells capable of being written to and read from the level held in each of said shift circuits;
  • each shift circuit directs the level of each digit of the spike train sequentially input from the write interface to the read interface from the write interface side, After shifting between the two adjacent shift circuits and holding the level of each of the digits in the corresponding shift circuit, the level held by each of the shift circuits is transferred to the level of the digit connected to each of the shift circuits.
  • each shift circuit when the controller outputs a spike train from the read interface, each shift circuit reads the level of each digit from the memory cell connected to each shift circuit; , after the levels of the respective digits are held in the corresponding shift circuits, the levels held in the respective shift circuits are transferred from the write interface side to the read interface side to two adjacent digits. It is moved between the shift circuits.
  • control device for memory that has a novel configuration.
  • FIG. 1 is a diagram showing a schematic configuration of a device that implements an SC calculation mechanism according to Embodiment 1 of the present disclosure
  • FIG. 1 is a diagram illustrating configurations of a control device and a storage device according to Embodiment 1 of the present disclosure
  • FIG. 10 is a diagram showing each configuration of a control device and a storage device according to Embodiment 3 of the present disclosure
  • FIG. 10 is a diagram showing each configuration of a control device and a storage device according to Embodiment 4 of the present disclosure
  • FIG. 13 is a diagram showing each configuration of a control device and a storage device according to Embodiment 5 of the present disclosure
  • FIG. 10 is a diagram showing each configuration of a control device and a storage device according to Embodiment 6 of the present disclosure
  • FIG. 13 is a diagram showing a schematic configuration of a device that implements an SC calculation mechanism according to Embodiment 7 of the present disclosure
  • FIG. 12 is a diagram for explaining the configuration of a control device according to an eighth embodiment of the present disclosure
  • FIG. 4 is a timing chart of clock signals input to each of a control device and a storage device according to Embodiment 1 of the present disclosure;
  • spike train is directly input to the computing unit, and the spike train is directly output from the computing unit.
  • memory processing based on spike trains a configuration in which spike trains are written to memory as they are and read from memory as they are has not yet been realized.
  • the term "as is” means that the spike train is not subjected to any processing.
  • the spike train is directly input to the calculator means that the spike train is input to the calculator without performing any processing on the spike train.
  • bit number counter and spike generator are used to perform predetermined processing on spike trains. It is necessary. However, it is preferred that the bit number counter and spike generator are not required. This is because if the bit number counter and the spike generator are not required, it is possible to reduce hardware and increase the speed of data processing in the device that implements the SC calculation mechanism.
  • the present disclosure parties are earnestly working to realize a configuration that enables spike trains to be directly written to memory and spike trains to be read from memory as they are, even with regard to memory processing based on spike trains.
  • the present disclosure was invented.
  • each embodiment will be described below by taking as an example a control device for a memory included in a device that implements the SC calculation mechanism.
  • the device including the control device according to each embodiment is not limited to the device that implements the SC calculation mechanism.
  • FIG. 1 is a schematic configuration diagram of a device 100 including a control device 103 according to Embodiment 1 of the present disclosure. As shown in FIG. 1 , the device 100 includes an arithmetic device 101 , a storage device 102 and a control device 103 . Device 100 is a device that implements an SC calculation mechanism.
  • the computing device 101 includes a plurality of computing units (not shown).
  • a spike train is directly input to each calculator.
  • Each calculator performs various calculations based on the spike train input to the calculator.
  • Each arithmetic unit outputs the spike train as it is, which is the arithmetic result of the arithmetic unit.
  • a spike train is a pattern of spikes emitted at predetermined time intervals.
  • the predetermined time interval is the time interval from the timing when the first spike occurs to the timing when the next spike occurs with respect to two consecutive spikes.
  • the number of spikes forming a spike train is two or more. It is also assumed that the time intervals between the generation timings of two consecutive spikes are the same. However, the present disclosure is not limited to the number of spikes and time intervals described above.
  • the presence or absence of occurrence of spikes forming a spike train is represented by “1" level and "0" level. More specifically, the occurrence of a spike is represented by “1" level. A “0" level represents no spike occurrence.
  • the generation timing of the spike train is the generation timing of the first spike. For example, if the number of spikes is 2, the spike train is represented by "1010". In this case, the arithmetic unit 101 sequentially outputs a "1" level signal, a "0" level signal, a "1” level signal, and a "0” level signal in this order at predetermined time intervals. If the spike train generation timing is set to be before the first spike generation timing, the spike train is represented by "0101". In the present application, "1” represents a positive logic value corresponding to a high level voltage, and “0” represents a negative logic value corresponding to a low level voltage.
  • Numerical values are expressed based on the number of spikes that occurred counting from a predetermined timing that is the starting point. For example, a numerical value of "1" based on the occurrence of the first spike, a numerical value of "2” based on the occurrence of the second spike, a numerical value of "3” based on the occurrence of the third spike, Each can be expressed
  • the clock signal is counted from a predetermined timing, which is the starting point, and when a spike occurs at the rise of the clock signal, a numerical value is expressed based on the number of counts at the time of occurrence of the spike. For example, if the number of counts at the time when a spike occurs in accordance with the rising edge of the clock signal is 2, the numerical value "2" can be expressed based on the number of counts.
  • a numerical value is expressed based on the number of clock signals counted during the period in which one spike is generated. For example, if the number of counts during a period in which one spike is occurring is two, a numerical value of "2" can be expressed based on the number of counts.
  • the memory device 102 includes a plurality of memory cells (not shown). Each memory cell is an element that stores either a "1" level or a "0" level. Each memory cell is a writable and readable semiconductor memory cell. Each memory cell is, for example, an SRAM (Static Random Access Memory) memory cell, which is a known semiconductor memory cell.
  • the memory device 102 has a structure in which a plurality of memory cells are arranged two-dimensionally and regularly in an array. This configuration is hereinafter referred to as a memory cell array.
  • the spike train is input to the storage device 102 as it is.
  • Each memory cell of the memory cell array of storage device 102 stores whether or not a spike occurs in the spike train input to that memory cell.
  • the memory device 102 outputs the spike train, which is the result of reading from each memory cell, as it is.
  • the read result is the occurrence or non-occurrence of the spike stored in each memory cell.
  • each memory cell stores the presence or absence of a spike in a spike train input to the storage device 102 as “1" level and "0" level, as will be described later.
  • each memory cell stores "1" level when a spike occurs, and "0" level when no spike occurs.
  • each memory cell may store occurrence of a spike as "0" level and store no spike as "1" level.
  • the spike train input to the storage device 102 be "0101".
  • a "1" level signal, a "0” level signal, a "1” level signal, and a "0" level signal are sequentially input to the storage device 102 at predetermined time intervals.
  • the memory device 102 stores the levels of the sequentially input signals in memory cells selected from the memory cell array. Each signal level is stored in a different memory cell.
  • the control device 103 outputs the spike train, which is the calculation result of the calculation device 101, to the storage device 102 as it is. Further, the control device 103 outputs the spike train read from the storage device 102 to the arithmetic device 101 as it is.
  • control device 103 which is a feature of the present disclosure, will be described in detail below.
  • the configuration and operation of each of the arithmetic device 101 and the storage device 102 only the content necessary for explaining the configuration and operation of the control device 103 will be described, and the other description will be omitted.
  • FIG. 2 is a diagram showing the circuit configuration of the control device 103. As shown in FIG. Various members of the storage device 102 are also shown in FIG. 2, but as described above, descriptions of members unrelated to the control device 103 are omitted.
  • the control device 103 includes a write interface 11, a read interface 12, and shift circuits 13-0, 13-1, . . . , 13-14, 13-15.
  • the memory device 102 includes the memory cell array 51 described above, a peripheral circuit 52, an address generation circuit 53, and a memory interface .
  • the memory interface 54 is not an essential element of the storage device 102 .
  • the memory interface 54 is an interface used when writing data to the storage device 102 without going through the control device 103 .
  • the function of the storage device 102 can be verified, and the convenience of the storage device 102 and compatibility with conventional systems can be improved.
  • the clock signal CK is input to the control device 103 and the clock signal CK2 is input to the storage device 102, as shown in FIG.
  • Data is input/output to/from the storage device 102 in synchronization with the clock signal CK2, as will be described later.
  • Data is input/output to/from the control device 103 in synchronization with the clock signal CK, as will be described later.
  • Fig. 9 shows a timing chart of the clock signal CK and a timing chart of the clock signal CK2.
  • the interval between the rising edges T of the clock signal CK is smaller than the interval between the rising edges T2 of the clock signal CK2. That is, the cycle of the clock signal CK is shorter than the cycle of the clock signal CK2.
  • the clock signal CK is a high frequency clock signal and the clock signal CK2 is a low frequency clock signal.
  • the memory device 102 requires known memory cell writing and reading. Therefore, the storage device 102 performs low speed operations based on the clock signal CK2.
  • control device 103 does not need to write and read known memory cells. Therefore, the control device 103 performs high-speed operations based on the clock signal CK.
  • the memory cell array 51 includes a plurality of memory cells c0-0 to c2-0, c0-1 to c2-1, . . . , c0-14 to c2-14 and c0-15 to c2-15.
  • the peripheral circuit 52 includes read circuits R0 to R15 and write circuits W0 to W15. Memory cells c0-0 to c2-0, c0-1 to c2-1, . .
  • the read circuits R0 to R15 and the write circuits W0 to W15 are collectively referred to as a read circuit R and a write circuit W, respectively.
  • the memory cells c0-0 to c2-0 are connected to the read circuit R0 and the write circuit W0 via the bit line BL0 and the bit line XBL0, respectively.
  • the memory cells c0-1 to c2-1 are connected to a read circuit R1 and a write circuit W1 via bit lines BL1 and XBL1, respectively.
  • the memory cells c0-14 to c2-14 are connected to a read circuit R14 and a write circuit W14 via bit lines BL14 and XBL14, respectively.
  • the memory cells c0-15 to c2-15 are connected to a read circuit R15 and a write circuit W15 via bit lines BL15 and XBL15, respectively.
  • bit lines BL0 to BL15 and bit lines XBL0 to XBL15 are collectively referred to as bit lines XBL.
  • the address generation circuit 53 has row addresses WL0 to WL2. Address generation circuit 53 generates memory cells c0-0 to c2-0, c0-1 to c2- from memory cell array 51 using row addresses WL0 to WL2, bit lines BL0 to BL15, and bit lines XBL0 to XBL15. 1, ..., c0-14 to c2-14 and c0-15 to c2-15.
  • the present disclosure is not limited to this number.
  • the reason why the total number of shift circuits 13 is set to 16 in the first embodiment is that each arithmetic unit of the arithmetic unit 101 is assumed to be designed on the premise of a 16-bit CPU (Central Processing Unit). Since the total number of shift circuits 13 is 16, the total number of read circuits R, write circuits W, bit lines BL, and bit lines XBL is also 16.
  • the memory cell array 51 48 memory cells c are arranged in an array of 3 rows ⁇ 16 columns. Since the total number of shift circuits 13 is 16, the total number of columns is also 16. On the other hand, although the total number of rows is three, the present disclosure is not limited to this number.
  • the writing interface 11 is an interface for connecting the arithmetic device 101 and the control device 103 in FIG.
  • the write interface 11 has an input terminal connected to the output terminal of the arithmetic unit 101 of FIG.
  • a spike train is input to the input terminal of the write interface 11 .
  • the spike train is the calculation result of the calculation device 101 .
  • the write interface 11 has an output terminal connected to the input terminals of the shift circuits 13-15. More specifically, the write interface 11 has a pair of output terminals. The output signal of one output terminal is the BLi signal. The output signal of the other output terminal is the XBLi signal. The level of the BLi signal and the level of the XBLi signal are complementary. That is, if the level of the BLi signal is "1" level, the level of the XBLi signal is "0" level. Conversely, if the level of the BLi signal is "0" level, the level of the XBLi signal is "1" level.
  • the write interface 11 When a spike train is input to the input terminal of the write interface 11, the write interface 11 outputs the BLi signal from one output terminal of the write interface 11 and outputs the XBLi signal from the other output terminal of the write interface 11. Output a signal.
  • the spike train input to the write interface 11 be "1010".
  • a "1" level signal, a "0” level signal, a “1” level signal, and a “0” level signal are sequentially input to the write interface 11 at predetermined time intervals. be.
  • the write interface 11 When the first "1" level signal is input, the write interface 11 outputs a "1" level BLi signal and a "0" level XBLi signal.
  • the write interface 11 When the second "0" level signal is input, the write interface 11 outputs a "0" level BLi signal and a "1” level XBLi signal.
  • the third "1" level signal is input, the write interface 11 outputs a "1" level BLi signal and a "0" level XBLi signal.
  • the write interface 11 When the last "0" level signal is input, the write interface 11 outputs a "0" level BLi signal and a "1" level XBLi signal.
  • the readout interface 12 is an interface for connecting the arithmetic device 101 and the control device 103 in FIG.
  • the readout interface 12 has an output terminal connected to the input terminal of the arithmetic unit 101 of FIG.
  • a spike train is output from the output terminal of the readout interface 12 .
  • the spike train is a spike train read from the memory cell array 51 of the memory device 102 .
  • the read spike train is an object of computation by the computation device 101 .
  • the readout interface 12 has an input terminal connected to the output terminal of the shift circuit 13-0. More specifically, readout interface 12 comprises a pair of input terminals.
  • the input signal of one input terminal is the BLo signal.
  • the input signal at the other input terminal is the XBLo signal.
  • the levels of the BLo and XBLo signals are complementary. That is, if the level of the BLo signal is "1" level, the level of the XBLo signal is "0" level. Conversely, if the level of the BLo signal is "0" level, the level of the XBLo signal is "1" level.
  • the output terminal of the readout interface 12 outputs Output a spike train.
  • the reading interface 12 sequentially outputs a "1" level signal, a "0" level signal, a "1” level signal, and a "0" level signal in this order at predetermined time intervals. be.
  • the read interface 12 receives a "1" level BLo signal and a "0" level XBLo signal, it first outputs a "1" level signal.
  • the read interface 12 outputs a second "0" level signal when a "0" level BLo signal and a "1" level XBLo signal are input.
  • the read interface 12 outputs a third "1" level signal when a "1" level BLo signal and a "0" level XBLo signal are input.
  • the read interface 12 outputs the final “1” level signal when the "0" level BLo signal and the "1" level XBLo signal are input.
  • Each of the shift circuits 13 has the same configuration.
  • the shift circuits 13 are arranged between the write interface 11 and the read interface 12 in the order of shift circuits 13-15, 13-14, . . . , 13-1, 13-0.
  • the shift circuit 13 holds the level of the signal input to each shift circuit 13, as will be described later. Between two adjacent shift circuits 13, the shift circuit 13 located on the write interface 11 side shifts the level held by the shift circuit 13 to the shift circuit 13 located on the read interface 12 side.
  • the shift circuit 13-15 includes a pair of input terminals, a pair of output terminals, a gate G15, a latch L15, and a buffer B15. A pair of input terminals is connected to each output terminal of the write interface 11, respectively. A pair of output terminals are connected to respective input terminals of the shift circuits 13-14.
  • the shift circuit 13-14 is a shift circuit after the shift circuit 13-15.
  • the gate G15 includes a first switching element g15-1 and a second switching element g15-2. Both the first switching element g15-1 and the second switching element g15-2 are, for example, known semiconductor transistors. Each of the first switching element g15-1 and the second switching element g15-2 becomes conductive when the clock signal CK rises, and becomes non-conductive when the clock signal CK falls.
  • the latch L15 holds two complementary levels that are input to the latch L15. For example, if the level input to latch L15 is “1" level, latch L15 holds “1" level. On the other hand, if the level input to latch L15 is "0" level, latch L15 holds "0" level.
  • the buffer B15 includes a first buffer b15-1 and a second buffer b15-2.
  • the first buffer b15-1 and the second buffer b15-2 are composed of known semiconductor elements, for example.
  • the first buffer b15-1 outputs one of the two complementary levels held by the latch L15 to one output terminal of the shift circuit 13-15.
  • the second buffer b15-2 outputs the other of the two complementary levels held by the latch L15 to the other output terminal of the shift circuit 13-15. Both the first buffer b15-1 and the second buffer b15-2 shift the level only in the direction from the shift circuit 13-15 to the shift circuit 13-14.
  • the shift circuits 13-14 to 13-0 differ from the shift circuit 13-15 as follows. That is, each input terminal of each of the shift circuits 13-14 to 13-0 is connected to each output terminal of the shift circuit in the preceding stage of each of the shift circuits 13-14 to 13-0. For example, each input terminal of the shift circuits 13-14 is connected to each output terminal of a shift circuit 13-15, which is a shift circuit preceding the shift circuit 13-14.
  • each output terminal of the shift circuit 13-0 is connected to each input terminal of the read interface 12, respectively.
  • FIG. 2 also shows members constituting each of the shift circuits 13-0 to 13-14, the description of each member is omitted. Also, each member whose explanation is omitted corresponds to each member of the shift circuits 13 to 15, with the number following the alphabet of the reference numeral attached to each corresponding to "15". Further, by such replacement, when understanding each member of the shift circuits 13-0 to 13-14, the above description of each member of the shift circuit 13-15 can be easily referred to. For example, in the case of a member with the code B14, by replacing the letter "B” followed by "14” with "15", the member is a buffer corresponding to the buffer B15 of the shift circuit 13-15. It is understood that
  • the letters attached to the members will be used.
  • the gates G0, G1, G14, and G15 of the shift circuit 13 are collectively referred to as a gate G.
  • the operation of the control device 103 will be described below.
  • the controller 103 has write and read operations. The write operation will be described first, and then the read operation will be described.
  • Spike train A is a 16-bit spike train.
  • a spike train A is a calculation result of the calculation device 101 .
  • the clock signal CK is normally stable in the falling state.
  • the clock signal CK instantaneously rises and falls again in synchronization with the timing at which the level of each digit of the spike train A is input to the write interface 11 .
  • the clock signal CK is normally stabilized in a rising state, momentarily falls in synchronization with the timing when the level of each digit of the spike train A is input to the write interface 11, and then falls again.
  • the first switching element g15-1 and the second switching element g15-2 become conductive when the clock signal CK falls, and become non-conductive again when the clock signal CK rises.
  • each of the shift circuits 13-0 to 13-14 also switches between the first switching elements g0-1 to g14-1 and the second switching elements g0-1 of the gates G0 to G14. 2 to g14-2 also become non-conducting.
  • the first buffer b15-1 of the buffer B15 outputs the "1" level held in the latch L15 to one output terminal of the shift circuit 13-15.
  • the second buffer b15-2 of the buffer B15 outputs the "0" level held in the latch L15 to the other output terminal of the shift circuit 13-15. Since the first switching element g14-1 and the second switching element g14-2 of the gate G14 of the shift circuit 13-14 are in a non-conducting state, each level output to each of the pair of output terminals of the shift circuit 13-15 is not input to the latch L14 of the shift circuit 13-14.
  • the latch L15 of the shift circuit 13-15 holds the "1" level and the "0" level. be.
  • the "0" level is the complementary level of the "1" level. In order to simplify the explanation, only the level of each digit of the spike train A will be used when describing the level held in the latch L15, and the complementary level will be omitted. . The same applies to latches L0-L14.
  • the first switching element g14-1 and the second switching element g14-2 of the gate G14 of the shift circuit 13-14 become conductive.
  • the "1" level and the "0" level output from the pair of output terminals of the shift circuit 13-15 are latched L14.
  • is entered in Latch L14 holds "1" level and "0" level.
  • the clock signal CK falls again, the first switching element g15-1 and the second switching element g15-2 of the gate G15 of the shift circuit 13-15, and the first switching element g14- of the gate G14 of the shift circuit 13-14. 1 and the second switching element g14-2 become non-conducting again.
  • the latch L15 of the shift circuit 13-15 is set to level "0", that is, the two digits of the spike train A Eye level is maintained. Also, the latch L14 of the shift circuit 13-14 holds the "1" level, that is, the level of the first digit of the spike train A.
  • the operation of the control device 103 when the third and subsequent digit levels of the spike train A are input to the write interface 11 is also performed in the same manner.
  • the level of the third digit of spike train A is input to write interface 11
  • the level of the third digit of spike train A is applied to latch L15 of shift circuit 13-15 and latch L14 of shift circuit 13-14.
  • the level of the second digit of the spike train A is held in
  • the level of the first digit of the spike train A is held in the latch L13 of the shift circuit 13-13.
  • the spike train A is input to the latch L15 of the shift circuit 13-15.
  • the (N-1)th digit level of the spike train A is applied to the latch L14 of the shift circuit 13-14.
  • digit level is at the latch L(N-1) of the shift circuit 13-(N-1)
  • the level of the 2nd digit of the spike train A is at the latch L of the shift circuit 13-(N).
  • (N) holds the level of the first digit of the spike train A, respectively.
  • the latches of the shift circuits 13-15 are not changed until the input of all the levels of the digits of the spike train A is completed.
  • the level of the 16th digit of the spike train A is stored in L15
  • the level of the 15th digit of the spike train A is stored in the latch L14 of the shift circuit 13-14
  • the level of the spike train A is stored in the latch L1 of the shift circuit 13-1.
  • the level of the second digit and the level of the first digit of the spike train A are held in the latch L0 of the shift circuit 13-0. That is, the control device 103 holds all the levels of the digits of the spike train A.
  • the control device 103 After holding all the levels of the digits of the spike train A, the control device 103 stores the levels of the digits of the spike train A in each memory cell selected from the memory cell array 51 of the storage device 102 .
  • the level of each digit of the spike train A is stored in the memory cells c1-0 to c1-15 in the memory cell array 51 will be described.
  • each frequency of the clock signal CK and the clock signal CK2 can be determined as follows, for example.
  • each configuration of the control device 103 and the storage device 102 shown in FIG. 2 will be described as an example.
  • the control device 103 has 16 shift circuits 13 . Therefore, in order to hold the level in all the latches of each shift circuit 13, each first switching element g0-1 to g15-1 and each second switching element g0-2 to g15- of each gate G0 to G15 2 must be made conductive 16 times. That is, the clock signal CK rises 16 times.
  • control device 103 executes a read operation, which will be described later, after all the latches of the shift circuits 13 of the control device 103 hold the levels. At this time, the read operation is executed for the storage device 102 at the rising timing of the clock signal CK2.
  • the clock signal CK2 rises once every time the clock signal CK rises 16 times. Therefore, the frequency of the clock signal CK needs to be 16 times the frequency of the clock signal CK2. It goes without saying that the present disclosure does not limit the ratio between the frequency of the clock signal CK and the frequency of the clock signal CK2 to "16 times". The above ratio is changed according to the number of shift circuits 13 of the control device 103 . Also, the above ratio is changed depending on the performance of the hardware that constitutes each of the control device 103 and the storage device 102 .
  • the address generation circuit 53 of the storage device 102 sets the row address WL1 to "1" level. On the other hand, the address generation circuit 53 sets the row addresses WL0 and WL2 to "0" level.
  • the "0" level held in the latch L15 of the shift circuit 13-15 of the control device 103 that is, the level of the 16th digit of the spike train A is changed to the memory cell c1- of the memory cell array 51 of the storage device 102. 15 will be explained.
  • the latch L15 holds the "0" level of the 16th digit of the spike train A as well as the "1" level, which is the complementary level of the "0" level.
  • the "0" level held in the latch L15 is input to the bit line BL15 via the write circuit W15.
  • the "1" level held in the latch L15 is input to the bit line XBL15 via the write circuit W15.
  • the row address WL1 is at “1” level and the row addresses WL0 and WL2 are at “0” level, only the memory cell c1-15 among the memory cells c0-15 to c2 to 15 has the bit line BL15.
  • "0" level is input from .
  • a “1" level is input from the bit line XBL15 only to the memory cell c1-15.
  • the "0" level and "1" level held in the latch L15 that is, the 16th digit level of the spike train A are stored in the memory cells c1-15.
  • the level of the fifteenth digit of spike train A held in latch L14 is stored in memory cells c1-14, . . .
  • the second level is stored in memory cell c1-1
  • the level of the first digit of spike train A held in latch L0 is stored in memory cell c1-0.
  • the spike train input to the write interface 11 can be written to the storage device 102 as it is.
  • control device 103 when the control device 103 performs a write operation, the control device 103 holds the level of each digit of the spike train sequentially input to the write interface 11 in each shift circuit 13 . Then, the controller 103 stores the level held in each shift circuit 13 in each memory cell c selected from the memory cell array 51 .
  • control device 103 when the control device 103 performs a read operation, the control device 103 reads the level stored in each memory cell c selected from the memory cell array 51 and holds it in each shift circuit 13 . do. Then, the control device 103 sequentially outputs each level held in each shift circuit 13 from the readout interface 12 .
  • the control device 103 reads the level stored in each memory cell selected from the memory cell array 51 of the storage device 102 .
  • the levels stored in the memory cells c2-0 to c2-15 in the memory cell array 51 are read. It is also assumed that the levels stored in the memory cells c2-0 to c2-15 in the memory cell array 51 are the spike train A "0000111101000001".
  • the memory cell c2-0 has the first digit level of the spike train A
  • the memory cell c2-1 has the second digit level
  • the level of the 16th digit is stored in memory cells c2-15.
  • the address generation circuit 53 of the storage device 102 sets the row address WL2 to "1" level.
  • the address generation circuit 53 sets the row addresses WL0 and WL1 to "0" level.
  • the memory cell c2-15 stores the "0" level of the 16th digit of the spike train A as well as the "1" level, which is the complementary level of the "0" level.
  • the "0" level stored in the memory cell c2-15 is input to the latch L15 of the shift circuit 15 via the read circuit R15.
  • the "1" level stored in the memory cell c2-15 is input to the latch L15 of the shift circuit 15 via the read circuit R15.
  • the row address WL2 is at "1" level and the row addresses WL1 and WL1 are at "0" level, only the memory cell c2-15 among the memory cells c0-15 to c2 to 15 is connected to the bit line BL15.
  • a “0” level is input to the readout circuit W15 via the .
  • a "1" level is input to the read circuit W15 from only the memory cell c2-15 through the bit line XBL15.
  • the "0" level and "1" level stored in the memory cell c2-15 that is, the level of the 16th digit of the spike train A is held in the latch L15.
  • the level of the fifteenth digit of the spike train A stored in the memory cell c2-14 is held in the latch L14 of the shift circuit 13-14, and stored in the memory cell c2-1.
  • the level of the second digit of the spike train A stored in the shift circuit 13-1 is held in the latch L1 of the shift circuit 13-1. 13-0 is held in latch L0. That is, the control device 103 holds all the levels of the digits of the spike train A.
  • control device 103 When the control device 103 holds all the levels of the digits of the spike train A, next, the control device 103 successively changes the levels held in the latches L of the shift circuits 13 in the same manner as in the write operation described above. It is moved to the latch L of each shift circuit 13 located on the readout interface 12 side.
  • the latch L0 of the shift circuit 13-0 sequentially holds the level of the 2nd digit, the level of the 3rd digit, .
  • a pair of output terminals of the shift circuit 13 - 0 are connected to a pair of input terminals of the readout interface 12 .
  • the level of each digit of the spike train A sequentially held in the latch L0 of the shift circuit 13-0 is sequentially input to a pair of input terminals of the readout interface 12 as each level of the BLo signal and the XBLo signal. .
  • the readout interface 12 sequentially outputs the level of each digit of the spike train A, which is sequentially input to the pair of input terminals, from the output terminal. That is, the control device 103 outputs the spike train A from the output terminal of the readout interface 12 .
  • the spike train stored in the storage device 102 can be read out from the readout interface 12 as it is.
  • the spike train can be written as it is to the storage device, and the spike train can be read as it is from the storage device. That is, according to the control device 103, a control device having a novel configuration can be realized.
  • control device 103 it is possible to reduce hardware and increase the speed of data processing in the device that implements the SC calculation mechanism.
  • Embodiment 2 of the present disclosure will be described below.
  • members having the same functions as those of the members described in the above embodiments are denoted by the same reference numerals, and description thereof will not be repeated.
  • the second embodiment relates to the write operation of the control device 103 when a spike train with a number of digits exceeding the total number of shift circuits 13 is input to the write interface 11 . Further, the second embodiment relates to the readout operation of the control device 103 when outputting a spike train with a number of digits exceeding the total number of shift circuits 13 from the readout interface 12 .
  • the write interface 11 is supplied with signals at the levels of each digit in order from the first digit of the spike train at predetermined time intervals.
  • the control device 103 temporarily performs the write operation. stop inputting the spike train to the interface 11;
  • the spikes that have not yet been input to the writing interface 11 at the time of this stop are the 17th and 18th digits of the spike train.
  • the control device 103 also holds all the levels of the 1st to 16th digits of the spike train.
  • control device 103 may detect the time when the same number of levels as the total number of shift circuits 13 are input by counting the number of clocks of the clock signal CK. If the total number of shift circuits 13 is 16, 16 clocks are required until 16 spikes are input.
  • the control device 103 After stopping the input of the spike train to the write interface 11 , the control device 103 sets the levels of the 1st to 16th digits of the spike train to the levels selected from the memory cell array 51 of the storage device 102 . Store in memory cell c. As a result, the control device 103 writes the levels of the 1st to 16th digits of the spike train to the storage device 102 .
  • the control device 103 After writing the levels of the 1st to 16th digits of the spike train to the storage device 102, the control device 103 starts inputting the spike train to the write interface 11 again.
  • the writing interface 11 is supplied with signals at the levels of the 17th and 18th digits of the spike train in order from the 17th digit at predetermined time intervals.
  • the control device 103 holds the levels of the 17th and 18th digits of the spike train. Then, the control device 103 stores the levels of the 17th and 18th digits of the spike train in each memory cell c selected from the memory cell array 51 of the storage device 102 . As a result, the control device 103 writes the levels of the 1st to 18th digits of the spike train to the storage device 102 .
  • the level of each digit from the 1st to 16th digits of the spike train is stored in each memory cell c connected to the same row address. Also, the levels of the 17th and 18th digits of the spike train are stored in each memory cell c connected to the same row address. However, the former row address and the latter row address are different. For example, the levels of the 1st to 16th digits of the spike train are stored in memory cells c0-0 to c0-15 connected to row address WL0. Also, the levels of the 17th and 18th digits of the spike train are stored in the memory cells c1-14 to c1-15 connected to the row address WL1.
  • the address generation circuit 53 of the storage device 102 may also detect when the same number of levels as the total number of the shift circuits 13 is input by counting the number of clocks of the clock signal CK. Thereby, the address generation circuit 53 can change the row address to be selected from the row address WL0 to the row address WL1 as described above.
  • the read operation of the control device 103 according to the second embodiment will be explained using FIG. Note that the total number of shift circuits 13 is 16 in the second embodiment as well, as shown in FIG. Also, it is assumed that the number of digits of the spike train output from the readout interface 12 is 18, which is 16, which is the total number of the shift circuits 13 .
  • the control device 103 reads the level stored in each memory cell c selected from the memory cell array 51 of the storage device 102 . Controller 103 keeps track of each level that is read. Each level to be read out is the level of each digit from the 1st to 16th digits of the spike train output from the readout interface 12 .
  • the control device 103 sequentially outputs each held level from the readout interface 12 . As a result, the control device 103 reads from the storage device 102 the levels of the 1st to 16th digits of the spike train.
  • control device 103 reads the level stored in each memory cell c selected from the memory cell array 51 of the storage device 102 . Controller 103 keeps track of each level that is read. Each level read out is the level of each of the 17th and 18th digits of the spike train output from the readout interface 12 .
  • the control device 103 sequentially outputs each held level from the readout interface 12 . As a result, the control device 103 reads from the storage device 102 the levels of the 1st to 18th digits of the spike train.
  • the level of each digit from the 1st to 16th digits of the spike train is read from each memory cell c connected to the same row address. Also, the levels of the 17th and 18th digits of the spike train are read from each memory cell c connected to the same row address. However, the former row address and the latter row address are different. For example, the levels of the 1st to 16th digits of the spike train are read from the memory cells c0-0 to c0-15 connected to the row address WL0. Also, the levels of the 17th and 18th digits of the spike train are read from the memory cells c1-14 to c1-15 connected to the row address WL1.
  • the spike train can be written to the storage device 102 as it is.
  • the spike train can be read from the storage device 102 as it is.
  • Embodiment 2 is not limited to the case where the spike train has 18 digits.
  • FIG. 3 is a diagram showing the circuit configuration of the control device 103A according to Embodiment 3 of the present disclosure. Although various members of the storage device 102 are also shown in FIG. 3, descriptions of members unrelated to the control device 103A are omitted.
  • control device 103A differs from the control device 103 of the first embodiment in that it further includes a counter 14 and selectors 15-15_14 and 15-1_0.
  • a spike train A represented by "0000111101000001" is input to the write interface 11 will be described as an example.
  • the counter 14 When the level of the BLi signal input from the write interface 11 to the latch L15 of the shift circuit 13-15 is “1" level, the counter 14 increases the count value held in the counter 14 by one.
  • a clock signal CK is input to the counter 14 .
  • the "1" level of the BLi signal is input to the latch L15 at the rising edge of the clock signal CK.
  • the counter 14 increments the count value by one at the timing of the next rise of the clock signal CK.
  • the counter 14 decrements the count value held in the counter 14 by one.
  • a "1" level is input from the shift circuit 13-1 to the latch L0 of the shift circuit 13-0 at the rising timing of the clock signal CK.
  • the counter 14 decrements the count value by one at the timing of the next rise of the clock signal CK.
  • the level of the BLi signal input from the write interface 11 to the latch L15 of the shift circuit 13-15 matches the level of the signal input from the shift circuit 13-1 to the latch L0 of the shift circuit 13-0. If so, the counter 14 maintains the count value held in the counter 14 .
  • the counter 14 sets the count value to 1.
  • the counter 14 maintains the count value. That is, the count value remains 1.
  • the number of digits of "1" level is 6, so the count value held by the counter 14 is 6.
  • the counter 14 When the selector 15-15_14 of the selector 15-15_14 and the selector 15-1_0 is turned on, the counter 14 outputs the count value held by the counter 14 to the selector 15-15_14.
  • the selector 15-15_14 outputs the count value input from the counter 14 to the write circuit W14 and the write circuit W15.
  • the selector 15-1_0 of the selectors 15-15_14 and 15-1_0 When the selector 15-1_0 of the selectors 15-15_14 and 15-1_0 is turned on, the counter 14 outputs the count value held by the counter 14 to the selector 15-1_0.
  • the selector 15-1_0 outputs the count value input from the counter 14 to the write circuit W0 and the write circuit W1.
  • the write circuit W14, write circuit W15, write circuit W0, and write circuit W1 store the count value of the counter 14 in the memory cell c connected to each.
  • the address generation circuit 53 selects the memory cell c in which the count value is stored using the row addresses WL0 to WL2.
  • a spike train different from the spike train A (herein referred to as a spike train B) is continuously input from the write interface 11 after the spike train A is input, the spike train B
  • the process of resetting the counter value of the counter 14 once before the input is started, in other words, the process of resetting the count value to 0 is unnecessary.
  • the levels of the digits of the spike train B are sequentially input to the latch L15, the levels of the digits of the spike train A are also sequentially input to the latch L0 at the same time. This is because, while counting the number of "1" levels of spike train B, the number of "1" levels of spike train A input to latch L0 can be reduced from the count value.
  • the control device 103A As described above, according to the control device 103A, the number of spikes in the spike train written to the storage device 102 can be counted, and only the count value can be written to the storage device 102. Therefore, according to the control device 103A, the amount of data written to the storage device 102 can be compressed more than when the spike train is written to the storage device 102 as it is.
  • Embodiment 4 of the present disclosure will be described below.
  • members having the same functions as those of the members described in the above embodiments are denoted by the same reference numerals, and description thereof will not be repeated.
  • FIG. 4 is a diagram showing the circuit configuration of the control device 103B according to Embodiment 4 of the present disclosure. Although various members of the storage device 102 are also shown in FIG. 4, descriptions of members unrelated to the control device 103B are omitted.
  • control device 103B differs from the control device 103 of the first embodiment in that the counter 14, registers 16-15_14 (first register), register 16-1_0 (second register), comparator 17-15_14 (first comparator), comparator 17-1_0 (second comparator), and AND circuit 18 are further provided.
  • the fourth embodiment is a modification of the third embodiment.
  • the control device 103A according to the third embodiment counts the number of spikes in the spike train written to the storage device 102 and writes only the count value to the storage device 102 .
  • control device 103B counts the number of spikes in the spike train input to the write interface 11 and compares the count value with the minimum and maximum values prewritten in the storage device 102 .
  • the control device 103B determines whether or not the count value falls within a predetermined range defined by the minimum value and the maximum value based on the result of the size comparison.
  • the minimum and maximum values may be input from the write interface 11 or may be input from the memory interface 102 as a spike train.
  • the counter 14 counts the number of spike trains input to the write interface 11 .
  • the processing by which the counter 14 counts the number of spikes in the spike train is the same as the processing executed by the counter 14 of the third embodiment, and thus description thereof will not be repeated here.
  • the counter 14 outputs the count value to both comparators 17-15_14 and 17-1_0.
  • the maximum value is stored in the memory cell c respectively connected to the readout circuit R14 and the readout circuit R15.
  • the address generation circuit 53 uses the row addresses WL0 to WL2 to select the memory cell c in which the maximum value is stored.
  • the readout circuit R14 and the readout circuit R15 read out the maximum value from the memory cell c connected thereto.
  • the readout circuit R14 and the readout circuit R15 output the maximum value read from the memory cell c to the register 16-15_14.
  • Register 16-15_14 holds the maximum value.
  • the minimum value is stored in the memory cell c connected to each of the readout circuit R0 and the readout circuit R1.
  • the address generation circuit 53 selects the memory cell c storing the minimum value using the row addresses WL0 to WL2.
  • the readout circuit R0 and the readout circuit R1 read out the minimum value from the memory cell c connected thereto.
  • the readout circuit R0 and the readout circuit R1 output the minimum value read from the memory cell c to the register 16-1_0.
  • Register 16-1_0 holds the minimum value.
  • the value held in the register 16-15_14 is the maximum value and the value held in the register 16-1_0 is the minimum value.
  • the value held in the register 16-15_14 is the maximum value and the value held in the register 16-1_0 is the minimum value.
  • the comparator 17-15_14 acquires the maximum value held in the register 16-15_14 from the register 16-15_14. Comparators 17-15_14 compare the count value with the maximum value. If the count value is equal to or less than the maximum value, the comparator 17-15_14 outputs a "1" level signal to the AND circuit . If the count value is greater than the maximum value, the comparator 17-15_14 outputs a "0" level signal to the AND circuit .
  • the comparator 17-1_0 acquires the minimum value held in the register 16-1_0 from the register 16-1_0. Comparator 17-1_0 compares the count value with the minimum value. If the count value is equal to or greater than the minimum value, comparator 17-1_0 outputs a signal of “1” level to AND circuit . If the count value is smaller than the minimum value, the comparator 17-1_0 outputs a “0” level signal to the AND circuit .
  • the AND circuit 18 outputs a "1" level PASS signal. On the other hand, if the count value does not fall within the predetermined range defined by the minimum and maximum values, the AND circuit 18 outputs a "0" level PASS signal.
  • the "1" level and "0" level output from the AND circuit 18 may be input to the write interface 11 of another control device 103.
  • each level output from the AND circuit 18 constitutes a spike train input to the write interface 11 of the other control device 103 .
  • control device 103B it is possible to count the number of spikes in the spike train input to the write interface 11 and determine whether or not the count value falls within a predetermined range.
  • FIG. 5 is a diagram showing a circuit configuration of a control device 103C according to Embodiment 5 of the present disclosure. Although various members of the storage device 102 are also shown in FIG. 5, description of members unrelated to the control device 103C is omitted.
  • the controller 103C differs from the controller 103 of the first embodiment in that a counter 19-15_14 (first counter), a counter 19-1_0 (second counter), a register 20-15_14, The point is that it further includes a register 20-1_0.
  • the control device 103C performs multiplication and division.
  • a spike train A represented by "0000111101000001" is input to the write interface 11 will be described as an example.
  • the initial count value of the counter 19-15_14 (hereinafter referred to as "first initial value”) is held in the register 20-15_14.
  • the initial count value of the counter 19-1_0 (hereinafter referred to as “second initial value”) is held in the register 20-1_0.
  • the first initial value is stored in the memory cell c connected to each of the readout circuit R14 and the readout circuit R15.
  • the address generation circuit 53 selects the memory cell c storing the first initial value using the row addresses WL0 to WL2.
  • the readout circuit R14 and the readout circuit R15 read out the first initial value from the memory cell c connected thereto.
  • the readout circuit R14 and the readout circuit R15 output the first initial value read from the memory cell c to the register 20-15_14.
  • the register 20-15_14 holds the first initial value.
  • the second initial value is stored in the memory cell c connected to each of the readout circuit R0 and the readout circuit R1.
  • the address generation circuit 53 uses the row addresses WL0 to WL2 to select the memory cell c storing the second initial value.
  • the readout circuit R0 and the readout circuit R1 read out the second initial value from the memory cell c connected thereto.
  • the readout circuit R0 and the readout circuit R1 output the second initial value read from the memory cell c to the register 20-1_0.
  • the register 20-1_0 holds the second initial value.
  • a clock signal CK is input to the counter 19-15_14.
  • the counter 19-15_14 decrements the count value by one. That is, each time the level of each digit of the spike train A is input to the write interface 11, the counter 19-15_14 decrements the count value by one. Then, when the count value of the counter 19-15_14 reaches 0, the counter 19-15_14 rewrites the level of the signal held in the latch L14 of the shift circuit 13-14 at the time of arrival to "1" level. Specifically, if the level of the signal held in the latch L14 is "1" level, the counter 19-15_14 maintains the "1" level.
  • the counter 19-15_14 rewrites the "0" level to "1" level.
  • the counter 19-15_14 again sets the count value as the first initial value held in the register 20-15_14.
  • the counter 19-15_14 rewrites the level of the signal held in the latch L14 to "1" level, so that the spike train A corresponding to the multiplicand becomes Multiplication processing for multiplying the corresponding first initial value is executed.
  • a clock signal CK is input to the counter 19-1_0.
  • the counter 19-1_0 decrements the count value by one. That is, each time the level of each digit of the spike train A is input to the write interface 11, the counter 19-1_0 decrements the count value by one. Then, when the count value of the counter 19-1_0 reaches 0, the counter 19-1_0 rewrites the level of the signal held in the latch L0 of the shift circuit 13-0 to "0" level at the time of arrival. Specifically, if the level of the signal held in the latch L0 is "0" level, the counter 19-1_0 maintains the "0" level.
  • the counter 19-1_0 rewrites the "1" level to "0" level.
  • the counter 19-1_0 again sets the count value as the second initial value.
  • the counter 19-1_0 rewrites the level of the signal held in the latch L14 to "0" level, so that the spike train A corresponding to the dividend and the divisor A division process for dividing the corresponding second initial value is executed.
  • control device 103C multiplication and division can be performed.
  • the sixth embodiment of the present disclosure differs from the first embodiment in that the control device 103 performs write and read operations on the storage device 102A instead of the storage device 102.
  • FIG. 6 the sixth embodiment of the present disclosure differs from the first embodiment in that the control device 103 performs write and read operations on the storage device 102A instead of the storage device 102.
  • the memory device 102A has a configuration in which the memory cells c0-0 to c0-15 connected to the row address WL0 in the memory device 102 are replaced with memory cells D0-0 to D0-15, respectively. Similarly, memory cells c1-0 to c1-15 connected to row address WL1 and memory cells c2-0 to c2-15 connected to row address WL2 are the same as memory cells D0-0 to D0-15. It is replaced by a memory cell that is a configuration.
  • the memory cells D0-0 to D0-15 have the same configuration.
  • the configuration of the memory cells D0-15 will be described.
  • the memory cell D0-15 is composed of a first cell D0-15-1 and a second cell D0-15-2.
  • the first cell D0-15-1 has the same configuration as the memory cell c0-15 of the storage device 102.
  • FIG. Also, the second cell D0-15-2 is a known associative memory cell.
  • the controller 103 receives from the write circuit W all the values stored in the first cells D0-0-1 to D0-15-1 of the memory cells D0-0 to D0-15 connected to the match line ML0. match line ML0 precharged to "1" level is held at "1" level. On the other hand, the controller 103 determines that at least one of the values stored in the first cells D0-0-1 to D0-15-1 of the memory cells D0-0 to D0-15 is different from the value input from the write circuit W. In this case, the match line ML0 is discharged to "0" level.
  • the "1" level and "0" level output from the match line ML0 may be input to the write interface 11 of another control device 103.
  • each level output from the match line ML0 constitutes a spike train input to the write interface 11 of the other control device 103.
  • the value stored in the memory cell array 51A of the storage device 102A is compared with the value input from the write circuit W. can be done.
  • Embodiment 7 of the present disclosure will be described below.
  • members having the same functions as those of the members described in the above embodiments are denoted by the same reference numerals, and description thereof will not be repeated.
  • FIG. 7 is a diagram showing a schematic configuration of a device 200 that implements an SC calculation mechanism according to Embodiment 7 of the present disclosure. As shown in FIG. 7, the device 200 has a configuration in which two sets of the control device 103 and the storage device 102 of the first embodiment are arranged.
  • each control device 103 can simultaneously execute the write operation and the read operation of the first embodiment.
  • the control device 103 and the storage device 102 of the first embodiment instead of the control device 103 and the storage device 102 of the first embodiment, the control device 103 and the storage device 102 of the second embodiment, the control device 103A and the storage device 102 of the third embodiment, and the Two sets of the control device 103B and the storage device 102 of the fourth embodiment, the control device 103C and the storage device 102 of the fifth embodiment, and the control device 103 and the storage device 102A of the fifth embodiment are arranged.
  • the two sets constituting the device 200 may be different from each other.
  • the first set may be the control device 103 and the storage device 102 of the first embodiment
  • the second set may be the control device 103A and the storage device 102 of the third embodiment.
  • the number of sets of control devices that constitute the device 200 is not limited to two.
  • FIG. 8 is a diagram for explaining the configuration of a control device according to Embodiment 8 of the present disclosure.
  • the control device according to the eighth embodiment replaces the latch L15 of the shift circuit 13-15 with the latch LR15 in the control device 103 of the first embodiment, and replaces the gate G14 of the shift circuit 13-14 with the gate G14. It has a configuration replaced with GR14.
  • the latch LR15 is composed of an inductor LR15-1 and a capacitor LR15-2.
  • Gate GR14 is a delay element.
  • the gates G except the gate G15 are replaced with the gate GR14 or gates having the same configuration as the gate GR14, and the latch L has the same configuration as the latch LR15 or the latch LR15. Replaced by some latches.
  • the write operation and read operation of the control device 103 of the first embodiment can also be performed by the control device of the eighth embodiment.
  • 100 device for realizing SC calculation mechanism 101 arithmetic device, 102 storage device, 103 control device, 11 write interface, 12 read interface, 13-0, 13-1, 13-14, 13-15 shift circuit, 14 , 19-15_14, 19-1_0 counter, 51, 51A memory cell array, 15-1_0, 15-15_14 selector, 16-15_14, 16-1_0, 20-15_14, 20-1_0 register, 17-15_14, 17-1_0 comparison 18 AND circuit 52 peripheral circuit 53 address generation circuit 54 memory interface G0, G1, G14, G15 gate L0, L1, L14, L15 latch B0, B1, B14, B15 buffer

Abstract

A control device (103) for memory included in a device for realizing a stochastic computing calculating mechanism is provided with: a write interface (11) into which a spike train is input; a read interface (12) which outputs the spike train; and shift circuits (13-0 to 13-15). The shift circuits (13-0 to 13-15) read and write levels held by each thereof to memory cells (c0-0 to c0-15, c1-0 to c1-15, c2-0 to c2-15).

Description

制御装置Control device
 本開示は、メモリ用の制御装置に関する。 The present disclosure relates to a controller for memory.
 ストカスティックコンピューティング(SC:Stochastic Computing)計算機構(以下、SC計算機構と称する。)はスパイク列に基づく情報処理を行う(例えば、特許文献1)。より具体的には、SC計算機構は、スパイク列に基づく演算処理とスパイク列に基づく記憶処理とを行う。 A stochastic computing (SC) computing mechanism (hereinafter referred to as an SC computing mechanism) performs information processing based on spike trains (for example, Patent Document 1). More specifically, the SC calculator performs arithmetic processing based on spike trains and memory processing based on spike trains.
特開2020-38300号公報Japanese Patent Application Laid-Open No. 2020-38300
 SC計算機構を実現する装置では、スパイク列に基づく記憶処理を行う際、スパイク列がそのままメモリに書き込まれ、スパイク列がそのままメモリから読み出されることが好ましい。 In the device that implements the SC calculation mechanism, when performing memory processing based on spike trains, it is preferable that the spike trains are written to the memory as they are, and the spike trains are read from the memory as they are.
 本開示の一態様は、スパイク列がそのままメモリに書き込まれ、スパイク列がそのままメモリから読み出されることを可能とする、新規な構成を備える、メモリ用の制御装置を実現することを目的とする。 An object of one aspect of the present disclosure is to realize a control device for memory having a novel configuration that enables a spike train to be written to the memory as it is, and a spike train to be read from the memory as it is.
 上記の課題を解決するために、本開示の一態様に係る制御装置は、ストカスティックコンピューティング計算機構を実現する装置に含まれるメモリ用の制御装置であって、スパイク列が入力される書き込み用インターフェースと、スパイク列が出力される読み出し用インターフェースと、各々に入力される信号のレベルを保持する、複数のシフト回路とを備え、複数の前記シフト回路は、前記書き込み用インターフェースと前記読み出し用インターフェースとの間において直列接続されており、隣り合う2つの前記シフト回路同士において、前記書き込み用インターフェース側に位置する前記シフト回路は当該シフト回路が保持するレベルを、前記読み出し用インターフェース側に位置するシフト回路へ移動させ、各前記シフト回路の各々には、各前記シフト回路に保持されるレベルの書き込み及び読み出し可能な複数のメモリセルが接続されており、(i)スパイク列が前記書き込み用インターフェースから前記制御装置へ入力される場合には、各前記シフト回路は、前記書き込み用インターフェースから順次入力されるスパイク列の各桁のレベルを、前記書き込み用インターフェース側から前記読み出し用インターフェース側に向けて、隣り合う2つの前記シフト回路同士において移動させ、各前記桁のレベルが各々に対応する前記シフト回路に保持された後、各前記シフト回路が保持するレベルを、各前記シフト回路に接続された前記メモリセルに書き込み、(ii)前記制御装置が前記読み出し用インターフェースからスパイク列を出力する場合には、各前記シフト回路は、各前記シフト回路に接続された前記メモリセルから各桁のレベルを読み出し、各前記桁のレベルが各々に対応する前記シフト回路に保持された後、各前記シフト回路に保持されたレベルを、前記書き込み用インターフェース側から前記読み出し用インターフェース側に向けて、隣り合う2つの前記シフト回路同士において移動させる。 In order to solve the above problems, a control device according to one aspect of the present disclosure is a control device for a memory included in a device that implements a stochastic computing computing mechanism, and is a write memory to which a spike train is input. an interface, a read interface to which a spike train is output, and a plurality of shift circuits each holding a level of a signal input thereto, wherein the plurality of shift circuits are connected to the write interface and the read interface. between the two adjacent shift circuits, the shift circuit located on the write interface side shifts the level held by the shift circuit to the shift circuit located on the read interface side. circuit, each of said shift circuits being connected to a plurality of memory cells capable of being written to and read from the level held in each of said shift circuits; When input to the control device, each shift circuit directs the level of each digit of the spike train sequentially input from the write interface to the read interface from the write interface side, After shifting between the two adjacent shift circuits and holding the level of each of the digits in the corresponding shift circuit, the level held by each of the shift circuits is transferred to the level of the digit connected to each of the shift circuits. (ii) when the controller outputs a spike train from the read interface, each shift circuit reads the level of each digit from the memory cell connected to each shift circuit; , after the levels of the respective digits are held in the corresponding shift circuits, the levels held in the respective shift circuits are transferred from the write interface side to the read interface side to two adjacent digits. It is moved between the shift circuits.
 本開示の一態様によれば、新規な構成を備える、メモリ用の制御装置を提供することができる。 According to one aspect of the present disclosure, it is possible to provide a control device for memory that has a novel configuration.
本開示の実施形態1に係るSC計算機構を実現する装置の概略構成を示す図である。1 is a diagram showing a schematic configuration of a device that implements an SC calculation mechanism according to Embodiment 1 of the present disclosure; FIG. 本開示の実施形態1に係る制御装置及び記憶装置の各構成を示す図である。1 is a diagram illustrating configurations of a control device and a storage device according to Embodiment 1 of the present disclosure; FIG. 本開示の実施形態3に係る制御装置及び記憶装置の各構成を示す図である。FIG. 10 is a diagram showing each configuration of a control device and a storage device according to Embodiment 3 of the present disclosure; 本開示の実施形態4に係る制御装置及び記憶装置の各構成を示す図である。FIG. 10 is a diagram showing each configuration of a control device and a storage device according to Embodiment 4 of the present disclosure; 本開示の実施形態5に係る制御装置及び記憶装置の各構成を示す図である。FIG. 13 is a diagram showing each configuration of a control device and a storage device according to Embodiment 5 of the present disclosure; 本開示の実施形態6に係る制御装置及び記憶装置の各構成を示す図である。FIG. 10 is a diagram showing each configuration of a control device and a storage device according to Embodiment 6 of the present disclosure; 本開示の実施形態7に係るSC計算機構を実現する装置の概略構成を示す図である。FIG. 13 is a diagram showing a schematic configuration of a device that implements an SC calculation mechanism according to Embodiment 7 of the present disclosure; 本開示の実施形態8に係る制御装置の構成を説明するための図である。FIG. 12 is a diagram for explaining the configuration of a control device according to an eighth embodiment of the present disclosure; FIG. 本開示の実施形態1に係る制御装置及び記憶装置の各々に入力されるクロック信号のタイミングチャートである。4 is a timing chart of clock signals input to each of a control device and a storage device according to Embodiment 1 of the present disclosure;
 〔本開示の概要〕
 SC計算機構における、スパイク列に基づく情報処理に関する研究が始まっている。しかしながら、現在行われている研究の多くは、スパイク列に基づく情報処理のうちの、演算処理に注目した研究であり、記憶処理に注目した研究は見当たらない。
[Overview of the present disclosure]
Research has begun on information processing based on spike trains in SC computing mechanisms. However, most of the current researches focus on arithmetic processing in information processing based on spike trains, and there is no research that focuses on memory processing.
 現在の研究では、スパイク列に基づく演算処理に関しては、スパイク列がそのまま演算器に入力され、スパイク列がそのまま演算器から出力される構成が既に実現されている。これに対し、スパイク列に基づく記憶処理に関しては、スパイク列がそのままメモリに書き込まれ、スパイク列がそのままメモリから読み出される構成はまだ実現されていない。なお、本明細書における「そのまま」とは、スパイク列に対して、何ら処理を施さない、との意味である。例えば、「スパイク列がそのまま演算器に入力される」とは、スパイク列に対し、何ら処理を施すこと無く、当該スパイク列が演算器に入力される、との意味である。 In current research, regarding arithmetic processing based on spike trains, a configuration has already been realized in which the spike train is directly input to the computing unit, and the spike train is directly output from the computing unit. On the other hand, as for memory processing based on spike trains, a configuration in which spike trains are written to memory as they are and read from memory as they are has not yet been realized. In this specification, the term "as is" means that the spike train is not subjected to any processing. For example, "the spike train is directly input to the calculator" means that the spike train is input to the calculator without performing any processing on the spike train.
 現在の研究では、スパイク列に基づく記憶処理に関しては、従来型メモリが用いられる構成が提案されている。この提案された構成においては、演算器から出力されるスパイク列は、従来型メモリの外部に配置されたビット数カウンタに入力される。そして、ビット数カウンタから出力されるカウント値が従来型メモリに書き込まれる。一方、従来型メモリから読み出されるデータは、従来型メモリの外部に配置されたスパイク生成器に入力される。そして、スパイク生成器からスパイク列が出力される。スパイク生成器から出力されるスパイク列が演算器に入力される。 Current research proposes a configuration that uses conventional memory for memory processing based on spike trains. In this proposed configuration, the spike train output from the calculator is input to a bit number counter located outside the conventional memory. Then, the count value output from the bit number counter is written to the conventional memory. Meanwhile, data read from the conventional memory is input to a spike generator located external to the conventional memory. A spike train is output from the spike generator. A spike train output from the spike generator is input to the calculator.
 以上のとおり、現在の研究では、スパイク列に基づく記憶処理に関しては、従来型メモリにスパイク列を書き込む際、上述のビット数カウンタとスパイク生成器とを用いて、スパイク列に所定の処理を施すことが必要である。しかしながら、ビット数カウンタ及びスパイク生成器を不要とすることが好ましい。ビット数カウンタ及びスパイク生成器が不要となれば、その分だけ、SC計算機構を実現する装置において、ハードウェアの削減及びデータ処理の高速化を図ることができるからである。 As described above, in the current research, with regard to memory processing based on spike trains, when writing spike trains to conventional memory, the above-mentioned bit number counter and spike generator are used to perform predetermined processing on spike trains. It is necessary. However, it is preferred that the bit number counter and spike generator are not required. This is because if the bit number counter and the spike generator are not required, it is possible to reduce hardware and increase the speed of data processing in the device that implements the SC calculation mechanism.
 本開示者らは、現状の研究成果を鑑み、スパイク列に基づく記憶処理に関しても、スパイク列がそのままメモリに書き込まれ、スパイク列がそのままメモリから読み出されることを可能とする構成を実現すべく鋭意検討を行った結果、本開示を発明するに至った。 In view of the current research results, the present disclosure parties are earnestly working to realize a configuration that enables spike trains to be directly written to memory and spike trains to be read from memory as they are, even with regard to memory processing based on spike trains. As a result of examination, the present disclosure was invented.
 なお、以下では、SC計算機構を実現する装置に含まれるメモリ用の制御装置を例として各実施形態を説明する。しかしながら、各実施形態に係る制御装置が含まれる装置は、SC計算機構を実現する装置に限られない。 Note that each embodiment will be described below by taking as an example a control device for a memory included in a device that implements the SC calculation mechanism. However, the device including the control device according to each embodiment is not limited to the device that implements the SC calculation mechanism.
 〔実施形態1〕
 以下、本開示の一実施形態について、詳細に説明する。以下の説明で参照する図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
[Embodiment 1]
An embodiment of the present disclosure will be described in detail below. In the description of the drawings referred to in the following description, the same or similar parts are denoted by the same or similar reference numerals.
 図1は、本開示の実施形態1に係る制御装置103を含む装置100の概略構成図である。図1のとおり、装置100は、演算装置101と、記憶装置102と、制御装置103と、を備える。装置100は、SC計算機構を実現する装置である。 FIG. 1 is a schematic configuration diagram of a device 100 including a control device 103 according to Embodiment 1 of the present disclosure. As shown in FIG. 1 , the device 100 includes an arithmetic device 101 , a storage device 102 and a control device 103 . Device 100 is a device that implements an SC calculation mechanism.
 <SC計算機構を実現する装置の構成>
 (演算装置)
 演算装置101は、図示しない、複数の演算器を備える。各演算器にはスパイク列がそのままに入力される。各演算器は、当該演算器に入力されるスパイク列に基づき各種の演算を実行する。各演算器は、当該演算器の演算結果であるスパイク列をそのまま出力する。
<Structure of Device for Realizing SC Calculation Mechanism>
(arithmetic unit)
The computing device 101 includes a plurality of computing units (not shown). A spike train is directly input to each calculator. Each calculator performs various calculations based on the spike train input to the calculator. Each arithmetic unit outputs the spike train as it is, which is the arithmetic result of the arithmetic unit.
 ここで、スパイク列は、所定の時間間隔で発せられるスパイクのパターンである。当該所定の時間間隔は、連続発生する2つのスパイクに関して、最初のスパイクが発生したタイミングから次のスパイクが発生するタイミングまでの時間間隔である。 Here, a spike train is a pattern of spikes emitted at predetermined time intervals. The predetermined time interval is the time interval from the timing when the first spike occurs to the timing when the next spike occurs with respect to two consecutive spikes.
 なお、本実施形態1では、スパイク列を構成するスパイク数は2個以上とする。また、連続発生する2つのスパイクの発生タイミングの時間間隔は同一とする。ただし、本開示は、上述のスパイク数及び時間間隔に限られるものではない。 Note that in the first embodiment, the number of spikes forming a spike train is two or more. It is also assumed that the time intervals between the generation timings of two consecutive spikes are the same. However, the present disclosure is not limited to the number of spikes and time intervals described above.
 また、本実施形態1では、スパイク列を構成するスパイクの発生の有無を“1”レベル及び“0”レベルで表わすものとする。より詳細には、スパイク発生有りを“1”レベルで表わす。スパイク発生無しを“0”レベルで表わす。また、スパイク列の発生タイミングは、最初のスパイクの発生タイミングとする。例えば、スパイク数が2個である場合、スパイク列は“1010”で表わされる。この場合、演算装置101は、所定の時間間隔で、“1”レベルの信号、“0”レベルの信号、“1”レベルの信号、“0”レベルの信号をこの順で順次出力する。なお、最初のスパイクの発生タイミング前をスパイク列の発生タイミングとした場合であれば、スパイク列は“0101”で表わされることになる。なお、本願において、「“1”」はハイレベルの電圧に対応する正の論理値を表し、「“0”」はロウレベルの電圧に対応する負の論理値を表すものとする。 Also, in the first embodiment, the presence or absence of occurrence of spikes forming a spike train is represented by "1" level and "0" level. More specifically, the occurrence of a spike is represented by "1" level. A "0" level represents no spike occurrence. Also, the generation timing of the spike train is the generation timing of the first spike. For example, if the number of spikes is 2, the spike train is represented by "1010". In this case, the arithmetic unit 101 sequentially outputs a "1" level signal, a "0" level signal, a "1" level signal, and a "0" level signal in this order at predetermined time intervals. If the spike train generation timing is set to be before the first spike generation timing, the spike train is represented by "0101". In the present application, "1" represents a positive logic value corresponding to a high level voltage, and "0" represents a negative logic value corresponding to a low level voltage.
 なお、以下のとおり、スパイク列を構成するスパイクの発生の有無を用いて数値を表現することができる。 As shown below, numerical values can be expressed using the presence or absence of spikes that make up a spike train.
 (1)起点となる所定のタイミングから数えて何番目に発生したスパイクであるかを基にして数値を表現する。例えば、第1番目のスパイク発生を基に「1」という数値を、第2番目のスパイク発生を基に「2」という数値を、第3番目のスパイク発生を基に「3」という数値を、それぞれ、表現することができる。 (1) Numerical values are expressed based on the number of spikes that occurred counting from a predetermined timing that is the starting point. For example, a numerical value of "1" based on the occurrence of the first spike, a numerical value of "2" based on the occurrence of the second spike, a numerical value of "3" based on the occurrence of the third spike, Each can be expressed
 (2)起点となる所定のタイミングからクロック信号をカウントし、クロック信号の立ち上がりに合わせてスパイクが発生すると、当該スパイクの発生時点におけるカウント数を基にして数値を表現する。例えば、クロック信号の立ち上がりに合わせてスパイクが発生した時点におけるカウント数が2個であれば、当該カウント数を基に「2」という数値を表現することができる。 (2) The clock signal is counted from a predetermined timing, which is the starting point, and when a spike occurs at the rise of the clock signal, a numerical value is expressed based on the number of counts at the time of occurrence of the spike. For example, if the number of counts at the time when a spike occurs in accordance with the rising edge of the clock signal is 2, the numerical value "2" can be expressed based on the number of counts.
 (3)1つのスパイクが発生している期間においてカウントされたクロック信号のカウント数を基にして数値を表現する。例えば、1つのスパイクが発生している期間におけるカウント数が2個であれば、当該カウント数を基に「2」という数値を表現することができる。 (3) A numerical value is expressed based on the number of clock signals counted during the period in which one spike is generated. For example, if the number of counts during a period in which one spike is occurring is two, a numerical value of "2" can be expressed based on the number of counts.
 (記憶装置)
 記憶装置102は、図示しない、複数のメモリセルを備える。各メモリセルは、“1”レベル又は“0”レベルのうち、どちらかを記憶する素子である。各メモリセルは、書き込みと読み出しが可能な半導体メモリセルである。各メモリセルは、例えば、公知の半導体メモリセルであるSRAM(Static Randum Accsess Memory)メモリセルである。記憶装置102は、複数のメモリセルを、平面的に、且つ、規則正しく、アレイ状に並べた構成を備える。以下、当該構成をメモリセルアレイと称する。
(Storage device)
The memory device 102 includes a plurality of memory cells (not shown). Each memory cell is an element that stores either a "1" level or a "0" level. Each memory cell is a writable and readable semiconductor memory cell. Each memory cell is, for example, an SRAM (Static Random Access Memory) memory cell, which is a known semiconductor memory cell. The memory device 102 has a structure in which a plurality of memory cells are arranged two-dimensionally and regularly in an array. This configuration is hereinafter referred to as a memory cell array.
 記憶装置102にはスパイク列がそのままに入力される。記憶装置102のメモリセルアレイの各メモリセルは、当該メモリセルに入力されるスパイク列におけるスパイクの発生の有無を記憶する。また、記憶装置102は、各メモリセルからの読み出し結果であるスパイク列をそのまま出力する。当該読み出し結果は、各メモリセルが記憶するスパイクの発生の有無である。 The spike train is input to the storage device 102 as it is. Each memory cell of the memory cell array of storage device 102 stores whether or not a spike occurs in the spike train input to that memory cell. In addition, the memory device 102 outputs the spike train, which is the result of reading from each memory cell, as it is. The read result is the occurrence or non-occurrence of the spike stored in each memory cell.
 本実施形態1では、各メモリセルは、後述するように記憶装置102に入力されるスパイク列におけるスパイクの発生の有無を“1”レベル及び“0”レベルとして記憶する。本実施形態1では、各メモリセルは、スパイクの発生有りを“1”レベルとして記憶し、スパイクの発生無しを“0”レベルとして記憶するものとする。ただし、本開示では、各メモリセルが、スパイクの発生有りを“0”レベルとして記憶し、スパイクの発生無しを“1”レベルとして記憶しても構わない。 In the first embodiment, each memory cell stores the presence or absence of a spike in a spike train input to the storage device 102 as "1" level and "0" level, as will be described later. In the first embodiment, each memory cell stores "1" level when a spike occurs, and "0" level when no spike occurs. However, in the present disclosure, each memory cell may store occurrence of a spike as "0" level and store no spike as "1" level.
 例えば、記憶装置102に入力されるスパイク列を“0101”とする。この場合、記憶装置102には、所定の時間間隔で、“1”レベルの信号、“0”レベルの信号、“1”レベルの信号、“0”レベルの信号がこの順で順次入力される。記憶装置102は、順次入力される各信号のレベルをそれぞれ、メモリセルアレイから選択されたメモリセルに記憶する。各信号のレベルはそれぞれ、互いに異なるメモリセルに記憶される。 For example, let the spike train input to the storage device 102 be "0101". In this case, a "1" level signal, a "0" level signal, a "1" level signal, and a "0" level signal are sequentially input to the storage device 102 at predetermined time intervals. . The memory device 102 stores the levels of the sequentially input signals in memory cells selected from the memory cell array. Each signal level is stored in a different memory cell.
 (制御装置)
 制御装置103は、演算装置101の演算結果であるスパイク列をそのまま記憶装置102に出力する。また、制御装置103は、記憶装置102から読み出されたスパイク列をそのまま演算装置101に出力する。
(Control device)
The control device 103 outputs the spike train, which is the calculation result of the calculation device 101, to the storage device 102 as it is. Further, the control device 103 outputs the spike train read from the storage device 102 to the arithmetic device 101 as it is.
 <制御装置の構成及び動作>
 以下、本開示の特徴部分である制御装置103の構成及び動作について詳細に説明する。なお、演算装置101及び記憶装置102のそれぞれの構成及び動作については、制御装置103の構成及び動作を説明するために必要となる内容のみ説明するものとし、その他は説明を省略する。
<Configuration and operation of control device>
The configuration and operation of the control device 103, which is a feature of the present disclosure, will be described in detail below. Regarding the configuration and operation of each of the arithmetic device 101 and the storage device 102, only the content necessary for explaining the configuration and operation of the control device 103 will be described, and the other description will be omitted.
 (構成)
 図2は、制御装置103の回路構成を示す図である。なお、図2には、記憶装置102の様々な部材も示されているが、上述のとおり、制御装置103とは関係しない部材については説明を省略する。
(Constitution)
FIG. 2 is a diagram showing the circuit configuration of the control device 103. As shown in FIG. Various members of the storage device 102 are also shown in FIG. 2, but as described above, descriptions of members unrelated to the control device 103 are omitted.
 図2のとおり、制御装置103は、書き込み用インターフェース11と、読み出し用インターフェース12と、シフト回路13-0、13-1、・・・、13-14、13-15とを備える。シフト回路13-0、13-1、・・・、13-14、13-15は、書き込み用インターフェース11と読み出し用インターフェース12との間において直列接続されている。以下、シフト回路13-15、13-14、・・・、13-1、13-0を総称する場合にはシフト回路13と称する。 As shown in FIG. 2, the control device 103 includes a write interface 11, a read interface 12, and shift circuits 13-0, 13-1, . . . , 13-14, 13-15. The shift circuits 13-0, 13-1, . The shift circuits 13-15, 13-14, .
 また、図2のとおり、記憶装置102は、上述のメモリセルアレイ51と、周辺回路52と、アドレス生成回路53と、メモリインターフェース54とを備える。なお、メモリインターフェース54は、記憶装置102に必須の要素ではない。メモリインターフェース54は、制御装置103を介することなく、記憶装置102にデータを書き込む際に用いられるインターフェースである。ただし、記憶装置102にメモリインターフェース54を設けることにより、記憶装置102の機能を検証したり、記憶装置102の利便性及び従来システムとの互換性を向上させたりすることができる。 Also, as shown in FIG. 2, the memory device 102 includes the memory cell array 51 described above, a peripheral circuit 52, an address generation circuit 53, and a memory interface . Note that the memory interface 54 is not an essential element of the storage device 102 . The memory interface 54 is an interface used when writing data to the storage device 102 without going through the control device 103 . However, by providing the memory interface 54 in the storage device 102, the function of the storage device 102 can be verified, and the convenience of the storage device 102 and compatibility with conventional systems can be improved.
 ここで、注目すべき点は、図2のとおり、制御装置103にはクロック信号CKが入力される一方、記憶装置102にはクロック信号CK2が入力される点である。記憶装置102は、後述するように、クロック信号CK2に同期してデータが入出力される。制御装置103は、後述するように、クロック信号CKに同期してデータが入出力される。 Here, it should be noted that the clock signal CK is input to the control device 103 and the clock signal CK2 is input to the storage device 102, as shown in FIG. Data is input/output to/from the storage device 102 in synchronization with the clock signal CK2, as will be described later. Data is input/output to/from the control device 103 in synchronization with the clock signal CK, as will be described later.
 図9にクロック信号CKのタイミングチャート及びクロック信号CK2のタイミングチャートを示す。図9のとおり、クロック信号CKの立ち上がりエッジT同士の間隔は、クロック信号CK2の立ち上がりエッジT2同士の間隔よりも小さい。すなわち、クロック信号CKの周期は、クロック信号CK2の周期よりも短い。言い換えれば、クロック信号CKは高周波クロック信号であり、クロック信号CK2は低周波クロック信号であるといえる。  Fig. 9 shows a timing chart of the clock signal CK and a timing chart of the clock signal CK2. As shown in FIG. 9, the interval between the rising edges T of the clock signal CK is smaller than the interval between the rising edges T2 of the clock signal CK2. That is, the cycle of the clock signal CK is shorter than the cycle of the clock signal CK2. In other words, it can be said that the clock signal CK is a high frequency clock signal and the clock signal CK2 is a low frequency clock signal.
 記憶装置102には、上述のとおり、公知のメモリセルの書き込み及び読み出しが必要となる。それゆえ、記憶装置102は、クロック信号CK2に基づき低速動作を実行する。 As described above, the memory device 102 requires known memory cell writing and reading. Therefore, the storage device 102 performs low speed operations based on the clock signal CK2.
 これに対し、制御装置103には、記憶装置102とは異なり、公知のメモリセルの書き込み及び読み出しが必要ではない。それゆえ、制御装置103は、クロック信号CKに基づき高速動作を実行する。 On the other hand, unlike the storage device 102, the control device 103 does not need to write and read known memory cells. Therefore, the control device 103 performs high-speed operations based on the clock signal CK.
 メモリセルアレイ51は、複数のメモリセルc0-0~c2-0、c0-1~c2-1、・・・、c0-14~c2-14及びc0-15~c2-15を含む。周辺回路52は、読み出し回路R0~R15及び書き込み回路W0~W15を含む。以下、メモリセルc0-0~c2-0、c0-1~c2-1、・・・、c0-14~c2-14及びc0-15~c2-15を総称する場合にはメモリセルcと称する。また、読み出し回路R0~R15及び書き込み回路W0~W15をそれぞれ総称する場合には読み出し回路R及び書き込み回路Wと称する。 The memory cell array 51 includes a plurality of memory cells c0-0 to c2-0, c0-1 to c2-1, . . . , c0-14 to c2-14 and c0-15 to c2-15. The peripheral circuit 52 includes read circuits R0 to R15 and write circuits W0 to W15. Memory cells c0-0 to c2-0, c0-1 to c2-1, . . The read circuits R0 to R15 and the write circuits W0 to W15 are collectively referred to as a read circuit R and a write circuit W, respectively.
 メモリセルc0-0~c2-0はそれぞれ、ビット線BL0及びビット線XBL0を介して、読み出し回路R0及び書き込み回路W0と接続されている。メモリセルc0-1~c2-1はそれぞれ、ビット線BL1及びビット線XBL1を介して、読み出し回路R1及び書き込み回路W1と接続されている。メモリセルc0-14~c2-14はそれぞれ、ビット線BL14及びビット線XBL14を介して、読み出し回路R14及び書き込み回路W14と接続されている。メモリセルc0-15~c2-15はそれぞれ、ビット線BL15及びビット線XBL15を介して、読み出し回路R15及び書き込み回路W15と接続されている。以下、ビット線BL0~BL15及びビット線XBL0~XBL15をそれぞれ総称する場合にはビット線XBLと称する。 The memory cells c0-0 to c2-0 are connected to the read circuit R0 and the write circuit W0 via the bit line BL0 and the bit line XBL0, respectively. The memory cells c0-1 to c2-1 are connected to a read circuit R1 and a write circuit W1 via bit lines BL1 and XBL1, respectively. The memory cells c0-14 to c2-14 are connected to a read circuit R14 and a write circuit W14 via bit lines BL14 and XBL14, respectively. The memory cells c0-15 to c2-15 are connected to a read circuit R15 and a write circuit W15 via bit lines BL15 and XBL15, respectively. Hereinafter, bit lines BL0 to BL15 and bit lines XBL0 to XBL15 are collectively referred to as bit lines XBL.
 アドレス生成回路53は、行アドレスWL0~WL2を有する。アドレス生成回路53は、行アドレスWL0~WL2とビット線BL0~BL15とビット線XBL0~XBL15とを用いて、メモリセルアレイ51のうちからメモリセルc0-0~c2-0、c0-1~c2-1、・・・、c0-14~c2-14及びc0-15~c2-15を選択する。 The address generation circuit 53 has row addresses WL0 to WL2. Address generation circuit 53 generates memory cells c0-0 to c2-0, c0-1 to c2- from memory cell array 51 using row addresses WL0 to WL2, bit lines BL0 to BL15, and bit lines XBL0 to XBL15. 1, ..., c0-14 to c2-14 and c0-15 to c2-15.
 本実施形態1では、シフト回路13の総数は16個であるが、本開示はこの数に限られるものではない。本実施形態1においてシフト回路13の総数を16個としたのは、演算装置101の各演算器として16ビットのCPU(Central Processing Unit)を前提に設計されたものを想定したからである。なお、シフト回路13の総数が16個であることに伴い、読み出し回路R、書き込み回路W、ビット線BL及びビット線XBLの各総数も16個とした。また、メモリセルアレイ51には、3行×16列のアレイ状に48個のメモリセルcが配置されている。シフト回路13の総数が16個であることに伴い、列の総数も16個とした。一方、行の総数は3個であるが、本開示はこの数に限られない。 Although the total number of shift circuits 13 is 16 in the first embodiment, the present disclosure is not limited to this number. The reason why the total number of shift circuits 13 is set to 16 in the first embodiment is that each arithmetic unit of the arithmetic unit 101 is assumed to be designed on the premise of a 16-bit CPU (Central Processing Unit). Since the total number of shift circuits 13 is 16, the total number of read circuits R, write circuits W, bit lines BL, and bit lines XBL is also 16. In the memory cell array 51, 48 memory cells c are arranged in an array of 3 rows×16 columns. Since the total number of shift circuits 13 is 16, the total number of columns is also 16. On the other hand, although the total number of rows is three, the present disclosure is not limited to this number.
 書き込み用インターフェース11は、図1の演算装置101と制御装置103とを接続するためのインターフェースである。書き込み用インターフェース11は、図1の演算装置101の出力端子に接続された入力端子を備える。書き込み用インターフェース11の入力端子にはスパイク列が入力される。当該スパイク列は、演算装置101の演算結果である。 The writing interface 11 is an interface for connecting the arithmetic device 101 and the control device 103 in FIG. The write interface 11 has an input terminal connected to the output terminal of the arithmetic unit 101 of FIG. A spike train is input to the input terminal of the write interface 11 . The spike train is the calculation result of the calculation device 101 .
 書き込み用インターフェース11は、シフト回路13-15の入力端子に接続された出力端子を備える。より詳細には、書き込み用インターフェース11は一対の出力端子を備える。一方の出力端子の出力信号はBLi信号である。他方の出力端子の出力信号はXBLi信号である。BLi信号のレベルとXBLi信号のレベルとは相補的である。すなわち、BLi信号のレベルが“1”レベルであればXBLi信号のレベルは“0”レベルとなる。逆に、BLi信号のレベルが“0”レベルであればXBLi信号のレベルは“1”レベルとなる。 The write interface 11 has an output terminal connected to the input terminals of the shift circuits 13-15. More specifically, the write interface 11 has a pair of output terminals. The output signal of one output terminal is the BLi signal. The output signal of the other output terminal is the XBLi signal. The level of the BLi signal and the level of the XBLi signal are complementary. That is, if the level of the BLi signal is "1" level, the level of the XBLi signal is "0" level. Conversely, if the level of the BLi signal is "0" level, the level of the XBLi signal is "1" level.
 書き込み用インターフェース11は、書き込み用インターフェース11の入力端子にスパイク列が入力されると、書き込み用インターフェース11の一方の出力端子からBLi信号を出力すると共に、書き込み用インターフェース11の他方の出力端子からXBLi信号を出力する。 When a spike train is input to the input terminal of the write interface 11, the write interface 11 outputs the BLi signal from one output terminal of the write interface 11 and outputs the XBLi signal from the other output terminal of the write interface 11. Output a signal.
 例えば、書き込み用インターフェース11に入力されるスパイク列を“1010”とする。この場合、書き込み用インターフェース11には、所定の時間間隔で、“1”レベルの信号、“0”レベルの信号、“1”レベルの信号、“0”レベルの信号がこの順で順次入力される。書き込み用インターフェース11は、最初の“1”レベルの信号が入力されると、“1”レベルのBLi信号を出力すると共に“0”レベルのXBLi信号を出力する。書き込み用インターフェース11は、第2番目の“0”レベルの信号が入力されると、“0”レベルのBLi信号を出力すると共に“1”レベルのXBLi信号を出力する。書き込み用インターフェース11は、第3番目の“1”レベルの信号が入力されると、“1”レベルのBLi信号を出力すると共に“0”レベルのXBLi信号を出力する。書き込み用インターフェース11は、最後の“0”レベルの信号が入力されると、“0”レベルのBLi信号を出力すると共に“1”レベルのXBLi信号を出力する。 For example, let the spike train input to the write interface 11 be "1010". In this case, a "1" level signal, a "0" level signal, a "1" level signal, and a "0" level signal are sequentially input to the write interface 11 at predetermined time intervals. be. When the first "1" level signal is input, the write interface 11 outputs a "1" level BLi signal and a "0" level XBLi signal. When the second "0" level signal is input, the write interface 11 outputs a "0" level BLi signal and a "1" level XBLi signal. When the third "1" level signal is input, the write interface 11 outputs a "1" level BLi signal and a "0" level XBLi signal. When the last "0" level signal is input, the write interface 11 outputs a "0" level BLi signal and a "1" level XBLi signal.
 読み出し用インターフェース12は、図1の演算装置101と制御装置103とを接続するためのインターフェースである。読み出し用インターフェース12は、図1の演算装置101の入力端子に接続された出力端子を備える。読み出し用インターフェース12の出力端子からスパイク列が出力される。当該スパイク列は、記憶装置102のメモリセルアレイ51から読み出されたスパイク列である。当該読み出されたスパイク列は、演算装置101の演算対象である。 The readout interface 12 is an interface for connecting the arithmetic device 101 and the control device 103 in FIG. The readout interface 12 has an output terminal connected to the input terminal of the arithmetic unit 101 of FIG. A spike train is output from the output terminal of the readout interface 12 . The spike train is a spike train read from the memory cell array 51 of the memory device 102 . The read spike train is an object of computation by the computation device 101 .
 読み出し用インターフェース12は、シフト回路13-0の出力端子に接続された入力端子を備える。より詳細には、読み出し用インターフェース12は一対の入力端子を備える。一方の入力端子の入力信号はBLo信号である。他方の入力端子の入力信号はXBLo信号である。BLo信号のレベルとXBLo信号のレベルとは相補的である。すなわち、BLo信号のレベルが“1”レベルであればXBLo信号のレベルは“0”レベルとなる。逆に、BLo信号のレベルが“0”レベルであればXBLo信号のレベルは“1”レベルとなる。 The readout interface 12 has an input terminal connected to the output terminal of the shift circuit 13-0. More specifically, readout interface 12 comprises a pair of input terminals. The input signal of one input terminal is the BLo signal. The input signal at the other input terminal is the XBLo signal. The levels of the BLo and XBLo signals are complementary. That is, if the level of the BLo signal is "1" level, the level of the XBLo signal is "0" level. Conversely, if the level of the BLo signal is "0" level, the level of the XBLo signal is "1" level.
 読み出し用インターフェース12は、読み出し用インターフェース12の一方の入力端子にBLo信号が入力されると共に、読み出し用インターフェース12の他方の入力端子にXBLo信号が入力されると、読み出し用インターフェース12の出力端子からスパイク列を出力する。 When the BLo signal is input to one input terminal of the readout interface 12 and the XBLo signal is input to the other input terminal of the readout interface 12, the output terminal of the readout interface 12 outputs Output a spike train.
 例えば、読み出し用インターフェース12から出力されるスパイク列を“1010”とする。この場合、読み出し用インターフェース12からは、所定の時間間隔で、“1”レベルの信号、“0”レベルの信号、“1”レベルの信号、“0”レベルの信号がこの順で順次出力される。読み出し用インターフェース12は、“1”レベルのBLo信号が入力されると共に“0”レベルのXBLo信号が入力されると、最初の“1”レベルの信号を出力する。読み出し用インターフェース12は、“0”レベルのBLo信号が入力されると共に“1”レベルのXBLo信号が入力されると、第2番目の“0”レベルの信号を出力する。読み出し用インターフェース12は、“1”レベルのBLo信号が入力されると共に“0”レベルのXBLo信号が入力されると、第3番目の“1”レベルの信号を出力する。読み出し用インターフェース12は、“0”レベルのBLo信号が入力されると共に“1”レベルのXBLo信号が入力されると、最後の“1”レベルの信号を出力する。 For example, let the spike train output from the readout interface 12 be "1010". In this case, the reading interface 12 sequentially outputs a "1" level signal, a "0" level signal, a "1" level signal, and a "0" level signal in this order at predetermined time intervals. be. When the read interface 12 receives a "1" level BLo signal and a "0" level XBLo signal, it first outputs a "1" level signal. The read interface 12 outputs a second "0" level signal when a "0" level BLo signal and a "1" level XBLo signal are input. The read interface 12 outputs a third "1" level signal when a "1" level BLo signal and a "0" level XBLo signal are input. The read interface 12 outputs the final "1" level signal when the "0" level BLo signal and the "1" level XBLo signal are input.
 シフト回路13はそれぞれ、同一の構成を備える。また、シフト回路13は、シフト回路13-15、13-14、・・・、13-1、13-0の順で、書き込み用インターフェース11と読み出し用インターフェース12との間に配置される。シフト回路13は、後述するように、各シフト回路13に入力される信号のレベルを保持する。隣り合う2つのシフト回路13同士においては、書き込み用インターフェース11側に位置するシフト回路13は、当該シフト回路13が保持するレベルを、読み出し用インターフェース12側に位置するシフト回路13へ移動させる。 Each of the shift circuits 13 has the same configuration. The shift circuits 13 are arranged between the write interface 11 and the read interface 12 in the order of shift circuits 13-15, 13-14, . . . , 13-1, 13-0. The shift circuit 13 holds the level of the signal input to each shift circuit 13, as will be described later. Between two adjacent shift circuits 13, the shift circuit 13 located on the write interface 11 side shifts the level held by the shift circuit 13 to the shift circuit 13 located on the read interface 12 side.
 シフト回路13-15は、一対の入力端子と、一対の出力端子と、ゲートG15と、ラッチL15と、バッファB15とを備える。一対の入力端子はそれぞれ、書き込み用インターフェース11の各出力端子に接続される。一対の出力端子はそれぞれ、シフト回路13-14の各入力端子に接続される。シフト回路13-14は、シフト回路13-15の後段のシフト回路である。 The shift circuit 13-15 includes a pair of input terminals, a pair of output terminals, a gate G15, a latch L15, and a buffer B15. A pair of input terminals is connected to each output terminal of the write interface 11, respectively. A pair of output terminals are connected to respective input terminals of the shift circuits 13-14. The shift circuit 13-14 is a shift circuit after the shift circuit 13-15.
 ゲートG15は、第1スイッチング素子g15-1及び第2スイッチング素子g15-2を含む。第1スイッチング素子g15-1及び第2スイッチング素子g15-2はいずれも、例えば、公知の半導体トランジスタである。第1スイッチング素子g15-1及び第2スイッチング素子g15-2はそれぞれ、クロック信号CKが立ち上がると導通状態となり、クロック信号CKが立ち下がると非導通状態となる。 The gate G15 includes a first switching element g15-1 and a second switching element g15-2. Both the first switching element g15-1 and the second switching element g15-2 are, for example, known semiconductor transistors. Each of the first switching element g15-1 and the second switching element g15-2 becomes conductive when the clock signal CK rises, and becomes non-conductive when the clock signal CK falls.
 ラッチL15は、ラッチL15に入力される、2つの相補的なレベルを保持する。例えば、ラッチL15に入力されたレベルが“1”レベルであれば、ラッチL15は“1”レベルを保持する。一方、ラッチL15に入力されたレベルが“0”レベルであれば、ラッチL15は“0”レベルを保持する。 The latch L15 holds two complementary levels that are input to the latch L15. For example, if the level input to latch L15 is "1" level, latch L15 holds "1" level. On the other hand, if the level input to latch L15 is "0" level, latch L15 holds "0" level.
 バッファB15は、第1バッファb15-1及び第2バッファb15-2を含む。第1バッファb15-1及び第2バッファb15-2は、例えば、公知の半導体素子で構成される。第1バッファb15-1は、ラッチL15が保持する、2つの相補的なレベルのうちの一方のレベルを、シフト回路13-15の一方の出力端子に出力する。第2バッファb15-2は、ラッチL15が保持する、2つの相補的なレベルのうちの他方のレベルを、シフト回路13-15の他方の出力端子に出力する。第1バッファb15-1及び第2バッファb15-2はいずれも、シフト回路13-15からシフト回路13-14に向かう方向のみにレベルを移動させる。 The buffer B15 includes a first buffer b15-1 and a second buffer b15-2. The first buffer b15-1 and the second buffer b15-2 are composed of known semiconductor elements, for example. The first buffer b15-1 outputs one of the two complementary levels held by the latch L15 to one output terminal of the shift circuit 13-15. The second buffer b15-2 outputs the other of the two complementary levels held by the latch L15 to the other output terminal of the shift circuit 13-15. Both the first buffer b15-1 and the second buffer b15-2 shift the level only in the direction from the shift circuit 13-15 to the shift circuit 13-14.
 シフト回路13-14~13-0がシフト回路13-15と異なる点は次のとおりである。すなわち、シフト回路13-14~13-0のそれぞれの各入力端子は、シフト回路13-14~13-0のそれぞれの前段のシフト回路の各出力端子に接続される。例えば、シフト回路13-14の各入力端子は、シフト回路13-14の前段のシフト回路であるシフト回路13-15の各出力端子に接続される。 The shift circuits 13-14 to 13-0 differ from the shift circuit 13-15 as follows. That is, each input terminal of each of the shift circuits 13-14 to 13-0 is connected to each output terminal of the shift circuit in the preceding stage of each of the shift circuits 13-14 to 13-0. For example, each input terminal of the shift circuits 13-14 is connected to each output terminal of a shift circuit 13-15, which is a shift circuit preceding the shift circuit 13-14.
 但し、シフト回路13-0に関しては、次の点が更にシフト回路13-15と異なる。すなわち、上述のとおり、シフト回路13-0の各出力端子はそれぞれ、読み出し用インターフェース12の各入力端子に接続される。 However, the shift circuit 13-0 differs from the shift circuit 13-15 in the following points. That is, as described above, each output terminal of the shift circuit 13-0 is connected to each input terminal of the read interface 12, respectively.
 なお、図2には、シフト回路13-0~13-14のそれぞれを構成する部材も示されているが、それら各部材についての説明は省略する。また、その説明が省略された各部材は、それぞれに付された符号のアルファベットに続く数字を「15」と読み替えた、シフト回路13-15の各部材に対応する。また、そのような読み替えによって、シフト回路13-0~13-14の各部材を理解する際、シフト回路13-15の各部材に関する上述の説明を容易に参照することできる。例えば、符号であるB14が付された部材の場合、アルファベットである「B」に続く「14」を「15」と読み替えることによって、当該部材が、シフト回路13-15のバッファB15に対応するバッファであることが理解される。 Although FIG. 2 also shows members constituting each of the shift circuits 13-0 to 13-14, the description of each member is omitted. Also, each member whose explanation is omitted corresponds to each member of the shift circuits 13 to 15, with the number following the alphabet of the reference numeral attached to each corresponding to "15". Further, by such replacement, when understanding each member of the shift circuits 13-0 to 13-14, the above description of each member of the shift circuit 13-15 can be easily referred to. For example, in the case of a member with the code B14, by replacing the letter "B" followed by "14" with "15", the member is a buffer corresponding to the buffer B15 of the shift circuit 13-15. It is understood that
 また、シフト回路13を構成する各部材を総称する場合には、各部材に付されたアルファベットを用いることとする。例えば、シフト回路13のゲートG0、G1、G14、G15を総称する場合、ゲートGと称する。 Also, when collectively referring to the members that make up the shift circuit 13, the letters attached to the members will be used. For example, the gates G0, G1, G14, and G15 of the shift circuit 13 are collectively referred to as a gate G.
 (動作)
 以下、制御装置103の動作について説明する。制御装置103は書き込み動作と読み出し動作とを有する。最初に書き込み動作を説明し、次に読み出し動作を説明する。
(motion)
The operation of the control device 103 will be described below. The controller 103 has write and read operations. The write operation will be described first, and then the read operation will be described.
 1.書き込み動作
 図2を参照しながら、制御装置103の書き込み動作について説明する。以下では、書き込み用インターフェース11に「0000111101000001」で表されるスパイク列(以下、「スパイク列A」と称する。)が入力される場合を例として説明する。スパイク列Aは16ビットのスパイク列である。また、スパイク列Aは演算装置101の演算結果である。また、書き込み用インターフェース11には、所定の時間間隔で、スパイク列Aの1桁目(=1)のレベル、2桁目(=0)のレベル、3桁目(=0)のレベル、・・・、15桁目(=0)のレベル、16桁目(=0)のレベルが順に入力される。
1. Write Operation The write operation of the control device 103 will be described with reference to FIG. A case where a spike train represented by "0000111101000001" (hereinafter referred to as "spike train A") is input to the write interface 11 will be described below as an example. Spike train A is a 16-bit spike train. A spike train A is a calculation result of the calculation device 101 . In addition, the writing interface 11 outputs the level of the first digit (=1), the level of the second digit (=0), the level of the third digit (=0), and the level of the spike train A at predetermined time intervals. . . , the level of the 15th digit (=0) and the level of the 16th digit (=0) are input in order.
 (1)スパイク列Aの1桁目(=1)のレベルの入力
 スパイク列Aの1桁目(=1)のレベルが書き込み用インターフェース11に入力されると、書き込み用インターフェース11は一通の出力端子のそれぞれから、“1”レベルのBLi信号と“0”レベルのXBLi信号とを出力する。
(1) Input of the level of the first digit (=1) of the spike train A When the level of the first digit (=1) of the spike train A is input to the write interface 11, the write interface 11 outputs one signal. A "1" level BLi signal and a "0" level XBLi signal are output from each of the terminals.
 次に、クロック信号CKが立ち上がると、シフト回路13-15のゲートG15の第1スイッチング素子g15-1及び第2スイッチング素子g15-2は導通状態となる。第1スイッチング素子g15-1及び第2スイッチング素子g15-2が導通状態となることによって、BLi信号の“1”レベルとXBLi信号の“0”レベルとがラッチL15に入力される。ラッチL15は“1”レベルと“0”レベルとを保持する。クロック信号CKは再び立ち下がり、第1スイッチング素子g15-1及び第2スイッチング素子g15-2は再び非導通状態となる。 Next, when the clock signal CK rises, the first switching element g15-1 and the second switching element g15-2 of the gate G15 of the shift circuit 13-15 become conductive. When the first switching element g15-1 and the second switching element g15-2 are turned on, the "1" level of the BLi signal and the "0" level of the XBLi signal are input to the latch L15. Latch L15 holds "1" level and "0" level. The clock signal CK falls again, and the first switching element g15-1 and the second switching element g15-2 become non-conductive again.
 なお、クロック信号CKは、通常、立ち下がった状態で安定している。クロック信号CKは、書き込み用インターフェース11にスパイク列Aの各桁のレベルが入力されるタイミングに同期して瞬間的に立ち上がり、再び、立ち下がる。また、クロック信号CKは、通常、立ち上がった状態で安定し、書き込み用インターフェース11にスパイク列Aの各桁のレベルが入力されるタイミングに同期して瞬間的に立ち下がり、再び、立ち下がるクロック信号であっても良い。ただし、この場合、第1スイッチング素子g15-1及び第2スイッチング素子g15-2は、クロック信号CKが立ち下がると導通状態となり、クロック信号CKが立ち上がると再び非導通状態となる。 Note that the clock signal CK is normally stable in the falling state. The clock signal CK instantaneously rises and falls again in synchronization with the timing at which the level of each digit of the spike train A is input to the write interface 11 . In addition, the clock signal CK is normally stabilized in a rising state, momentarily falls in synchronization with the timing when the level of each digit of the spike train A is input to the write interface 11, and then falls again. can be However, in this case, the first switching element g15-1 and the second switching element g15-2 become conductive when the clock signal CK falls, and become non-conductive again when the clock signal CK rises.
 また、クロック信号CKが立ち上がると、シフト回路13-0~13-14のそれぞれにおいても、各ゲート0~14の各第1スイッチング素子g0-1~g14-1及び各第2スイッチング素子g0-2~g14-2も導通状態となる。また、クロック信号CKが立ち下がると、シフト回路13-0~13-14のそれぞれにおいても、各ゲートG0~G14の各第1スイッチング素子g0-1~g14-1及び各第2スイッチング素子g0-2~g14-2も非導通状態となる。 When the clock signal CK rises, each of the first switching elements g0-1 to g14-1 and each of the second switching elements g0-2 of the gates 0 to 14 in each of the shift circuits 13-0 to 13-14. ∼g14-2 also become conductive. When the clock signal CK falls, each of the shift circuits 13-0 to 13-14 also switches between the first switching elements g0-1 to g14-1 and the second switching elements g0-1 of the gates G0 to G14. 2 to g14-2 also become non-conducting.
 バッファB15の第1バッファb15-1は、ラッチL15に保持された“1”レベルをシフト回路13-15の一方の出力端子に出力する。バッファB15の第2バッファb15-2は、ラッチL15に保持された“0”レベルをシフト回路13-15の他方の出力端子に出力する。シフト回路13-14のゲートG14の第1スイッチング素子g14-1及び第2スイッチング素子g14-2は非導通状態であるので、シフト回路13-15の一対の出力端子のそれぞれに出力された各レベルは、シフト回路13-14のラッチL14に入力されることは無い。 The first buffer b15-1 of the buffer B15 outputs the "1" level held in the latch L15 to one output terminal of the shift circuit 13-15. The second buffer b15-2 of the buffer B15 outputs the "0" level held in the latch L15 to the other output terminal of the shift circuit 13-15. Since the first switching element g14-1 and the second switching element g14-2 of the gate G14 of the shift circuit 13-14 are in a non-conducting state, each level output to each of the pair of output terminals of the shift circuit 13-15 is not input to the latch L14 of the shift circuit 13-14.
 このように、書き込み用インターフェース11にスパイク列Aの1桁目(=1)のレベルが入力されると、シフト回路13-15のラッチL15に“1”レベルと“0”レベルとが保持される。なお、ラッチL15に保持されるレベルは、本来、スパイク列Aの1桁目(=1)のレベルである“1”レベルである。“0”レベルは“1”レベルの相補的なレベルである。以下、説明の簡略化のため、ラッチL15に保持されるレベルを説明する際は、スパイク列Aの各桁のレベルのみを用いて説明し、その相補的なレベルについては説明を控える場合もある。ラッチL0~L14についても同様とする。 Thus, when the level of the first digit (=1) of the spike train A is input to the write interface 11, the latch L15 of the shift circuit 13-15 holds the "1" level and the "0" level. be. The level held in the latch L15 is originally the "1" level, which is the level of the first digit (=1) of the spike train A. The "0" level is the complementary level of the "1" level. In order to simplify the explanation, only the level of each digit of the spike train A will be used when describing the level held in the latch L15, and the complementary level will be omitted. . The same applies to latches L0-L14.
 (2)スパイク列Aの2桁目(=0)のレベルの入力
 次に、スパイク列Aの2桁目(=0)のレベルが書き込み用インターフェース11に入力されると、書き込み用インターフェース11は一通の出力端子のそれぞれから、“0”レベルのBLi信号と“1”レベルのXBLi信号とを出力する。
(2) Input of the level of the second digit (=0) of the spike train A Next, when the level of the second digit (=0) of the spike train A is input to the write interface 11, the write interface 11 A "0" level BLi signal and a "1" level XBLi signal are output from each of the single output terminals.
 次に、クロック信号CKが立ち上がると、シフト回路13-15においては、シフト回路13-15のゲートG15の第1スイッチング素子g15-1及び第2スイッチング素子g15-2は導通状態となる。第1スイッチング素子g15-1及び第2スイッチング素子g15-2が導通状態となることによって、BLi信号の“0”レベルとXBLi信号の“1”レベルとがラッチL15に入力される。ラッチL15は“0”レベルと“1”レベルとを保持する。 Next, when the clock signal CK rises, in the shift circuit 13-15, the first switching element g15-1 and the second switching element g15-2 of the gate G15 of the shift circuit 13-15 become conductive. When the first switching element g15-1 and the second switching element g15-2 become conductive, the "0" level of the BLi signal and the "1" level of the XBLi signal are input to the latch L15. Latch L15 holds "0" level and "1" level.
 また、シフト回路13-14においては、シフト回路13-14のゲートG14の第1スイッチング素子g14-1及び第2スイッチング素子g14-2は導通状態となる。第1スイッチング素子g14-1及び第2スイッチング素子g14-2が導通状態となることによって、シフト回路13-15の一対の出力端子から出力される“1”レベルと“0”レベルとがラッチL14に入力される。ラッチL14は“1”レベルと“0”レベルとを保持する。 In addition, in the shift circuit 13-14, the first switching element g14-1 and the second switching element g14-2 of the gate G14 of the shift circuit 13-14 become conductive. When the first switching element g14-1 and the second switching element g14-2 become conductive, the "1" level and the "0" level output from the pair of output terminals of the shift circuit 13-15 are latched L14. is entered in Latch L14 holds "1" level and "0" level.
 クロック信号CKは再び立ち下がり、シフト回路13-15のゲートG15の第1スイッチング素子g15-1及び第2スイッチング素子g15-2、並びに、シフト回路13-14のゲートG14の第1スイッチング素子g14-1及び第2スイッチング素子g14-2は、再び非導通状態となる。 The clock signal CK falls again, the first switching element g15-1 and the second switching element g15-2 of the gate G15 of the shift circuit 13-15, and the first switching element g14- of the gate G14 of the shift circuit 13-14. 1 and the second switching element g14-2 become non-conducting again.
 このように、書き込み用インターフェース11にスパイク列Aの2桁目(=0)のレベルが入力されると、シフト回路13-15のラッチL15に“0”レベル、すなわち、スパイク列Aの2桁目のレベルが保持される。また、シフト回路13-14のラッチL14に“1”レベル、すなわち、スパイク列Aの1桁目のレベルが保持される。 In this way, when the level of the second digit (=0) of the spike train A is input to the write interface 11, the latch L15 of the shift circuit 13-15 is set to level "0", that is, the two digits of the spike train A Eye level is maintained. Also, the latch L14 of the shift circuit 13-14 holds the "1" level, that is, the level of the first digit of the spike train A. FIG.
 以上、書き込み用インターフェース11にスパイク列Aの2桁目(=0)のレベルが入力されるまでの制御装置103の動作について説明した。書き込み用インターフェース11にスパイク列Aの3桁目以降のレベルが入力される際の制御装置103の動作についても同様に実行される。 The operation of the control device 103 until the level of the second digit (=0) of the spike train A is input to the write interface 11 has been described above. The operation of the control device 103 when the third and subsequent digit levels of the spike train A are input to the write interface 11 is also performed in the same manner.
 例えば、書き込み用インターフェース11にスパイク列Aの3桁目のレベルが入力されると、シフト回路13-15のラッチL15にスパイク列Aの3桁目のレベルが、シフト回路13-14のラッチL14にスパイク列Aの2桁目のレベルが、シフト回路13-13のラッチL13にスパイク列Aの1桁目のレベルが、それぞれ保持される。 For example, when the level of the third digit of spike train A is input to write interface 11, the level of the third digit of spike train A is applied to latch L15 of shift circuit 13-15 and latch L14 of shift circuit 13-14. The level of the second digit of the spike train A is held in , and the level of the first digit of the spike train A is held in the latch L13 of the shift circuit 13-13.
 同様に、書き込み用インターフェース11にスパイク列Aの(N)桁目(N:4~15のいずれかの自然数)のレベルが入力されると、シフト回路13-15のラッチL15にスパイク列Aの(N)桁目のレベルが、シフト回路13-14のラッチL14にスパイク列Aの(N-1)桁目のレベルが、シフト回路13-13のラッチL13にスパイク列Aの(N-2)桁目のレベルが、・・・、シフト回路13-(N-1)のラッチL(N-1)にスパイク列Aの2桁目のレベルが、シフト回路13-(N)のラッチL(N)にスパイク列Aの1桁目のレベルが、それぞれ保持される。 Similarly, when the level of the (N)th digit (N: any natural number from 4 to 15) of the spike train A is input to the write interface 11, the spike train A is input to the latch L15 of the shift circuit 13-15. The (N-1)th digit level of the spike train A is applied to the latch L14 of the shift circuit 13-14. ) digit level is at the latch L(N-1) of the shift circuit 13-(N-1), and the level of the 2nd digit of the spike train A is at the latch L of the shift circuit 13-(N). (N) holds the level of the first digit of the spike train A, respectively.
 このようにして、書き込み用インターフェース11にスパイク列Aの各桁のレベルが順次入力されると、スパイク列Aの各桁のレベルの全ての入力が完了するまでに、シフト回路13-15のラッチL15にスパイク列Aの16桁目のレベルが、シフト回路13-14のラッチL14にスパイク列Aの15桁目のレベルが、・・・、シフト回路13-1のラッチL1にスパイク列Aの2桁目のレベルが、シフト回路13-0のラッチL0にスパイク列Aの1桁目のレベルが、それぞれ保持されることになる。すなわち、制御装置103は、スパイク列Aの各桁のレベルをすべて保持したことになる。 In this way, when the levels of the digits of the spike train A are sequentially input to the write interface 11, the latches of the shift circuits 13-15 are not changed until the input of all the levels of the digits of the spike train A is completed. The level of the 16th digit of the spike train A is stored in L15, the level of the 15th digit of the spike train A is stored in the latch L14 of the shift circuit 13-14, and the level of the spike train A is stored in the latch L1 of the shift circuit 13-1. The level of the second digit and the level of the first digit of the spike train A are held in the latch L0 of the shift circuit 13-0. That is, the control device 103 holds all the levels of the digits of the spike train A.
 制御装置103は、スパイク列Aの各桁のレベルをすべて保持すると、次に、スパイク列Aの各桁のレベルをそれぞれ、記憶装置102のメモリセルアレイ51から選択される各メモリセルに記憶する。ここでは、メモリセルアレイ51内のメモリセルc1-0~c1-15にスパイク列Aの各桁のレベルがそれぞれ記憶されることを例として説明する。 After holding all the levels of the digits of the spike train A, the control device 103 stores the levels of the digits of the spike train A in each memory cell selected from the memory cell array 51 of the storage device 102 . Here, an example in which the level of each digit of the spike train A is stored in the memory cells c1-0 to c1-15 in the memory cell array 51 will be described.
 ここで、クロック信号CK及びクロック信号CK2の各周波数は、例えば、以下のとおり決定することができる。ここでは、図2に示した制御装置103及び記憶装置102の各構成を例として説明する。 Here, each frequency of the clock signal CK and the clock signal CK2 can be determined as follows, for example. Here, each configuration of the control device 103 and the storage device 102 shown in FIG. 2 will be described as an example.
 図2の例では、制御装置103は16個のシフト回路13を備えている。それゆえ、各シフト回路13のラッチの全てにレベルを保持させるためには、各ゲートG0~G15の各第1スイッチング素子g0-1~g15-1及び各第2スイッチング素子g0-2~g15-2は16回導通状態にする必要がある。すなわち、クロック信号CKは16回立ち上がることになる。 In the example of FIG. 2, the control device 103 has 16 shift circuits 13 . Therefore, in order to hold the level in all the latches of each shift circuit 13, each first switching element g0-1 to g15-1 and each second switching element g0-2 to g15- of each gate G0 to G15 2 must be made conductive 16 times. That is, the clock signal CK rises 16 times.
 一方、制御装置103は、制御装置103の各シフト回路13のラッチの全てにレベルが保持された後、後述する読み出し動作を実行する。この際、記憶装置102に対しては、クロック信号CK2の立ち上がりのタイミングで読み出し動作が実行されることになる。 On the other hand, the control device 103 executes a read operation, which will be described later, after all the latches of the shift circuits 13 of the control device 103 hold the levels. At this time, the read operation is executed for the storage device 102 at the rising timing of the clock signal CK2.
 すなわち、図2の例では、クロック信号CKが16回立ち上がる毎にクロック信号CK2が1回立ち上がる。それゆえ、クロック信号CKの周波数は、クロック信号CK2の周波数の16倍であることが必要となる。なお、本開示は、クロック信号CKの周波数とクロック信号CK2の周波数との比を「16倍」に限るものではないことはいうまでもない。制御装置103のシフト回路13の数に応じて上記の比は変更される。また、制御装置103及び記憶装置102の各々を構成するハードウェア性能によっても上記の比は変更される。 That is, in the example of FIG. 2, the clock signal CK2 rises once every time the clock signal CK rises 16 times. Therefore, the frequency of the clock signal CK needs to be 16 times the frequency of the clock signal CK2. It goes without saying that the present disclosure does not limit the ratio between the frequency of the clock signal CK and the frequency of the clock signal CK2 to "16 times". The above ratio is changed according to the number of shift circuits 13 of the control device 103 . Also, the above ratio is changed depending on the performance of the hardware that constitutes each of the control device 103 and the storage device 102 .
 記憶装置102のアドレス生成回路53は、行アドレスWL1を“1”レベルとする。一方、アドレス生成回路53は、行アドレスWL0及びWL2を“0”レベルとする。 The address generation circuit 53 of the storage device 102 sets the row address WL1 to "1" level. On the other hand, the address generation circuit 53 sets the row addresses WL0 and WL2 to "0" level.
 ここで、まず、制御装置103のシフト回路13-15のラッチL15に保持された“0”レベル、すなわち、スパイク列Aの16桁目のレベルを記憶装置102のメモリセルアレイ51のメモリセルc1-15に記憶することを説明する。なお、上述のとおり、ラッチL15は、スパイク列Aの16桁目の“0”レベルと共に、当該“0”レベルの相補的レベルである“1”レベルも保持している。 Here, first, the "0" level held in the latch L15 of the shift circuit 13-15 of the control device 103, that is, the level of the 16th digit of the spike train A is changed to the memory cell c1- of the memory cell array 51 of the storage device 102. 15 will be explained. As described above, the latch L15 holds the "0" level of the 16th digit of the spike train A as well as the "1" level, which is the complementary level of the "0" level.
 ラッチL15に保持されている“0”レベルは、書き込み回路W15を介して、ビット線BL15に入力される。また、ラッチL15に保持されている“1”レベルは、書き込み回路W15を介して、ビット線XBL15に入力される。ここで、行アドレスWL1が“1”レベルであり、行アドレスWL0及びWL2が“0”レベルであることから、メモリセルc0-15~c2~15のうちメモリセルc1-15のみにビット線BL15から“0”レベルが入力される。また、メモリセルc1-15のみにビット線XBL15から“1”レベルが入力される。この結果、ラッチL15に保持されている“0”レベルと“1”レベル、すなわち、スパイク列Aの16桁目のレベルは、メモリセルc1-15に記憶されたことになる。 The "0" level held in the latch L15 is input to the bit line BL15 via the write circuit W15. Also, the "1" level held in the latch L15 is input to the bit line XBL15 via the write circuit W15. Here, since the row address WL1 is at "1" level and the row addresses WL0 and WL2 are at "0" level, only the memory cell c1-15 among the memory cells c0-15 to c2 to 15 has the bit line BL15. "0" level is input from . A "1" level is input from the bit line XBL15 only to the memory cell c1-15. As a result, the "0" level and "1" level held in the latch L15, that is, the 16th digit level of the spike train A are stored in the memory cells c1-15.
 同様にして、ラッチL14に保持されている、スパイク列Aの15桁目のレベルは、メモリセルc1-14に記憶され、・・・、ラッチL1に保持されている、スパイク列Aの2桁目のレベルは、メモリセルc1-1に記憶され、ラッチL0に保持されている、スパイク列Aの1桁目のレベルは、メモリセルc1-0に記憶されることになる。 Similarly, the level of the fifteenth digit of spike train A held in latch L14 is stored in memory cells c1-14, . . . The second level is stored in memory cell c1-1, and the level of the first digit of spike train A held in latch L0 is stored in memory cell c1-0.
 以上のとおり、制御装置103によれば、書き込み用インターフェース11に入力されるスパイク列をそのまま記憶装置102に書き込むことができる。 As described above, according to the control device 103, the spike train input to the write interface 11 can be written to the storage device 102 as it is.
 2.読み出し動作
 次に、制御装置103の読み出し動作について説明する。制御装置103の読み出し動作は、一言でいうと、制御装置103が書き込み動作で行う処理を逆に行うということになる。
2. Read Operation Next, the read operation of the control device 103 will be described. In a nutshell, the read operation of the control device 103 is the reverse of the processing performed by the control device 103 in the write operation.
 すなわち、制御装置103が書き込み動作を行う場合であれば、制御装置103は、書き込み用インターフェース11に順次入力されるスパイク列の各桁のレベルをそれぞれ、各シフト回路13に保持する。そして、制御装置103は、各シフト回路13に保持されたレベルをそれぞれメモリセルアレイ51から選択された各メモリセルcに記憶する。 That is, when the control device 103 performs a write operation, the control device 103 holds the level of each digit of the spike train sequentially input to the write interface 11 in each shift circuit 13 . Then, the controller 103 stores the level held in each shift circuit 13 in each memory cell c selected from the memory cell array 51 .
 これに対し、制御装置103が読み出し動作を行う場合、制御装置103は、メモリセルアレイ51から選択された各メモリセルcから当該メモリセルcに記憶されたレベルをそれぞれ読み出し、各シフト回路13に保持する。そして、制御装置103は、各シフト回路13に保持された各レベルを読み出し用インターフェース12から順次出力する。 On the other hand, when the control device 103 performs a read operation, the control device 103 reads the level stored in each memory cell c selected from the memory cell array 51 and holds it in each shift circuit 13 . do. Then, the control device 103 sequentially outputs each level held in each shift circuit 13 from the readout interface 12 .
 以下では、読み出し動作が書き込み動作と異なる点を中心に説明を行う。 The following description will focus on the differences between the read operation and the write operation.
 制御装置103は、記憶装置102のメモリセルアレイ51から選択される各メモリセルに記憶されたレベルを読み出す。ここでは、メモリセルアレイ51内のメモリセルc2-0~c2-15に記憶されたレベルがそれぞれ読み出されることを例として説明する。また、メモリセルアレイ51内のメモリセルc2-0~c2-15に記憶されているレベルは上述のスパイク列A「0000111101000001」であるとする。なお、メモリセルc2-0にはスパイク列Aの1桁目のレベルが、メモリセルc2-1には2桁目のレベルが、・・・、メモリセルc2-14には15桁目のレベルが、メモリセルc2-15には16桁目のレベルが、それぞれ記憶されている。 The control device 103 reads the level stored in each memory cell selected from the memory cell array 51 of the storage device 102 . Here, an example in which the levels stored in the memory cells c2-0 to c2-15 in the memory cell array 51 are read will be described. It is also assumed that the levels stored in the memory cells c2-0 to c2-15 in the memory cell array 51 are the spike train A "0000111101000001". The memory cell c2-0 has the first digit level of the spike train A, the memory cell c2-1 has the second digit level, . However, the level of the 16th digit is stored in memory cells c2-15.
 まず、記憶装置102のアドレス生成回路53は、行アドレスWL2を“1”レベルとする。一方、アドレス生成回路53は、行アドレスWL0及びWL1を“0”レベルとする。 First, the address generation circuit 53 of the storage device 102 sets the row address WL2 to "1" level. On the other hand, the address generation circuit 53 sets the row addresses WL0 and WL1 to "0" level.
 ここで、まず、記憶装置102のメモリセルアレイ51のメモリセルc2-15に記憶されたレベルを読み出し、当該読み出したレベルを制御装置103のシフト回路13-15のラッチL15に保持することを説明する。なお、メモリセルc2-15には、スパイク列Aの16桁目の“0”レベルと共に、当該“0”レベルの相補的レベルである“1”レベルも記憶されている。 First, reading the level stored in the memory cell c2-15 of the memory cell array 51 of the storage device 102 and holding the read level in the latch L15 of the shift circuit 13-15 of the control device 103 will be described. . The memory cell c2-15 stores the "0" level of the 16th digit of the spike train A as well as the "1" level, which is the complementary level of the "0" level.
 メモリセルc2-15に記憶されている“0”レベルは、読み出し回路R15を介して、シフト回路15のラッチL15に入力される。また、メモリセルc2-15に記憶されている“1”レベルは、読み出し回路R15を介して、シフト回路15のラッチL15に入力される。ここで、行アドレスWL2が“1”レベルであり、行アドレスWL1及びWL1が“0”レベルであることから、メモリセルc0-15~c2~15のうちメモリセルc2-15のみからビット線BL15を介して読み出し回路W15に“0”レベルが入力される。また、メモリセルc2-15のみからビット線XBL15を介して読み出し回路W15に“1”レベルが入力される。この結果、メモリセルc2-15に記憶されている“0”レベルと“1”レベル、すなわち、スパイク列Aの16桁目のレベルは、ラッチL15に保持されたことになる。 The "0" level stored in the memory cell c2-15 is input to the latch L15 of the shift circuit 15 via the read circuit R15. Also, the "1" level stored in the memory cell c2-15 is input to the latch L15 of the shift circuit 15 via the read circuit R15. Here, since the row address WL2 is at "1" level and the row addresses WL1 and WL1 are at "0" level, only the memory cell c2-15 among the memory cells c0-15 to c2 to 15 is connected to the bit line BL15. A "0" level is input to the readout circuit W15 via the . A "1" level is input to the read circuit W15 from only the memory cell c2-15 through the bit line XBL15. As a result, the "0" level and "1" level stored in the memory cell c2-15, that is, the level of the 16th digit of the spike train A is held in the latch L15.
 同様にして、メモリセルc2-14に記憶されている、スパイク列Aの15桁目のレベルは、シフト回路13-14のラッチL14に保持され、・・・、メモリセルc2-1に記憶されている、スパイク列Aの2桁目のレベルは、シフト回路13-1のラッチL1に保持され、メモリセルc2-0に記憶されている、スパイク列Aの1桁目のレベルは、シフト回路13-0のラッチL0に保持されることになる。すなわち、制御装置103は、スパイク列Aの各桁のレベルをすべて保持したことになる。 Similarly, the level of the fifteenth digit of the spike train A stored in the memory cell c2-14 is held in the latch L14 of the shift circuit 13-14, and stored in the memory cell c2-1. The level of the second digit of the spike train A stored in the shift circuit 13-1 is held in the latch L1 of the shift circuit 13-1. 13-0 is held in latch L0. That is, the control device 103 holds all the levels of the digits of the spike train A.
 制御装置103は、スパイク列Aの各桁のレベルをすべて保持すると、次に、制御装置103は、上述の書き込み動作の場合と同様、各シフト回路13のラッチLに保持されたレベルを順次、読み出し用インターフェース12側に位置する各シフト回路13のラッチLへ移動させる。 When the control device 103 holds all the levels of the digits of the spike train A, next, the control device 103 successively changes the levels held in the latches L of the shift circuits 13 in the same manner as in the write operation described above. It is moved to the latch L of each shift circuit 13 located on the readout interface 12 side.
 シフト回路13-0のラッチL0は、スパイク列Aの2桁目のレベル、3桁目のレベル、・・・、15桁目のレベル、16桁目のレベルを順次保持する。シフト回路13-0の一対の出力端子は、読み出し用インターフェース12の一対の入力端子に接続されている。シフト回路13-0のラッチL0に順次保持される、スパイク列Aの各桁のレベルは、BLo信号及びXBLo信号の各レベルとして、順次、読み出し用インターフェース12の一対の入力端子にそれぞれ入力される。読み出し用インターフェース12は、一対の入力端子に順次入力される、スパイク列Aの各桁のレベルを出力端子から順次出力する。すなわち、制御装置103は、読み出し用インターフェース12の出力端子からスパイク列Aを出力する。 The latch L0 of the shift circuit 13-0 sequentially holds the level of the 2nd digit, the level of the 3rd digit, . A pair of output terminals of the shift circuit 13 - 0 are connected to a pair of input terminals of the readout interface 12 . The level of each digit of the spike train A sequentially held in the latch L0 of the shift circuit 13-0 is sequentially input to a pair of input terminals of the readout interface 12 as each level of the BLo signal and the XBLo signal. . The readout interface 12 sequentially outputs the level of each digit of the spike train A, which is sequentially input to the pair of input terminals, from the output terminal. That is, the control device 103 outputs the spike train A from the output terminal of the readout interface 12 .
 以上のとおり、制御装置103によれば、記憶装置102に記憶されているスパイク列を読み出し用インターフェース12からそのまま読み出すことができる。 As described above, according to the control device 103, the spike train stored in the storage device 102 can be read out from the readout interface 12 as it is.
 <実施形態1の効果>
 制御装置103によれば、スパイク列をそのまま記憶装置に書き込み、スパイク列をそのまま記憶装置から読み出すことができる。すなわち、制御装置103によれば、新規な構成を備える制御装置を実現することができる。
<Effect of Embodiment 1>
According to the control device 103, the spike train can be written as it is to the storage device, and the spike train can be read as it is from the storage device. That is, according to the control device 103, a control device having a novel configuration can be realized.
 また、制御装置103によれば、SC計算機構を実現する装置において、ハードウェアの削減及びデータ処理の高速化を図ることができる。 In addition, according to the control device 103, it is possible to reduce hardware and increase the speed of data processing in the device that implements the SC calculation mechanism.
 〔実施形態2〕
 本開示の実施形態2について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
[Embodiment 2]
Embodiment 2 of the present disclosure will be described below. For convenience of description, members having the same functions as those of the members described in the above embodiments are denoted by the same reference numerals, and description thereof will not be repeated.
 本実施形態2は、書き込み用インターフェース11にシフト回路13の総数を超える桁数のスパイク列が入力される場合における、制御装置103の書き込み動作に係る実施形態である。また、本実施形態2は、読み出し用インターフェース12からシフト回路13の総数を超える桁数のスパイク列を出力する場合における、制御装置103の読み出し動作に係る実施形態である。 The second embodiment relates to the write operation of the control device 103 when a spike train with a number of digits exceeding the total number of shift circuits 13 is input to the write interface 11 . Further, the second embodiment relates to the readout operation of the control device 103 when outputting a spike train with a number of digits exceeding the total number of shift circuits 13 from the readout interface 12 .
 まず、本実施形態2に係る制御装置103の書き込み動作について、図1を用いて説明する。なお、本実施形態2でも、図1のとおり、シフト回路13の総数は16個である。また、書き込み用インターフェース11に入力されるスパイク列の桁数は、シフト回路13の総数である16個を超える18個であるとする。 First, the write operation of the control device 103 according to the second embodiment will be explained using FIG. Note that the total number of shift circuits 13 is 16 in the second embodiment as well, as shown in FIG. It is also assumed that the number of digits of the spike train input to the write interface 11 is 18, which is 16, which is the total number of the shift circuits 13 .
 書き込み用インターフェース11には、所定の時間間隔で、スパイク列の1桁目から順に、各桁のレベルの信号が順次入力される。そして、書き込み用インターフェース11に、シフト回路13の総数と同数のレベルが入力された時点、すなわち、スパイク列の16桁目のレベルの信号が入力された時点で、制御装置103は、一旦、書き込み用インターフェース11へのスパイク列の入力を停止する。 The write interface 11 is supplied with signals at the levels of each digit in order from the first digit of the spike train at predetermined time intervals. When the number of levels equal to the total number of shift circuits 13 is input to the write interface 11, that is, when the level signal of the 16th digit of the spike train is input, the control device 103 temporarily performs the write operation. stop inputting the spike train to the interface 11;
 ここで、この停止の際、書き込み用インターフェース11に未だ入力されていないスパイクは、スパイク列の17桁目と18桁目である。また、制御装置103は、スパイク列の1桁目から16桁目の各桁のレベルをすべて保持している。 Here, the spikes that have not yet been input to the writing interface 11 at the time of this stop are the 17th and 18th digits of the spike train. The control device 103 also holds all the levels of the 1st to 16th digits of the spike train.
 また、制御装置103は、クロック信号CKのクロック数を数えることにより、シフト回路13の総数と同数のレベルが入力された時点を検知すれば良い。シフト回路13の総数が16個であれば、16個のスパイクが入力されるまでに必要となるクロック数は16個となる。 Also, the control device 103 may detect the time when the same number of levels as the total number of shift circuits 13 are input by counting the number of clocks of the clock signal CK. If the total number of shift circuits 13 is 16, 16 clocks are required until 16 spikes are input.
 制御装置103は、書き込み用インターフェース11へのスパイク列の入力を停止した後、スパイク列の1桁目から16桁目の各桁のレベルをそれぞれ、記憶装置102のメモリセルアレイ51から選択される各メモリセルcに記憶する。これにより、制御装置103は、スパイク列の1桁目から16桁目の各桁のレベルを記憶装置102に書き込んだことになる。 After stopping the input of the spike train to the write interface 11 , the control device 103 sets the levels of the 1st to 16th digits of the spike train to the levels selected from the memory cell array 51 of the storage device 102 . Store in memory cell c. As a result, the control device 103 writes the levels of the 1st to 16th digits of the spike train to the storage device 102 .
 制御装置103は、スパイク列の1桁目から16桁目の各桁のレベルを記憶装置102に書き込んだ後、再び、書き込み用インターフェース11へのスパイク列の入力を開始する。書き込み用インターフェース11には、所定の時間間隔で、スパイク列の17桁目から順に、17桁目と18桁目の各桁のレベルの信号が順次入力される。 After writing the levels of the 1st to 16th digits of the spike train to the storage device 102, the control device 103 starts inputting the spike train to the write interface 11 again. The writing interface 11 is supplied with signals at the levels of the 17th and 18th digits of the spike train in order from the 17th digit at predetermined time intervals.
 制御装置103は、スパイク列の17桁目と18桁目の各桁のレベルを保持する。そして、制御装置103は、スパイク列の17桁目と18桁目の各桁のレベルをそれぞれ、記憶装置102のメモリセルアレイ51から選択される各メモリセルcに記憶する。これにより、制御装置103は、スパイク列の1桁目から18桁目の各桁のレベルを記憶装置102に書き込んだことになる。 The control device 103 holds the levels of the 17th and 18th digits of the spike train. Then, the control device 103 stores the levels of the 17th and 18th digits of the spike train in each memory cell c selected from the memory cell array 51 of the storage device 102 . As a result, the control device 103 writes the levels of the 1st to 18th digits of the spike train to the storage device 102 .
 なお、スパイク列の1桁目から16桁目の各桁のレベルは、同一の行アドレスに繋がる各メモリセルcに記憶される。また、スパイク列の17桁目と18桁目の各桁のレベルは、同一の行アドレスに繋がる各メモリセルcに記憶される。ただし、前者の行アドレスと後者の行アドレスとは異なる。例えば、スパイク列の1桁目から16桁目の各桁のレベルは、行アドレスWL0に繋がるメモリセルc0-0~c0-15のそれぞれに記憶される。また、スパイク列の17桁目と18桁目の各桁のレベルは、行アドレスWL1に繋がるメモリセルc1-14~c1-15のそれぞれに記憶される。また、記憶装置102のアドレス生成回路53も、制御装置103と同様、クロック信号CKのクロック数を数えることにより、シフト回路13の総数と同数のレベルが入力された時点を検知すれば良い。これにより、アドレス生成回路53は、上述のとおり、選択する行アドレスを行アドレスWL0から行アドレスWL1に変更することができる。 The level of each digit from the 1st to 16th digits of the spike train is stored in each memory cell c connected to the same row address. Also, the levels of the 17th and 18th digits of the spike train are stored in each memory cell c connected to the same row address. However, the former row address and the latter row address are different. For example, the levels of the 1st to 16th digits of the spike train are stored in memory cells c0-0 to c0-15 connected to row address WL0. Also, the levels of the 17th and 18th digits of the spike train are stored in the memory cells c1-14 to c1-15 connected to the row address WL1. Similarly to the control device 103, the address generation circuit 53 of the storage device 102 may also detect when the same number of levels as the total number of the shift circuits 13 is input by counting the number of clocks of the clock signal CK. Thereby, the address generation circuit 53 can change the row address to be selected from the row address WL0 to the row address WL1 as described above.
 次に、本実施形態2に係る制御装置103の読み出し動作について、図1を用いて説明する。なお、本実施形態2でも、図1のとおり、シフト回路13の総数は16個である。また、読み出し用インターフェース12から出力されるスパイク列の桁数は、シフト回路13の総数である16個を超える18個であるとする。 Next, the read operation of the control device 103 according to the second embodiment will be explained using FIG. Note that the total number of shift circuits 13 is 16 in the second embodiment as well, as shown in FIG. Also, it is assumed that the number of digits of the spike train output from the readout interface 12 is 18, which is 16, which is the total number of the shift circuits 13 .
 制御装置103は、記憶装置102のメモリセルアレイ51から選択される各メモリセルcに記憶されたレベルを読み出す。制御装置103は、読み出される各レベルをすべて保持する。読み出される各レベルは、読み出し用インターフェース12から出力されるスパイク列の1桁目から16桁目の各桁のレベルとなる。 The control device 103 reads the level stored in each memory cell c selected from the memory cell array 51 of the storage device 102 . Controller 103 keeps track of each level that is read. Each level to be read out is the level of each digit from the 1st to 16th digits of the spike train output from the readout interface 12 .
 制御装置103は、保持された各レベルを読み出し用インターフェース12から順次出力する。これにより、制御装置103は、スパイク列の1桁目から16桁目の各桁のレベルを記憶装置102から読み出したことになる。 The control device 103 sequentially outputs each held level from the readout interface 12 . As a result, the control device 103 reads from the storage device 102 the levels of the 1st to 16th digits of the spike train.
 続いて、制御装置103は、記憶装置102のメモリセルアレイ51から選択される各メモリセルcに記憶されたレベルを読み出す。制御装置103は、読み出される各レベルをすべて保持する。読み出される各レベルは、読み出し用インターフェース12から出力されるスパイク列の17桁目と18桁目の各桁のレベルとなる。 Subsequently, the control device 103 reads the level stored in each memory cell c selected from the memory cell array 51 of the storage device 102 . Controller 103 keeps track of each level that is read. Each level read out is the level of each of the 17th and 18th digits of the spike train output from the readout interface 12 .
 制御装置103は、保持された各レベルを読み出し用インターフェース12から順次出力する。これにより、制御装置103は、スパイク列の1桁目から18桁目の各桁のレベルを記憶装置102から読み出したことになる。 The control device 103 sequentially outputs each held level from the readout interface 12 . As a result, the control device 103 reads from the storage device 102 the levels of the 1st to 18th digits of the spike train.
 なお、スパイク列の1桁目から16桁目の各桁のレベルは、同一の行アドレスに繋がる各メモリセルcから読み出される。また、スパイク列の17桁目と18桁目の各桁のレベルは、同一の行アドレスに繋がる各メモリセルcから読み出される。ただし、前者の行アドレスと後者の行アドレスとは異なる。例えば、スパイク列の1桁目から16桁目の各桁のレベルは、行アドレスWL0に繋がるメモリセルc0-0~c0-15のそれぞれから読み出される。また、スパイク列の17桁目と18桁目の各桁のレベルは、行アドレスWL1に繋がるメモリセルc1-14~c1-15のそれぞれから読み出される。 The level of each digit from the 1st to 16th digits of the spike train is read from each memory cell c connected to the same row address. Also, the levels of the 17th and 18th digits of the spike train are read from each memory cell c connected to the same row address. However, the former row address and the latter row address are different. For example, the levels of the 1st to 16th digits of the spike train are read from the memory cells c0-0 to c0-15 connected to the row address WL0. Also, the levels of the 17th and 18th digits of the spike train are read from the memory cells c1-14 to c1-15 connected to the row address WL1.
 以上のとおり、制御装置103によれば、記憶装置102に書き込まれるスパイク列の桁数がシフト回路13の総数を超える場合でも、当該スパイク列をそのまま記憶装置102に書き込むことができる。 As described above, according to the control device 103, even if the number of digits of the spike train to be written to the storage device 102 exceeds the total number of shift circuits 13, the spike train can be written to the storage device 102 as it is.
 また、制御装置103によれば、記憶装置102から読み出されるスパイク列の桁数がシフト回路13の総数を超える場合でも、当該スパイク列をそのまま記憶装置102から読み出すことができる。 Further, according to the control device 103, even if the number of digits of the spike train read from the storage device 102 exceeds the total number of shift circuits 13, the spike train can be read from the storage device 102 as it is.
 なお、本実施形態2では、制御装置103の書き込み動作及び読み出し動作のいずれに関しても、スパイク列の桁数が18個である場合を例として説明を行った。しかしながら、本実施形態2は、スパイク列の桁数が18個である場合に限られるものではない。 It should be noted that in the second embodiment, both the write operation and the read operation of the control device 103 have been described with an example in which the spike train has 18 digits. However, Embodiment 2 is not limited to the case where the spike train has 18 digits.
 〔実施形態3〕
 本開示の実施形態3について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
[Embodiment 3]
A third embodiment of the present disclosure will be described below. For convenience of description, members having the same functions as those of the members described in the above embodiments are denoted by the same reference numerals, and description thereof will not be repeated.
 図3は、本開示の実施形態3に係る制御装置103Aの回路構成を示す図である。なお、図3には、記憶装置102の様々な部材も示されているが、制御装置103Aとは関係しない部材については説明を省略する。 FIG. 3 is a diagram showing the circuit configuration of the control device 103A according to Embodiment 3 of the present disclosure. Although various members of the storage device 102 are also shown in FIG. 3, descriptions of members unrelated to the control device 103A are omitted.
 図3のとおり、制御装置103Aが上記実施形態1の制御装置103と異なる点は、カウンタ14と、セレクタ15-15_14、15-1_0とを更に備える点である。以下、実施形態1と同様、書き込み用インターフェース11に「0000111101000001」で表されるスパイク列Aが入力される場合を例として説明する。 As shown in FIG. 3, the control device 103A differs from the control device 103 of the first embodiment in that it further includes a counter 14 and selectors 15-15_14 and 15-1_0. Hereinafter, as in the first embodiment, a case where a spike train A represented by "0000111101000001" is input to the write interface 11 will be described as an example.
 書き込み用インターフェース11には、所定の時間間隔で、スパイク列Aの1桁目(=1)のレベル、2桁目(=0)のレベル、3桁目(=0)のレベル、・・・、15桁目(=0)のレベル、16桁目(=0)のレベルが順に入力される。 The writing interface 11 receives the level of the first digit (=1), the level of the second digit (=0), the level of the third digit (=0), . , the level of the 15th digit (=0), and the level of the 16th digit (=0) are input in this order.
 書き込み用インターフェース11からシフト回路13-15のラッチL15に入力されるBLi信号のレベルが“1”レベルであれば、カウンタ14は、カウンタ14に保持されるカウント値を1つ上げる。なお、カウンタ14にはクロック信号CKが入力されている。クロック信号CKの立ち上がりのタイミングでBLi信号の“1”レベルがラッチL15に入力される。BLi信号の“1”レベルがラッチL15に入力された後、クロック信号CKの次の立ち上がりのタイミングでカウンタ14はカウント値を1つ上げる。 When the level of the BLi signal input from the write interface 11 to the latch L15 of the shift circuit 13-15 is "1" level, the counter 14 increases the count value held in the counter 14 by one. A clock signal CK is input to the counter 14 . The "1" level of the BLi signal is input to the latch L15 at the rising edge of the clock signal CK. After the "1" level of the BLi signal is input to the latch L15, the counter 14 increments the count value by one at the timing of the next rise of the clock signal CK.
 また、シフト回路13-1からシフト回路13-0のラッチL0に入力される信号のレベルが“1”レベルであれば、カウンタ14は、カウンタ14に保持されるカウント値を1つ下げる。クロック信号CKの立ち上がりのタイミングでシフト回路13-1からシフト回路13-0のラッチL0に“1”レベルが入力される。ラッチL0に“1”レベルが入力された後、クロック信号CKの次の立ち上がりのタイミングでカウンタ14はカウント値を1つ下げる。 Also, if the level of the signal input from the shift circuit 13-1 to the latch L0 of the shift circuit 13-0 is "1" level, the counter 14 decrements the count value held in the counter 14 by one. A "1" level is input from the shift circuit 13-1 to the latch L0 of the shift circuit 13-0 at the rising timing of the clock signal CK. After the "1" level is input to the latch L0, the counter 14 decrements the count value by one at the timing of the next rise of the clock signal CK.
 また、書き込み用インターフェース11からシフト回路13-15のラッチL15に入力されるBLi信号のレベルと、シフト回路13-1からシフト回路13-0のラッチL0に入力される信号のレベルと、が一致する場合、カウンタ14は、カウンタ14に保持されるカウント値を維持する。 Also, the level of the BLi signal input from the write interface 11 to the latch L15 of the shift circuit 13-15 matches the level of the signal input from the shift circuit 13-1 to the latch L0 of the shift circuit 13-0. If so, the counter 14 maintains the count value held in the counter 14 .
 より具体的には、書き込み用インターフェース11からシフト回路13-15のラッチL15にスパイク列Aの1桁目(=1)のレベルが入力されると、カウンタ14はカウント値を1とする。次に、書き込み用インターフェース11からシフト回路13-15のラッチL15にスパイク列Aの2桁目(=0)のレベルが入力されると、カウンタ14はカウント値を維持する。すなわち、カウント値は1のままである。 More specifically, when the level of the first digit (=1) of the spike train A is input from the write interface 11 to the latch L15 of the shift circuit 13-15, the counter 14 sets the count value to 1. Next, when the level of the second digit (=0) of the spike train A is input from the write interface 11 to the latch L15 of the shift circuit 13-15, the counter 14 maintains the count value. That is, the count value remains 1.
 同様に、書き込み用インターフェース11からシフト回路13-15のラッチL15にスパイク列Aの3桁目(=0)~16桁目(=0)の各レベルが順次入力される。スパイク列Aの1桁目から16桁目までのうち、“1”レベルの桁数は6個であるので、カウンタ14が保持するカウント値は6となる。 Similarly, the levels of the 3rd digit (=0) to the 16th digit (=0) of the spike train A are sequentially input from the write interface 11 to the latch L15 of the shift circuit 13-15. Among the 1st to 16th digits of the spike train A, the number of digits of "1" level is 6, so the count value held by the counter 14 is 6.
 セレクタ15-15_14及びセレクタ15-1_0のうち、セレクタ15-15_14がオンした場合、カウンタ14は、カウンタ14が保持するカウント値をセレクタ15-15_14に出力する。セレクタ15-15_14は、カウンタ14から入力されるカウント値を、書き込み回路W14及び書き込み回路W15に出力する。セレクタ15-15_14及びセレクタ15-1_0のうち、セレクタ15-1_0がオンした場合、カウンタ14は、カウンタ14が保持するカウント値をセレクタ15-1_0に出力する。セレクタ15-1_0は、カウンタ14から入力されるカウント値を、書き込み回路W0及び書き込み回路W1に出力する。 When the selector 15-15_14 of the selector 15-15_14 and the selector 15-1_0 is turned on, the counter 14 outputs the count value held by the counter 14 to the selector 15-15_14. The selector 15-15_14 outputs the count value input from the counter 14 to the write circuit W14 and the write circuit W15. When the selector 15-1_0 of the selectors 15-15_14 and 15-1_0 is turned on, the counter 14 outputs the count value held by the counter 14 to the selector 15-1_0. The selector 15-1_0 outputs the count value input from the counter 14 to the write circuit W0 and the write circuit W1.
 書き込み回路W14、書き込み回路W15、書き込み回路W0及び書き込み回路W1は、カウンタ14のカウント値を、それぞれに繋がるメモリセルcに記憶する。アドレス生成回路53は、行アドレスWL0~WL2を用いて、当該カウント値が記憶されるメモリセルcを選択する。 The write circuit W14, write circuit W15, write circuit W0, and write circuit W1 store the count value of the counter 14 in the memory cell c connected to each. The address generation circuit 53 selects the memory cell c in which the count value is stored using the row addresses WL0 to WL2.
 なお、書き込み用インターフェース11からシフト回路13-15のラッチL15にスパイク列Aの16桁目(=0)のレベルが入力される際、シフト回路13-1からシフト回路13-0のラッチL0に入力される信号のレベルはスパイク列Aの1桁目(=1)のレベルである。このため、カウンタ14はカウンタ値を1つ下げる。すなわち、カウント値は5となる。同様にして、スパイク列Aの3桁目(=0)~16桁目(=0)の各レベルがラッチL0に順次入力されると、カウンタ14のカウンタ値は再び0となる。すなわち、スパイク列Aの1桁目(=1)~16桁目(=0)の各レベルがラッチL0に順次入力されれば、カウンタ14のカウンタ値は最終的には0に戻る。 When the level of the 16th digit (=0) of the spike train A is input from the write interface 11 to the latch L15 of the shift circuit 13-15, the shift circuit 13-1 to the latch L0 of the shift circuit 13-0 The level of the input signal is the level of the first digit (=1) of the spike train A. Therefore, the counter 14 decrements the counter value by one. That is, the count value is 5. Similarly, when the levels of the 3rd digit (=0) to the 16th digit (=0) of the spike train A are sequentially input to the latch L0, the counter value of the counter 14 becomes 0 again. That is, when the levels of the 1st digit (=1) to the 16th digit (=0) of the spike train A are sequentially input to the latch L0, the counter value of the counter 14 finally returns to 0.
 したがって、書き込み用インターフェース11から、スパイク列Aとは異なるスパイク列(ここでは、スパイク列Bと称する。)が、スパイク列Aが入力された後に連続して入力される場合でも、スパイク列Bの入力が開始される前にカウンタ14のカウンタ値を一旦リセットする処理、言い換えれば、カウント値を0に戻す処理は不要である。なぜなら、ラッチL15にスパイク列Bの各桁のレベルが順次入力される際、同時に、ラッチL0にスパイク列Aの各桁のレベルが順次入力されるので、カウンタ14は、ラッチL15に入力されるスパイク列Bの“1”レベルの数をカウントしつつ、ラッチL0に入力されるスパイク列Aの“1”レベルの数をカウント値から減らすことができるからである。 Therefore, even if a spike train different from the spike train A (herein referred to as a spike train B) is continuously input from the write interface 11 after the spike train A is input, the spike train B The process of resetting the counter value of the counter 14 once before the input is started, in other words, the process of resetting the count value to 0 is unnecessary. This is because when the levels of the digits of the spike train B are sequentially input to the latch L15, the levels of the digits of the spike train A are also sequentially input to the latch L0 at the same time. This is because, while counting the number of "1" levels of spike train B, the number of "1" levels of spike train A input to latch L0 can be reduced from the count value.
 以上のとおり、制御装置103Aによれば、記憶装置102に書き込まれるスパイク列のスパイク数をカウントし、そのカウント値のみを記憶装置102に書き込むことができる。それゆえ、制御装置103Aによれば、スパイク列をそのまま記憶装置102に書き込む場合よりも、記憶装置102に書き込まれるデータ量を圧縮することができる。 As described above, according to the control device 103A, the number of spikes in the spike train written to the storage device 102 can be counted, and only the count value can be written to the storage device 102. Therefore, according to the control device 103A, the amount of data written to the storage device 102 can be compressed more than when the spike train is written to the storage device 102 as it is.
 〔実施形態4〕
 本開示の実施形態4について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
[Embodiment 4]
Embodiment 4 of the present disclosure will be described below. For convenience of description, members having the same functions as those of the members described in the above embodiments are denoted by the same reference numerals, and description thereof will not be repeated.
 図4は、本開示の実施形態4に係る制御装置103Bの回路構成を示す図である。なお、図4には、記憶装置102の様々な部材も示されているが、制御装置103Bとは関係しない部材については説明を省略する。 FIG. 4 is a diagram showing the circuit configuration of the control device 103B according to Embodiment 4 of the present disclosure. Although various members of the storage device 102 are also shown in FIG. 4, descriptions of members unrelated to the control device 103B are omitted.
 図4のとおり、制御装置103Bが上記実施形態1の制御装置103と異なる点は、カウンタ14と、レジスタ16-15_14(第1レジスタ)と、レジスタ16-1_0(第2レジスタ)と、比較器17-15_14(第1比較器)と、比較器17-1_0(第2比較器)と、AND回路18とを更に備える点である。 As shown in FIG. 4, the control device 103B differs from the control device 103 of the first embodiment in that the counter 14, registers 16-15_14 (first register), register 16-1_0 (second register), comparator 17-15_14 (first comparator), comparator 17-1_0 (second comparator), and AND circuit 18 are further provided.
 本実施形態4は、上記実施形態3の変形例である。上記実施形態3に係る制御装置103Aは、記憶装置102に書き込まれるスパイク列のスパイク数をカウントし、そのカウント値のみを記憶装置102に書き込む構成であった。 The fourth embodiment is a modification of the third embodiment. The control device 103A according to the third embodiment counts the number of spikes in the spike train written to the storage device 102 and writes only the count value to the storage device 102 .
 一方、制御装置103Bは、書き込み用インターフェース11に入力されるスパイク列のスパイク数をカウントし、そのカウント値を、記憶装置102に予め書き込まれている最小値及び最大値のそれぞれと大小比較する。制御装置103Bは、当該大小比較の結果により、当該最小値及び最大値から規定される所定範囲内に上記カウント値が収まるか否かを判定する。なお、当該最小値及び最大値は、スパイク列として書き込み用インターフェース11から入力されても良いし、メモリインターフェース102から入力されても良い。 On the other hand, the control device 103B counts the number of spikes in the spike train input to the write interface 11 and compares the count value with the minimum and maximum values prewritten in the storage device 102 . The control device 103B determines whether or not the count value falls within a predetermined range defined by the minimum value and the maximum value based on the result of the size comparison. Note that the minimum and maximum values may be input from the write interface 11 or may be input from the memory interface 102 as a spike train.
 図4のとおり、カウンタ14は、書き込み用インターフェース11に入力されるスパイク列のスパイク数をカウントする。カウンタ14がスパイク列のスパイク数をカウントする処理については、上記実施形態3のカウンタ14が実行する処理と同一であるので、ここではその説明を繰り返さない。 As shown in FIG. 4, the counter 14 counts the number of spike trains input to the write interface 11 . The processing by which the counter 14 counts the number of spikes in the spike train is the same as the processing executed by the counter 14 of the third embodiment, and thus description thereof will not be repeated here.
 カウンタ14は、カウント値を比較器17-15_14及び17-1_0のいずれにも出力する。 The counter 14 outputs the count value to both comparators 17-15_14 and 17-1_0.
 図4において、最大値は、読み出し回路R14及び読み出し回路R15のそれぞれに繋がるメモリセルcに記憶されている。アドレス生成回路53は、行アドレスWL0~WL2を用いて、当該最大値が記憶されているメモリセルcを選択する。読み出し回路R14及び読み出し回路R15は、当該最大値を、それぞれに繋がるメモリセルcから読み出す。読み出し回路R14及び読み出し回路R15は、メモリセルcから読み出した最大値を、レジスタ16-15_14に出力する。レジスタ16-15_14は、当該最大値を保持する。 In FIG. 4, the maximum value is stored in the memory cell c respectively connected to the readout circuit R14 and the readout circuit R15. The address generation circuit 53 uses the row addresses WL0 to WL2 to select the memory cell c in which the maximum value is stored. The readout circuit R14 and the readout circuit R15 read out the maximum value from the memory cell c connected thereto. The readout circuit R14 and the readout circuit R15 output the maximum value read from the memory cell c to the register 16-15_14. Register 16-15_14 holds the maximum value.
 最小値は、読み出し回路R0及び読み出し回路R1のそれぞれに繋がるメモリセルcに記憶されている。アドレス生成回路53は、行アドレスWL0~WL2を用いて、当該最小値が記憶されているメモリセルcを選択する。読み出し回路R0及び読み出し回路R1は、当該最小値を、それぞれに繋がるメモリセルcから読み出す。読み出し回路R0及び読み出し回路R1は、メモリセルcから読み出した最小値を、レジスタ16-1_0に出力する。レジスタ16-1_0は、当該最小値を保持する。 The minimum value is stored in the memory cell c connected to each of the readout circuit R0 and the readout circuit R1. The address generation circuit 53 selects the memory cell c storing the minimum value using the row addresses WL0 to WL2. The readout circuit R0 and the readout circuit R1 read out the minimum value from the memory cell c connected thereto. The readout circuit R0 and the readout circuit R1 output the minimum value read from the memory cell c to the register 16-1_0. Register 16-1_0 holds the minimum value.
 レジスタ16-15_14に保持される値とレジスタ16-1_0に保持される値とは、レジスタ16-15_14に保持される値を最大値とし、レジスタ16-1_0に保持される値を最小値とする、所定範囲を規定する一組の値である。 Regarding the value held in the register 16-15_14 and the value held in the register 16-1_0, the value held in the register 16-15_14 is the maximum value and the value held in the register 16-1_0 is the minimum value. , is a set of values defining a predetermined range.
 比較器17-15_14は、カウンタ14からカウント値が入力されると、レジスタ16-15_14から、レジスタ16-15_14に保持されている最大値を取得する。比較器17-15_14は、カウント値と最大値とを比較する。カウント値が最大値以下である場合、比較器17-15_14は、“1”レベルの信号をAND回路18に出力する。カウント値が最大値よりも大きい場合、比較器17-15_14は、“0”レベルの信号をAND回路18に出力する。 When the count value is input from the counter 14, the comparator 17-15_14 acquires the maximum value held in the register 16-15_14 from the register 16-15_14. Comparators 17-15_14 compare the count value with the maximum value. If the count value is equal to or less than the maximum value, the comparator 17-15_14 outputs a "1" level signal to the AND circuit . If the count value is greater than the maximum value, the comparator 17-15_14 outputs a "0" level signal to the AND circuit .
 比較器17-1_0は、カウンタ14からカウント値が入力されると、レジスタ16-1_0から、レジスタ16-1_0に保持されている最小値を取得する。比較器17-1_0は、カウント値と最小値とを比較する。カウント値が最小値以上である場合、比較器17-1_0は、“1”レベルの信号をAND回路18に出力する。カウント値が最小値よりも小さい場合、比較器17-1_0は、“0”レベルの信号をAND回路18に出力する。 When the count value is input from the counter 14, the comparator 17-1_0 acquires the minimum value held in the register 16-1_0 from the register 16-1_0. Comparator 17-1_0 compares the count value with the minimum value. If the count value is equal to or greater than the minimum value, comparator 17-1_0 outputs a signal of “1” level to AND circuit . If the count value is smaller than the minimum value, the comparator 17-1_0 outputs a “0” level signal to the AND circuit .
 比較器17-15_14から“1”レベルの信号がAND回路18に入力され、且つ、比較器17-1_0から“1”レベルの信号がAND回路18に入力されると、AND回路18は“1”レベルのPASS信号を出力する。一方、比較器17-15_14又は比較器17-1_0のうちの少なくとも一方から“0”レベルの信号がAND回路18に入力されると、AND回路18は“0”レベルのPASS信号を出力する。 When a "1" level signal is input to the AND circuit 18 from the comparator 17-15_14 and a "1" level signal is input to the AND circuit 18 from the comparator 17-1_0, the AND circuit 18 outputs "1". ” level PASS signal is output. On the other hand, when a "0" level signal is input to the AND circuit 18 from at least one of the comparators 17-15_14 and 17-1_0, the AND circuit 18 outputs a "0" level PASS signal.
 すなわち、カウント値が、最小値及び最大値から規定される所定範囲内に収まっていれば、AND回路18から“1”レベルのPASS信号が出力される。一方、カウント値が、最小値及び最大値から規定される所定範囲内に収まっていなければ、AND回路18から“0”レベルのPASS信号が出力される。 That is, if the count value is within a predetermined range defined by the minimum and maximum values, the AND circuit 18 outputs a "1" level PASS signal. On the other hand, if the count value does not fall within the predetermined range defined by the minimum and maximum values, the AND circuit 18 outputs a "0" level PASS signal.
 なお、AND回路18からの出力される“1”レベル及び“0”レベルは、他の制御装置103の書き込み用インターフェース11に入力されても良い。この場合、AND回路18からの出力される各レベルが他の制御装置103の書き込み用インターフェース11に入力されるスパイク列を構成する。 The "1" level and "0" level output from the AND circuit 18 may be input to the write interface 11 of another control device 103. In this case, each level output from the AND circuit 18 constitutes a spike train input to the write interface 11 of the other control device 103 .
 以上のとおり、制御装置103Bによれば、書き込み用インターフェース11に入力されるスパイク列のスパイク数をカウントし、そのカウント値が所定範囲内に収まるか否かを判定することができる。 As described above, according to the control device 103B, it is possible to count the number of spikes in the spike train input to the write interface 11 and determine whether or not the count value falls within a predetermined range.
 それゆえ、従来であればソフトウェアで実現される比較プログラムをハードウェアで実現することができる。なお、上述したような大小比較の結果により所定値が所定範囲内に収まるか否かを判定する処理は、AI(Artificial Intelligence:人工知能)における識別処理の本質である。 Therefore, comparison programs that were conventionally implemented in software can now be implemented in hardware. It should be noted that the process of determining whether or not a predetermined value falls within a predetermined range based on the results of magnitude comparison as described above is the essence of identification processing in AI (Artificial Intelligence).
 〔実施形態5〕
 本開示の実施形態5について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
[Embodiment 5]
A fifth embodiment of the present disclosure will be described below. For convenience of description, members having the same functions as those of the members described in the above embodiments are denoted by the same reference numerals, and description thereof will not be repeated.
 図5は、本開示の実施形態5に係る制御装置103Cの回路構成を示す図である。なお、図5には、記憶装置102の様々な部材も示されているが、制御装置103Cとは関係しない部材については説明を省略する。 FIG. 5 is a diagram showing a circuit configuration of a control device 103C according to Embodiment 5 of the present disclosure. Although various members of the storage device 102 are also shown in FIG. 5, description of members unrelated to the control device 103C is omitted.
 図5のとおり、制御装置103Cが上記実施形態1の制御装置103と異なる点は、カウンタ19-15_14(第1カウンタ)と、カウンタ19-1_0(第2カウンタ)と、レジスタ20-15_14と、レジスタ20-1_0とを更に備える点である。 As shown in FIG. 5, the controller 103C differs from the controller 103 of the first embodiment in that a counter 19-15_14 (first counter), a counter 19-1_0 (second counter), a register 20-15_14, The point is that it further includes a register 20-1_0.
 制御装置103Cは、乗算及び除算を行う。以下、実施形態1と同様、書き込み用インターフェース11に「0000111101000001」で表されるスパイク列Aが入力される場合を例として説明する。 The control device 103C performs multiplication and division. Hereinafter, as in the first embodiment, a case where a spike train A represented by "0000111101000001" is input to the write interface 11 will be described as an example.
 書き込み用インターフェース11には、所定の時間間隔で、スパイク列Aの1桁目(=1)のレベル、2桁目(=0)のレベル、3桁目(=0)のレベル、・・・、15桁目(=0)のレベル、16桁目(=0)のレベルが順に入力される。 The writing interface 11 receives the level of the first digit (=1), the level of the second digit (=0), the level of the third digit (=0), . , the level of the 15th digit (=0), and the level of the 16th digit (=0) are input in this order.
 カウンタ19-15_14のカウント値の初期値(以下、「第1初期値」と称する。)は、レジスタ20-15_14に保持されている。カウンタ19-1_0のカウント値の初期値(以下、「第2初期値」と称する。)は、レジスタ20-1_0に保持されている。 The initial count value of the counter 19-15_14 (hereinafter referred to as "first initial value") is held in the register 20-15_14. The initial count value of the counter 19-1_0 (hereinafter referred to as "second initial value") is held in the register 20-1_0.
 第1初期値は、読み出し回路R14及び読み出し回路R15のそれぞれに繋がるメモリセルcに記憶されている。アドレス生成回路53は、行アドレスWL0~WL2を用いて、当該第1初期値が記憶されているメモリセルcを選択する。読み出し回路R14及び読み出し回路R15は、当該第1初期値を、それぞれに繋がるメモリセルcから読み出す。読み出し回路R14及び読み出し回路R15は、メモリセルcから読み出した第1初期値を、レジスタ20-15_14に出力する。レジスタ20-15_14は、当該第1初期値を保持する。 The first initial value is stored in the memory cell c connected to each of the readout circuit R14 and the readout circuit R15. The address generation circuit 53 selects the memory cell c storing the first initial value using the row addresses WL0 to WL2. The readout circuit R14 and the readout circuit R15 read out the first initial value from the memory cell c connected thereto. The readout circuit R14 and the readout circuit R15 output the first initial value read from the memory cell c to the register 20-15_14. The register 20-15_14 holds the first initial value.
 第2初期値は、読み出し回路R0及び読み出し回路R1のそれぞれに繋がるメモリセルcに記憶されている。アドレス生成回路53は、行アドレスWL0~WL2を用いて、当該第2初期値が記憶されているメモリセルcを選択する。読み出し回路R0及び読み出し回路R1は、当該第2初期値を、それぞれに繋がるメモリセルcから読み出す。読み出し回路R0及び読み出し回路R1は、メモリセルcから読み出した第2初期値を、レジスタ20-1_0に出力する。レジスタ20-1_0は、当該第2初期値を保持する。 The second initial value is stored in the memory cell c connected to each of the readout circuit R0 and the readout circuit R1. The address generation circuit 53 uses the row addresses WL0 to WL2 to select the memory cell c storing the second initial value. The readout circuit R0 and the readout circuit R1 read out the second initial value from the memory cell c connected thereto. The readout circuit R0 and the readout circuit R1 output the second initial value read from the memory cell c to the register 20-1_0. The register 20-1_0 holds the second initial value.
 再び、カウンタ19-15_14及びカウンタ19-1_0の説明に戻る。 Returning to the description of the counters 19-15_14 and 19-1_0.
 カウンタ19-15_14にはクロック信号CKが入力されている。クロック信号CKが立ち上がる度に、カウンタ19-15_14はカウント値を1つ下げる。すなわち、書き込み用インターフェース11にスパイク列Aの各桁のレベルが入力される度に、カウンタ19-15_14はカウント値を1つ下げる。そして、カウンタ19-15_14のカウント値が0に到達すると、カウンタ19-15_14は、当該到達時点においてシフト回路13-14のラッチL14に保持されている信号のレベルを“1”レベルに書き換える。具体的には、ラッチL14に保持されている信号のレベルが“1”レベルであれば、カウンタ19-15_14は当該“1”レベルを維持させる。一方、ラッチL14に保持されている信号のレベルが“0”レベルであれば、カウンタ19-15_14は当該“0”レベルを“1”レベルに書き換える。なお、カウンタ19-15_14に保持されるカウント値が0に到達すると、カウンタ19-15_14は、再び、当該カウント値を、レジスタ20-15_14に保持されている上記第1初期値とする。 A clock signal CK is input to the counter 19-15_14. Each time the clock signal CK rises, the counter 19-15_14 decrements the count value by one. That is, each time the level of each digit of the spike train A is input to the write interface 11, the counter 19-15_14 decrements the count value by one. Then, when the count value of the counter 19-15_14 reaches 0, the counter 19-15_14 rewrites the level of the signal held in the latch L14 of the shift circuit 13-14 at the time of arrival to "1" level. Specifically, if the level of the signal held in the latch L14 is "1" level, the counter 19-15_14 maintains the "1" level. On the other hand, if the level of the signal held in the latch L14 is "0" level, the counter 19-15_14 rewrites the "0" level to "1" level. When the count value held in the counter 19-15_14 reaches 0, the counter 19-15_14 again sets the count value as the first initial value held in the register 20-15_14.
 カウンタ19-15_14のカウント値が0に到達する度に、カウンタ19-15_14がラッチL14に保持されている信号のレベルを“1”レベルに書き換えるので、被乗数に相当するスパイク列Aに、乗数に相当する第1初期値を乗算する乗算処理が実行されたことになる。 Every time the count value of the counter 19-15_14 reaches 0, the counter 19-15_14 rewrites the level of the signal held in the latch L14 to "1" level, so that the spike train A corresponding to the multiplicand becomes Multiplication processing for multiplying the corresponding first initial value is executed.
 カウンタ19-1_0にはクロック信号CKが入力されている。クロック信号CKが立ち上がる度に、カウンタ19-1_0はカウント値を1つ下げる。すなわち、書き込み用インターフェース11にスパイク列Aの各桁のレベルが入力される度に、カウンタ19-1_0はカウント値を1つ下げる。そして、カウンタ19-1_0のカウント値が0に到達すると、カウンタ19-1_0は、当該到達時点においてシフト回路13-0のラッチL0に保持されている信号のレベルを“0”レベルに書き換える。具体的には、ラッチL0に保持されている信号のレベルが“0”レベルであれば、カウンタ19-1_0は当該“0”レベルを維持させる。一方、ラッチL14に保持されている信号のレベルが“1”レベルであれば、カウンタ19-1_0は当該“1”レベルを“0”レベルに書き換える。なお、カウンタ19-1_0に保持されるカウント値が0に到達すると、カウンタ19-1_0は、再び、当該カウント値を上記第2初期値とする。 A clock signal CK is input to the counter 19-1_0. Each time the clock signal CK rises, the counter 19-1_0 decrements the count value by one. That is, each time the level of each digit of the spike train A is input to the write interface 11, the counter 19-1_0 decrements the count value by one. Then, when the count value of the counter 19-1_0 reaches 0, the counter 19-1_0 rewrites the level of the signal held in the latch L0 of the shift circuit 13-0 to "0" level at the time of arrival. Specifically, if the level of the signal held in the latch L0 is "0" level, the counter 19-1_0 maintains the "0" level. On the other hand, if the level of the signal held in the latch L14 is "1" level, the counter 19-1_0 rewrites the "1" level to "0" level. When the count value held in the counter 19-1_0 reaches 0, the counter 19-1_0 again sets the count value as the second initial value.
 カウンタ19-1_0のカウント値が0に到達する度に、カウンタ19-1_0がラッチL14に保持されている信号のレベルを“0”レベルに書き換えるので、被除数に相当するスパイク列Aに、除数に相当する第2初期値を除算する除算処理が実行されたことになる。 Every time the count value of the counter 19-1_0 reaches 0, the counter 19-1_0 rewrites the level of the signal held in the latch L14 to "0" level, so that the spike train A corresponding to the dividend and the divisor A division process for dividing the corresponding second initial value is executed.
 以上のとおり、制御装置103Cによれば、乗算及び除算を行うことができる。 As described above, according to the control device 103C, multiplication and division can be performed.
 〔実施形態6〕
 本開示の実施形態6について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
[Embodiment 6]
A sixth embodiment of the present disclosure will be described below. For convenience of description, members having the same functions as those of the members described in the above embodiments are denoted by the same reference numerals, and description thereof will not be repeated.
 図6のとおり、本開示の実施形態6が上記実施形態1と異なる点は、制御装置103が、記憶装置102に代えて、記憶装置102Aに対し、書き込み動作及び読み出し動作を行う点である。 As shown in FIG. 6, the sixth embodiment of the present disclosure differs from the first embodiment in that the control device 103 performs write and read operations on the storage device 102A instead of the storage device 102. FIG.
 記憶装置102Aは、記憶装置102において、行アドレスWL0に繋がるメモリセルc0-0~c0-15を、メモリセルD0-0~D0-15にそれぞれ置き換えた構成を有する。同様に、行アドレスWL1に繋がるメモリセルc1-0~c1-15、及び、行アドレスWL2に繋がるメモリセルc2-0~c2-15、に関しても、メモリセルD0-0~D0-15と同一の構成であるメモリセルに置き換えられる。 The memory device 102A has a configuration in which the memory cells c0-0 to c0-15 connected to the row address WL0 in the memory device 102 are replaced with memory cells D0-0 to D0-15, respectively. Similarly, memory cells c1-0 to c1-15 connected to row address WL1 and memory cells c2-0 to c2-15 connected to row address WL2 are the same as memory cells D0-0 to D0-15. It is replaced by a memory cell that is a configuration.
 メモリセルD0-0~D0-15はそれぞれ同一の構成を有する。ここでは、メモリセルD0-15の構成について説明する。メモリセルD0-15は、第1セルD0-15-1と、第2セルD0-15-2とから構成される。第1セルD0-15-1は記憶装置102のメモリセルc0-15と同一の構成である。また、第2セルD0-15-2は、公知の連想メモリセルである。 The memory cells D0-0 to D0-15 have the same configuration. Here, the configuration of the memory cells D0-15 will be described. The memory cell D0-15 is composed of a first cell D0-15-1 and a second cell D0-15-2. The first cell D0-15-1 has the same configuration as the memory cell c0-15 of the storage device 102. FIG. Also, the second cell D0-15-2 is a known associative memory cell.
 制御装置103は、マッチ線ML0に接続されたメモリセルD0-0~D0-15の第1セルD0-0-1~D0-15-1に記憶された値のすべてが書き込み回路Wから入力される値と一致した場合、“1”レベルにプリチャージされたマッチ線ML0を“1”レベルに保持する。一方、制御装置103は、メモリセルD0-0~D0-15の第1セルD0-0-1~D0-15-1に記憶された値の少なくとも1つが書き込み回路Wから入力される値と異なる場合、マッチ線ML0を“0”レベルにディスチャージする。 The controller 103 receives from the write circuit W all the values stored in the first cells D0-0-1 to D0-15-1 of the memory cells D0-0 to D0-15 connected to the match line ML0. match line ML0 precharged to "1" level is held at "1" level. On the other hand, the controller 103 determines that at least one of the values stored in the first cells D0-0-1 to D0-15-1 of the memory cells D0-0 to D0-15 is different from the value input from the write circuit W. In this case, the match line ML0 is discharged to "0" level.
 なお、マッチ線ML0から出力される“1”レベル及び“0”レベルは、他の制御装置103の書き込み用インターフェース11に入力されても良い。この場合、マッチ線ML0からの出力される各レベルが他の制御装置103の書き込み用インターフェース11に入力されるスパイク列を構成する。 The "1" level and "0" level output from the match line ML0 may be input to the write interface 11 of another control device 103. In this case, each level output from the match line ML0 constitutes a spike train input to the write interface 11 of the other control device 103. FIG.
 以上のとおり、本実施形態6によれば、制御装置103が書き込み動作を行う場合において、記憶装置102Aのメモリセルアレイ51Aに記憶された値と、書き込み回路Wから入力される値とを比較することができる。 As described above, according to the sixth embodiment, when the control device 103 performs the write operation, the value stored in the memory cell array 51A of the storage device 102A is compared with the value input from the write circuit W. can be done.
 〔実施形態7〕
 本開示の実施形態7について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
[Embodiment 7]
Embodiment 7 of the present disclosure will be described below. For convenience of description, members having the same functions as those of the members described in the above embodiments are denoted by the same reference numerals, and description thereof will not be repeated.
 図7は、本開示の実施形態7に係るSC計算機構を実現する装置200の概略構成を示す図である。図7のとおり、装置200は、上記実施形態1の制御装置103と記憶装置102を二組並べた構成を備える。 FIG. 7 is a diagram showing a schematic configuration of a device 200 that implements an SC calculation mechanism according to Embodiment 7 of the present disclosure. As shown in FIG. 7, the device 200 has a configuration in which two sets of the control device 103 and the storage device 102 of the first embodiment are arranged.
 装置200によれば、上記実施形態1の書き込み動作及び読み出し動作を、各制御装置103が同時に実行可能となる。 According to the device 200, each control device 103 can simultaneously execute the write operation and the read operation of the first embodiment.
 なお、装置200において、上記実施形態1の制御装置103と記憶装置102に代えて、上記実施形態2の制御装置103と記憶装置102、上記実施形態3の制御装置103Aと記憶装置102、上記実施形態4の制御装置103Bと記憶装置102、上記実施形態5の制御装置103Cと記憶装置102、及び、上記実施形態5の制御装置103と記憶装置102A、のいずれかを二組並べた構成を備えても良い。 In the device 200, instead of the control device 103 and the storage device 102 of the first embodiment, the control device 103 and the storage device 102 of the second embodiment, the control device 103A and the storage device 102 of the third embodiment, and the Two sets of the control device 103B and the storage device 102 of the fourth embodiment, the control device 103C and the storage device 102 of the fifth embodiment, and the control device 103 and the storage device 102A of the fifth embodiment are arranged. can be
 また、装置200を構成する二組は互いに異なっても良い。例えば、一組目を上記実施形態1の制御装置103と記憶装置102とし、二組目を上記実施形態3の制御装置103Aと記憶装置102としても良い。また、装置200を構成する制御装置の組は二組に限られない。 Also, the two sets constituting the device 200 may be different from each other. For example, the first set may be the control device 103 and the storage device 102 of the first embodiment, and the second set may be the control device 103A and the storage device 102 of the third embodiment. Also, the number of sets of control devices that constitute the device 200 is not limited to two.
 〔実施形態8〕
 本開示の実施形態8について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
[Embodiment 8]
An eighth embodiment of the present disclosure will be described below. For convenience of description, members having the same functions as those of the members described in the above embodiments are denoted by the same reference numerals, and description thereof will not be repeated.
 図8は、本開示の実施形態8に係る制御装置の構成を説明するための図である。図8のとおり、本実施形態8に係る制御装置は、上記実施形態1の制御装置103において、シフト回路13-15のラッチL15を、ラッチLR15に置き換え、シフト回路13-14のゲートG14をゲートGR14に置き換えた構成を有する。 FIG. 8 is a diagram for explaining the configuration of a control device according to Embodiment 8 of the present disclosure. As shown in FIG. 8, the control device according to the eighth embodiment replaces the latch L15 of the shift circuit 13-15 with the latch LR15 in the control device 103 of the first embodiment, and replaces the gate G14 of the shift circuit 13-14 with the gate G14. It has a configuration replaced with GR14.
 ラッチLR15は、インダクタLR15-1と、キャパシタLR15-2とから構成される。ゲートGR14は遅延素子である。 The latch LR15 is composed of an inductor LR15-1 and a capacitor LR15-2. Gate GR14 is a delay element.
 なお、本実施形態8に係る制御装置では、ゲートG15を除くゲートGが、ゲートGR14又はゲートGR14と同一の構成であるゲートに置き換えられ、ラッチLが、ラッチLR15又はラッチLR15と同一の構成であるラッチに置き換えられる。 In the control device according to the eighth embodiment, the gates G except the gate G15 are replaced with the gate GR14 or gates having the same configuration as the gate GR14, and the latch L has the same configuration as the latch LR15 or the latch LR15. Replaced by some latches.
 本実施形態8の制御装置によっても上記実施形態1の制御装置103の書き込み動作及び読み出し動作を行うことができる。 The write operation and read operation of the control device 103 of the first embodiment can also be performed by the control device of the eighth embodiment.
 〔その他〕
 本開示は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本開示の技術的範囲に含まれる。
〔others〕
The present disclosure is not limited to the above-described embodiments, and various modifications are possible within the scope of the claims, and embodiments obtained by appropriately combining technical means disclosed in different embodiments is also included in the technical scope of the present disclosure.
 100 SC計算機構を実現する装置、101 演算装置、102 記憶装置、103 制御装置、11 書き込み用インターフェース、12 読み出し用インターフェース、13-0、13-1、13-14、13-15 シフト回路、14、19-15_14、19-1_0 カウンタ、51、51A メモリセルアレイ、15-1_0、15-15_14 セレクタ、16-15_14、16-1_0、20-15_14、20-1_0 レジスタ、17-15_14、17-1_0 比較器、18 AND回路、52 周辺回路、53 アドレス生成回路、54 メモリインターフェース、G0、G1、G14、G15 ゲート、L0、L1、L14、L15 ラッチ、B0、B1、B14、B15 バッファ

 
100 device for realizing SC calculation mechanism, 101 arithmetic device, 102 storage device, 103 control device, 11 write interface, 12 read interface, 13-0, 13-1, 13-14, 13-15 shift circuit, 14 , 19-15_14, 19-1_0 counter, 51, 51A memory cell array, 15-1_0, 15-15_14 selector, 16-15_14, 16-1_0, 20-15_14, 20-1_0 register, 17-15_14, 17-1_0 comparison 18 AND circuit 52 peripheral circuit 53 address generation circuit 54 memory interface G0, G1, G14, G15 gate L0, L1, L14, L15 latch B0, B1, B14, B15 buffer

Claims (9)

  1.  ストカスティックコンピューティング計算機構を実現する装置に含まれるメモリ用の制御装置であって、
     スパイク列が入力される書き込み用インターフェースと、
     スパイク列が出力される読み出し用インターフェースと、
     各々に入力される信号のレベルを保持する、複数のシフト回路と
    を備え、
     複数の前記シフト回路は、前記書き込み用インターフェースと前記読み出し用インターフェースとの間において直列接続されており、
     隣り合う2つの前記シフト回路同士において、前記書き込み用インターフェース側に位置する前記シフト回路は当該シフト回路が保持するレベルを、前記読み出し用インターフェース側に位置するシフト回路へ移動させ、
     各前記シフト回路の各々には、各前記シフト回路に保持されるレベルの書き込み及び読み出し可能な複数のメモリセルが接続されており、
     (i)スパイク列が前記書き込み用インターフェースから前記制御装置へ入力される場合には、
      各前記シフト回路は、
       前記書き込み用インターフェースから順次入力されるスパイク列の各桁のレベルを、前記書き込み用インターフェース側から前記読み出し用インターフェース側に向けて、隣り合う2つの前記シフト回路同士において移動させ、
       各前記桁のレベルが各々に対応する前記シフト回路に保持された後、各前記シフト回路が保持するレベルを、各前記シフト回路に接続された前記メモリセルに書き込み、
     (ii)前記制御装置が前記読み出し用インターフェースからスパイク列を出力する場合には、
      各前記シフト回路は、
       各前記シフト回路に接続された前記メモリセルから各桁のレベルを読み出し、
       各前記桁のレベルが各々に対応する前記シフト回路に保持された後、各前記シフト回路に保持されたレベルを、前記書き込み用インターフェース側から前記読み出し用インターフェース側に向けて、隣り合う2つの前記シフト回路同士において移動させる、制御装置。
    A controller for a memory included in a device implementing a stochastic computing computing mechanism, comprising:
    a writing interface into which a spike train is input;
    a readout interface that outputs a spike train;
    a plurality of shift circuits each holding a level of a signal input thereto,
    the plurality of shift circuits are connected in series between the write interface and the read interface;
    Among the two adjacent shift circuits, the shift circuit located on the write interface side shifts the level held by the shift circuit to the shift circuit located on the read interface side,
    Each of the shift circuits is connected to a plurality of memory cells capable of writing and reading the level held in each of the shift circuits,
    (i) when a spike train is input from the write interface to the controller,
    each said shift circuit,
    shifting the level of each digit of the spike train sequentially input from the write interface between the two adjacent shift circuits from the write interface side toward the read interface side;
    After the level of each digit is held in the corresponding shift circuit, the level held by each shift circuit is written into the memory cell connected to each shift circuit;
    (ii) when the control device outputs a spike train from the readout interface,
    each said shift circuit,
    reading the level of each digit from the memory cells connected to each of the shift circuits;
    After the levels of the respective digits are held in the corresponding shift circuits, the levels held in the respective shift circuits are transferred from the write interface side to the read interface side to the two adjacent digits. A controller for moving between shift circuits.
  2.  (i)前記書き込み用インターフェースから前記制御装置へ、複数の前記シフト回路の総数を超える桁数のスパイク列が入力される場合には、
      前記制御装置は、前記書き込み用インターフェースに、複数の前記シフト回路の総数と同数のレベルが入力された時点で、一旦、前記書き込み用インターフェースへのスパイク列の入力を停止し、
      各前記シフト回路は、各前記シフト回路が保持するレベルを、各前記シフト回路に接続された前記メモリセルに書き込み、
      前記制御装置は、再び、前記書き込み用インターフェースへのスパイク列の残余の桁のレベルの入力を開始し、
     (ii)前記制御装置が前記読み出し用インターフェースから、複数の前記シフト回路の総数を超える桁数のスパイク列を出力する場合には、
      各前記シフト回路は、各前記シフト回路に接続された前記メモリセルから各桁のレベルを読み出し、
      前記制御装置は、前記読み出し用インターフェースから、複数の前記シフト回路の総数と同数のレベルを出力した時点で、一旦、前記読み出し用インターフェースからのスパイク列の出力を停止し、
      各前記シフト回路は、再び、各前記シフト回路に接続された前記メモリセルから、スパイク列の残余の桁のレベルを読み出す、請求項1に記載の制御装置。
    (i) When a spike train with a number of digits exceeding the total number of the plurality of shift circuits is input from the write interface to the control device,
    The control device temporarily stops inputting the spike train to the write interface when the number of levels equal to the total number of the plurality of shift circuits is input to the write interface,
    each of the shift circuits writes the level held by each of the shift circuits into the memory cells connected to each of the shift circuits;
    The controller again initiates input of the levels of the remaining digits of the spike train to the write interface;
    (ii) when the control device outputs a spike train with a number of digits exceeding the total number of the plurality of shift circuits from the readout interface,
    each of the shift circuits reads out the level of each digit from the memory cells connected to each of the shift circuits;
    The control device temporarily stops outputting the spike train from the readout interface at the time when the readout interface outputs the same number of levels as the total number of the plurality of shift circuits,
    2. The control device according to claim 1, wherein each said shift circuit again reads the level of the remaining digits of the spike train from said memory cells connected to each said shift circuit.
  3.  カウンタを更に備え、
     前記カウンタは、
      前記書き込み用インターフェースに接続された前記シフト回路に保持されるレベルと前記読み出し用インターフェースに接続された前記シフト回路に保持されるレベルとが一致する場合には、当該カウンタに保持されるカウンタ値を維持し、
      前記書き込み用インターフェースに接続された前記シフト回路に保持されるレベルのみが“1”レベルである場合には、前記カウンタ値を1つ上げ、
      前記読み出し用インターフェースに接続された前記シフト回路に保持されるレベルのみが“1”レベルである場合には、前記カウンタ値を1つ下げ、
     前記カウンタ値は、各前記シフト回路に接続された前記メモリセルに書き込まれる、請求項1又は2に記載の制御装置。
    further comprising a counter,
    The counter is
    When the level held in the shift circuit connected to the write interface matches the level held in the shift circuit connected to the read interface, the counter value held in the counter is changed to maintain and
    when only the level held in the shift circuit connected to the write interface is "1" level, the counter value is incremented by one;
    when only the level held in the shift circuit connected to the readout interface is "1" level, the counter value is decremented by one;
    3. The control device according to claim 1, wherein said counter value is written into said memory cell connected to each said shift circuit.
  4.  最大値を保持する第1レジスタと、
     最小値を保持する第2レジスタと、
     前記カウンタに保持されたカウント値と前記第1レジスタに保持された前記最大値とを大小比較する第1比較器と、
     前記カウンタに保持されたカウント値と前記第2レジスタに保持された前記最小値とを大小比較する第2比較器と、
     前記第1比較器及び前記第2比較器に接続されたAND回路と
    を備え、
     前記第1比較器は、前記カウンタに保持された前記カウント値が前記第1レジスタに保持された前記最大値以下である場合に“1”レベルの信号を前記AND回路に出力し、
     前記第2比較器は、前記カウンタに保持された前記カウント値が前記第2レジスタに保持された前記最小値以上である場合に“1”レベルの信号を前記AND回路に出力する、請求項3に記載の制御装置。
    a first register holding a maximum value;
    a second register holding a minimum value;
    a first comparator that compares the count value held in the counter and the maximum value held in the first register;
    a second comparator that compares the count value held in the counter and the minimum value held in the second register;
    An AND circuit connected to the first comparator and the second comparator,
    the first comparator outputs a "1" level signal to the AND circuit when the count value held in the counter is equal to or less than the maximum value held in the first register;
    4. The second comparator outputs a "1" level signal to the AND circuit when the count value held in the counter is equal to or greater than the minimum value held in the second register. The control device according to .
  5.  第1カウンタと、
     第2カウンタと、
     前記第1カウンタに保持されるカウント値の初期値である第1初期値を保持する第1レジスタと、
     前記第2カウンタに保持されるカウント値の初期値である第2初期値を保持する第2レジスタと
    を更に備え、
     (i)前記書き込み用インターフェースにスパイク列の各桁のレベルが入力される度に、前記第1カウンタは、前記第1カウンタに保持されるカウント値を1つ下げ、
     前記第1カウンタの前記カウント値が0に到達すると、当該到達時点において、前記第1カウンタは、
      前記書き込み用インターフェースに接続された前記シフト回路に保持されるレベルを“1”レベルに書き換え、
      再び、当該カウント値を前記第1初期値とし、
     (ii)前記書き込み用インターフェースにスパイク列の各桁のレベルが入力される度に、前記第2カウンタは、前記第2カウンタに保持されるカウント値を1つ下げ、
     前記第2カウンタの前記カウント値が0に到達すると、当該到達時点において、前記第2カウンタは、
      前記読み出し用インターフェースに接続された前記シフト回路に保持されるレベルを“0”レベルに書き換え、
      再び、当該カウント値を前記第2初期値とする、請求項1から4のいずれかに記載の制御装置。
    a first counter;
    a second counter;
    a first register that holds a first initial value that is the initial value of the count value held in the first counter;
    a second register that holds a second initial value that is the initial value of the count value held in the second counter;
    (i) each time the level of each digit of the spike train is input to the write interface, the first counter decrements the count value held in the first counter by one;
    When the count value of the first counter reaches 0, at the time of arrival, the first counter
    rewriting the level held in the shift circuit connected to the write interface to "1"level;
    Again, with the count value as the first initial value,
    (ii) each time the level of each digit of the spike train is input to the write interface, the second counter decrements the count value held in the second counter by one;
    When the count value of the second counter reaches 0, at the time of arrival, the second counter
    rewriting the level held in the shift circuit connected to the readout interface to "0"level;
    5. The control device according to claim 1, wherein said count value is used as said second initial value again.
  6.  各前記シフト回路の各々には、複数の連想メモリセルが接続されており、
     各前記桁のレベルが各々に対応する前記シフト回路に保持された後、
      各前記シフト回路が保持するレベルのすべてが各前記シフト回路に接続された前記メモリセルに保持されたレベルと一致した場合、前記各連想メモリセルに接続されたマッチ線は“1”レベルを出力し、
      各前記シフト回路が保持するレベルのうちの少なくとも1つが各前記シフト回路に接続された前記メモリセルに保持されたレベルと異なる場合、前記マッチ線は“0”レベルを出力する、請求項1から5のいずれかに記載の制御装置。
    A plurality of associative memory cells are connected to each of the shift circuits,
    After the level of each said digit is held in said corresponding shift circuit,
    When all the levels held by the shift circuits match the levels held in the memory cells connected to the shift circuits, the match lines connected to the associative memory cells output "1" level. death,
    2. The match line outputs a "0" level when at least one of the levels held by each shift circuit is different from the level held in the memory cell connected to each shift circuit. 6. The control device according to any one of 5.
  7.  前記制御装置を複数個並べた、請求項1から6のいずれかに記載の制御装置。 The control device according to any one of claims 1 to 6, wherein a plurality of said control devices are arranged.
  8.  各前記シフト回路は、ゲートと、ラッチと、バッファとを含む、請求項1から7のいずれかに記載の制御装置。 The control device according to any one of claims 1 to 7, wherein each said shift circuit includes a gate, a latch and a buffer.
  9.  各前記シフト回路は、キャパシタと、インダクタと、遅延素子とを含む、請求項1から7のいずれかに記載の制御装置。

     
    8. A control device as claimed in any preceding claim, wherein each said shift circuit comprises a capacitor, an inductor and a delay element.

PCT/JP2022/006801 2021-02-24 2022-02-21 Control device WO2022181507A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023502366A JPWO2022181507A1 (en) 2021-02-24 2022-02-21

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021027859 2021-02-24
JP2021-027859 2021-02-24

Publications (1)

Publication Number Publication Date
WO2022181507A1 true WO2022181507A1 (en) 2022-09-01

Family

ID=83048930

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/006801 WO2022181507A1 (en) 2021-02-24 2022-02-21 Control device

Country Status (2)

Country Link
JP (1) JPWO2022181507A1 (en)
WO (1) WO2022181507A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0240192A (en) * 1988-07-29 1990-02-08 Mitsubishi Electric Corp Semiconductor memory performable serial access operation
JPH04277857A (en) * 1991-03-05 1992-10-02 Nec Corp Function memory
JPH04351788A (en) * 1991-05-29 1992-12-07 Sanyo Electric Co Ltd Semiconductor memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0240192A (en) * 1988-07-29 1990-02-08 Mitsubishi Electric Corp Semiconductor memory performable serial access operation
JPH04277857A (en) * 1991-03-05 1992-10-02 Nec Corp Function memory
JPH04351788A (en) * 1991-05-29 1992-12-07 Sanyo Electric Co Ltd Semiconductor memory

Also Published As

Publication number Publication date
JPWO2022181507A1 (en) 2022-09-01

Similar Documents

Publication Publication Date Title
CN110414677B (en) Memory computing circuit suitable for full-connection binarization neural network
US5184325A (en) Dynamic associative memory with logic-in-refresh
CN109979503B (en) Static random access memory circuit structure for realizing Hamming distance calculation in memory
CN108736883B (en) Non-volatile bistable flip-flop monotonic counter and method of implementing same
WO2022193510A1 (en) Refresh control circuit and memory
NL8201081A (en) SEMICONDUCTOR MEMORY ORGAN.
US4528665A (en) Gray code counter with error detector in a memory system
US4016409A (en) Longitudinal parity generator for use with a memory
WO2022181507A1 (en) Control device
JP5916563B2 (en) Associative memory
US4549283A (en) Digital time delay circuit with high speed and large delay capacity
US10733049B2 (en) Semiconductor device and error management method
JPS603714B2 (en) variable length shift register
Bazzi et al. Dna pattern matching acceleration with analog resistive cam
SU337950A1 (en) FERRITE-TRANSISTOR BINARY DYNAMIC COUNTER
US11373711B2 (en) Address counting circuit and semiconductor device including the address counting circuit
SU1437920A1 (en) Associative storage
SU693408A1 (en) Pseudorandom number generator
KR950011034B1 (en) Random number generating combination logic circuit
SU1314386A1 (en) Content-addressable storage
SU963099A1 (en) Logic storage device
SU1363307A1 (en) Associative on-line memory
JP2667702B2 (en) Pointer reset method
SU769621A1 (en) Buffer storage
SU780041A1 (en) Associative storage

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22759543

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023502366

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22759543

Country of ref document: EP

Kind code of ref document: A1