CM1K Hardware User’s Manual
40
The control commands sent to the parallel bus can be received from two types of sources:
-
An external master controller
-
One of the two internal master controllers residing in the CM1K chip and which comprise the recognition
stage or the I2C slave controller. This second case is only relevant in an architecture with multiple daisy-
chained chips where one of them has its pin I2C_EN high and/or RECO_EN high. The bus lines become
bidirectional to allow the neurons of the different chips to receive the commands and mix their responses
on the bus during the learning or recognition operations.
6.2.1
DS
The data strobe line, DS, must be asserted and de-asserted at the negative edge of G_CLK. It must be asserted only
when the RDY line is high.
6.2.2
RW_
The Read/Write line, RW_, must be low to write and high to read. It is low by default. This signal is sampled on the
positive edge of G_CLK when DS is high.
6.2.3
REG[4:0]
The five Register lines, REG, represent the 5-bit address of the register to read or write. They are sampled on the
positive edge of G_CLK when DS is high.
6.2.4
DATA[15:0]
The 16 DATA lines are connected to open collectors and can have three different states:
-
During a write operation (CM_RW low and DS high), DATA is the 16-bit value to write to the selected
register. It is sampled by the neurons at the positive edge of G_CLK when DS is high and RW is low.
-
At the end of a read operation (RW high and RDY rising), DATA is the 16-bit value of the selected register.
It can be read on or after the rising edge of CM_RDY after the fall of DS. The default output value is
0xFFFF.
-
During the execution of the commands which last more than one clock cycles, the DATA lines must be
released to allow the mixing and snooping of the responses of all the neurons connected in parallel in a
same chain. These operations are the Write LCOMP, Write CAT, Read DIST and Read CAT.
6.2.5
ID_
The Identified line, ID_, is pulled down when all the neurons recognizing the last input vector are all in agreement
and return the same category. This line is updated each time the last component of a vector is broadcasted to the
neurons either through a Write LCOMP command or through the real-time recognition logic of the CM1K. The
actual update occurs at the 3
rd
negative edge of the clock during the execution of the Write LCOMP. The ID_ line is
released at the next Write COMP.
The ID_ line is also continuously latched in bit [3] of the NSR and RSR registers of the chip at the positive edge of
the clock.
The ID_ line is erroneous in the CM1K when more than 416 neurons are committed in the chip. This impacts also
the readout of the NSR and RSR registers. Refer to the Erratum at the end of this manual for a description of the
problem and its simple work around.
6.2.6
UNC_
The Uncertain line, UNC_, line is bidirectional and shall not be driven. It is an output during a recognition operation
and an input during a learning operation.