Innovative Applications of Associative Memory in Modern Electronic Devices

 
Applicazione con al centro
dispositivi moderni elettronici
 
FPGA combinati con ASIC specifici
Le Memorie Associative
2 possibili applicazioni 
 Smart Systems
 
Decodifica di errori e correzione
Processamento di immagini 
 Smart Cameras
Scopo pubblicitario per vetrine, cartelloni o video
Monitoring di ambienti di lavoro con rischi
Scopo educativo: presso casonetti per raccolta
differenziata, per turisti presso monumenti un po’ isolati
Decodifica codici genetici
 
 
 
RAM
 
Indirizzo
 
DATO
 
Indirizzo
 
USO della Memoria Associativa
 
Content Addressable Memory  (CAM)
 
Look-up Table
 
Ma: se 
S
 e’ un dato a 
32
 bit
e solo un piccolo
sottoinsieme  di S e’ valido?
 
ESEMPIO  DI UTILITA’ DELLA CAM
 
S
 
E
 
Indirizzo
 
2
bitS
 
locazioni
 
S
 
E
 
Nlocazioni
= N S validi
 
P
A
T
T
E
R
N
 
 
M
A
T
C
H
I
N
G
 
W
e
 
n
e
e
d
 
a
 
H
i
g
h
l
y
P
a
r
a
l
l
e
l
i
z
e
d
 
 
C
o
m
p
a
r
i
s
o
n
HOW we can do it?
HOW we can do it?
pattern
Bus_layer0     Bus_layer1    Bus_layer2              ……..                Bus_layer7
layer0
layer1
layer2
layer7
pattern0
pattern1
pattern2
pattern3
layer0
layer1
layer2
layer7
 
….
-
 
v
e
r
y
 
p
a
r
a
l
l
e
l
i
z
e
d
 
A
S
I
C
 
x
 
p
a
t
t
e
r
n
 
m
a
t
c
h
i
n
g
 
128 k
 patterns
2,3 W core consumption at full speed
(
100 MHz 
clock)
Each 10 ns: 
128 k*8*16 bit comparisons
 
CAN BE USED
as 16*8 bits single word CAM
 
Or as 8 independent words of
16 bits each
Working
 Example
Saverio Citraro – University  of  Pisa & INFN                  
 
 WASC14 Conference
 
                                                
30 June 2014 - 6/15
 
How 
it 
could be used
 with its full functionality
?
 
Saverio Citraro – University  of  Pisa & INFN                  
 
 WASC14 Conference
 
                                                
30 June 2014 - 4/15
 
 
 Let me do this Example:
Hypothetic Situation (just to explain the idea)
 
 
Hundreds
 of 
measurements
 from different sensors
 
like thermometers, anemometers, barometers  .
 
 AM  searches for 
coincidences
 between the
 
different input 
data
 
streams
.
 Training Phase: for a growing 
tornado
.
 
 
Analysis Phase: 
Acquire
 
data
 and look the
 
response.
 
 In order to 
improve
 the 
efficiency
 of the system,
 
we can 
update
 the significant 
data
 in the
 
memory,
 learning from the “past experience”.
 
History
History
 
9
0
s
 
F
u
l
l
 
c
u
s
t
o
m
 
V
L
S
I
 
c
h
i
p
 
 
0
,
7
 
m
m
 
A
M
S
 
(
I
N
F
N
-
P
i
s
a
)
 
1
2
8
p
a
t
t
e
r
n
s
,
 
6
x
1
2
 
b
i
t
 
w
o
r
d
s
 
e
a
c
h
 
(
F
.
 
M
o
r
s
a
n
i
 
e
t
 
a
l
.
,
 
T
h
e
 
A
M
 
c
h
i
p
:
 
a
F
u
l
l
-
c
u
s
t
o
m
 
M
O
S
 
V
L
S
I
 
A
s
s
o
c
i
a
t
i
v
e
 
m
e
m
o
r
y
 
f
o
r
 
P
a
t
t
e
r
n
 
R
e
c
o
g
n
i
t
i
o
n
,
I
E
E
E
 
T
r
a
n
s
.
 
o
n
 
N
u
c
l
.
 
S
c
i
.
,
v
o
l
.
 
3
9
,
 
p
p
.
 
7
9
5
-
7
9
7
 
(
1
9
9
2
)
.
)
 
2
5
 
M
H
z
c
l
o
c
k
1
9
9
8
 
F
P
G
A
 
(
X
i
l
i
n
x
 
5
0
0
0
)
 
f
o
r
 
t
h
e
 
s
a
m
e
 
A
M
c
h
i
p
 
(
P
.
 
G
i
a
n
n
e
t
t
i
 
e
t
 
a
l
.
,
A
 
P
r
o
g
r
a
m
m
a
b
l
e
 
A
s
s
o
c
i
a
t
i
v
e
 
M
e
m
o
r
y
 
f
o
r
 
T
r
a
c
k
 
F
i
n
d
i
n
g
,
 
N
u
c
l
.
 
I
n
t
s
r
.
a
n
d
 
M
e
t
h
.
,
 
v
o
l
.
 
A
 
4
1
3
/
2
-
3
,
 
p
p
.
3
6
7
-
3
7
3
,
 
(
1
9
9
8
)
 
)
.
1
9
9
9
 
f
i
r
s
t
 
s
t
a
n
d
a
r
d
 
c
e
l
l
 
p
r
o
j
e
c
t
 
p
r
e
s
e
n
t
e
d
 
a
t
 
L
H
C
C
2
0
0
6
 
A
M
C
h
i
p
 
0
3
 
S
t
a
n
d
a
r
d
 
C
e
l
l
 
U
M
C
 
0
,
1
8
 
m
m
,
 
5
k
 
p
a
t
t
e
r
n
s
 
i
n
1
0
0
 
m
m
2
 
f
o
r
 
C
D
F
 
S
V
T
 
u
p
g
r
a
d
e
 
t
o
t
a
l
:
 
A
M
 
p
a
t
t
e
r
n
s
 
(
L
.
 
S
a
r
t
o
r
i
,
 
A
.
A
n
n
o
v
i
 
e
t
 
a
l
.
,
 
A
 
V
L
S
I
 
P
r
o
c
e
s
s
o
r
 
f
o
r
 
F
a
s
t
 
T
r
a
c
k
 
F
i
n
d
i
n
g
 
B
a
s
e
d
 
o
n
C
o
n
t
e
n
t
 
A
d
d
r
e
s
s
a
b
l
e
 
M
e
m
o
r
i
e
s
,
 
I
E
E
E
 
T
N
S
,
 
V
o
l
 
5
3
,
 
I
s
s
u
e
 
4
,
 
P
a
r
t
 
2
,
A
u
g
.
 
2
0
0
6
)
.
 
5
0
 
M
H
z
 
c
l
o
c
k
2
0
1
2
 
A
M
c
h
i
p
0
4
 
(
F
u
l
l
 
c
u
s
t
o
m
/
S
t
d
 
c
e
l
l
)
 
T
S
M
C
 
6
5
 
n
m
 
L
P
t
e
c
h
n
o
l
o
g
y
,
 
8
k
 
p
a
t
t
e
r
n
s
 
i
n
 
1
4
m
m
2
 
P
a
t
t
e
r
n
 
d
e
n
s
i
t
y
 
x
1
2
.
 
F
i
r
s
t
v
a
r
i
a
b
l
e
 
r
e
s
o
l
u
t
i
o
n
 
i
m
p
l
e
m
e
n
t
a
t
i
o
n
.
 
(
F
.
 
A
l
b
e
r
t
i
 
e
t
 
a
l
,
 
2
0
1
3
 
J
I
N
S
T
 
&
C
0
1
0
4
0
,
 
d
o
i
:
1
0
.
1
0
8
8
/
1
7
4
8
-
0
2
2
1
/
8
/
0
1
/
C
0
1
0
4
0
)
 
1
0
0
 
M
H
z
2
0
1
3
 
A
M
c
h
i
p
0
5
,
 
4
k
 
p
a
t
t
e
r
n
s
 
 
i
n
 
1
2
 
m
m
2
 
a
 
f
u
r
t
h
e
r
 
s
t
e
p
 
t
o
w
a
r
d
s
f
i
n
a
l
 
A
M
c
h
i
p
 
v
e
r
s
i
o
n
.
 
S
e
r
i
a
l
i
z
e
d
 
I
/
O
 
b
u
s
e
s
 
a
t
 
2
 
G
b
s
,
 
f
u
r
t
h
e
r
p
o
w
e
r
 
r
e
d
u
c
t
i
o
n
 
a
p
p
r
o
a
c
h
.
 
B
G
A
 
2
3
x
2
3
 
p
a
c
k
a
g
e
.
2
0
1
4
 
A
M
c
h
i
p
0
6
:
 
1
2
8
k
 
p
a
t
t
e
r
n
s
 
i
n
 
1
8
0
 
m
m
2
.
 
F
i
n
a
l
 
v
e
r
s
i
o
n
o
f
 
t
h
e
 
A
M
c
h
i
p
 
f
o
r
 
t
h
e
 
A
T
L
A
S
 
e
x
p
e
r
i
m
e
n
t
.
A
T
L
A
S
C
D
F
Associative Memory (AM)
Associative Memory (AM)
~3000 Chips
available
 
Possible Ideas   (1)
 
A smart camera 
including
 an FPGA and a
AMchip
 
AM simulation
To apply here
the AM
 
Calliope et al. (IAPP-Fp7)
Will work in this
Area
 
HW, SW, FW  -
3 persons 18 months
Prototype construction
Application with the AM inserted
into 2 positions in the processing
chain
 
 
FTK  SPINOFF
/www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0069154
M. Del Viva, G. Punzi
 
10
 
AM: a filter 
AM: a filter 
to detect the IMAGE relevant features
to detect the IMAGE relevant features
 
H
E
P
 
F
I
L
T
E
R
I
N
G
 
N
A
T
U
R
A
L
I
M
A
G
E
S
:
 
e
d
g
e
 
d
e
t
e
c
t
o
r
 
A
M
 
a
s
 
n
e
u
r
o
n
s
?
F
i
l
t
e
r
e
d
 
i
m
a
g
e
s
 
a
r
e
 
c
l
e
a
r
 
t
o
h
u
m
a
n
 
e
y
e
s
 
B/W                            
...
               2
9
=512 patterns:  101-010-100, …….  ,   111-011-001
 
4 gray level                 
...                
2
18
= 256 Kpatterns:  00,00,01-00,01,00-11,00,10 …..
B/W  +  time                     2
27
= 128 Mpatterns:  
111,000,000 - 000,111,000 - 000,000,000  …
 
T
r
a
i
n
i
n
g
:
 
C
a
l
c
u
l
a
t
e
 
t
h
e
 
f
r
e
q
u
e
n
c
y
 
o
f
 
e
a
c
h
 
p
a
t
t
e
r
n
 
i
n
 
t
h
e
 
i
m
a
g
e
 
S
E
L
E
C
T
 
t
h
e
 
R
E
L
E
V
A
N
T
s
to be PUT in the AM BANK
 
Accepting only
these 50 patterns
 
Accepting only
these 16 patterns
 
9.8%
 
5.5%
 
4 grey level:
2
18
 patterns
Stored  N=2000
= 1/64 di 1 chip
= 50 mW
 
11
 
H
O
W
 
w
e
 
u
s
e
 
t
h
e
 
A
M
 
t
o
 
f
i
l
t
e
r
 
i
m
a
g
e
s
?
 
W
e
 
b
u
i
l
d
 
s
m
a
l
l
 
a
r
r
a
y
s
 
o
f
 
p
i
x
e
l
s
 
(
3
x
3
 
f
o
r
 
s
t
a
t
i
c
 
i
m
a
g
e
s
 
o
r
3
x
3
x
3
 
f
o
r
 
m
o
v
i
e
s
)
 
t
h
a
t
 
a
r
e
 
A
M
 
p
a
t
t
e
r
n
s
 
-
 
M
.
 
D
e
l
 
V
i
v
a
,
 
G
.
 
P
u
n
z
i
How we 
How we 
select
select
 the 
 the 
relevant patterns 
relevant patterns 
to be
to be
s
s
t
t
o
o
r
r
e
e
d
d
 
 
i
i
n
n
 
 
t
t
h
h
e
e
 
 
 
 
A
A
M
M
 
 
b
b
a
a
n
n
k
k
?
?
 
Patterns that are
efficient carriers
of information
given the bandwidth (W)
&memory limits (N),
 
All 512 patterns
 
W=0.5, N=50
 
W=0.5, N=16
 
Low p
 
under real constraints
 
M. Del Viva e G. Punzi
(Universita’ di Firenze e
Universita’ di Pisa)
 
CLEAR to human eyes
 
Michela Del Viva e Giovanni Punzi  (Universita’ di Firenze e Universita’ di Pisa)
 
Michela Del Viva e Giovanni Punzi  (Universita’ di Firenze e Universita’ di Pisa)
 
Michela Del Viva e Giovanni Punzi  (Universita’ di Firenze e Universita’ di Pisa)
A. Annovi et al., "A fast FPGA-based clustering algorithm for
real time image processing," NSS Conference Record
(NSS/MIC), 2009 IEEE, pp.4138,4141, Oct. 24-Nov. 1 2009
 
Step (2): Clustering contiguous pixels over
threshold – very suited for FPGAs
 
Conclusions on Smart Systems
 
Many possibilities to be studied – implemented for
applications.  An example 
smart cameras
 
Needed money to pay people in the project
 
We would like to apply to Horizon 2020
 
ITN, Cofund, FET, Pillar II (we have a SME interested
& greek & french colleagues)  ?
 
Regional funds?
 
 
 
Slide Note
Embed
Share

Explore the diverse applications of combining FPGA with specific ASICs and associative memories in smart systems, error decoding, image processing, advertising displays, and workplace monitoring. Learn about Content Addressable Memory (CAM) utilization, pattern matching techniques, and real-life examples showcased at the WASC14 Conference. Discover how this technology can be harnessed for tasks like genetic code decoding and smart camera operations.

  • Associative Memory
  • FPGA
  • ASIC
  • Pattern Matching
  • Smart Systems

Uploaded on Sep 11, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Applicazione con al centro dispositivi moderni elettronici FPGA combinati con ASIC specifici Le Memorie Associative 2 possibili applicazioni Smart Systems Decodifica di errori e correzione Processamento di immagini Scopo pubblicitario per vetrine, cartelloni o video Monitoring di ambienti di lavoro con rischi Scopo educativo: presso casonetti per raccolta differenziata, per turisti presso monumenti un po isolati Decodifica codici genetici Smart Cameras

  2. USO della Memoria Associativa Content Addressable Memory (CAM) Indirizzo DATO DATO Indirizzo RAM CAM

  3. ESEMPIO DI UTILITA DELLA CAM set of syndrome patterns set of error patterns Look-up Table DATO Indirizzo RAM Sp1 Ep1 S E Sp2 Ep2 2bitS locazioni Sp3 Ep3 Ma: se S e un dato a 32 bit e solo un piccolo sottoinsieme di S e valido? Sp... Ep... CAM DATO Indirizzo Indirizzo DATO RAM Nlocazioni = N S validi E S

  4. HOW we can do it? PATTERN MATCHING We need a Highly Parallelized Comparison The Event The Pattern Bank ...

  5. - very parallelized ASIC x pattern matching pattern Bus_layer0 Bus_layer1 Bus_layer2 .. Bus_layer7 pattern0 layer0 layer2 layer1 layer7 pattern1 layer1 layer7 layer2 layer0 pattern2 pattern3 128 k patterns 2,3 W core consumption at full speed (100 MHz clock) Each 10 ns: 128 k*8*16 bit comparisons CAN BE USED as 16*8 bits single word CAM . Or as 8 independent words of 16 bits each

  6. Working Example Coinciden ce ce Coinciden Matc h Matc h Matc h Matc h Matc h Matc h OUTPUT Matc h Matc h Matc h Matc h Matc h Matc h Matc h OUTPUT Saverio Citraro University of Pisa & INFN WASC14 Conference 30 June 2014 - 6/15

  7. How it could be used with its full functionality? Let me do this Example: Hypothetic Situation (just to explain the idea) Hundreds of measurements from different sensors like thermometers, anemometers, barometers . AM searches for coincidences between the different input data streams. Training Phase: for a growing tornado. Analysis Phase: Acquire data and look the response. In order to improve the efficiency of the system, we can update the significant data in the memory, learning from the past experience . Saverio Citraro University of Pisa & INFN WASC14 Conference 30 June 2014 - 4/15

  8. History Associative Memory (AM) 90 s Full custom VLSI chip 0,7 mm AMS (INFN-Pisa) 128 patterns, 6x12 bit words each (F. Morsani et al., The AM chip: a Full-custom MOS VLSI Associative memory for Pattern Recognition, IEEE Trans. on Nucl. Sci.,vol. 39, pp. 795-797 (1992).) 25 MHz clock 1998 FPGA (Xilinx 5000) for the same AMchip (P. Giannetti et al., A Programmable Associative Memory for Track Finding, Nucl. Intsr. and Meth., vol. A 413/2-3, pp.367-373, (1998) ). 1999 first standard cell project presented at LHCC 2006 AMChip 03 Standard Cell UMC 0,18 mm, 5k patterns in 100 mm2for CDF SVT upgrade total: AM patterns (L. Sartori, A. Annovi et al., A VLSI Processor for Fast Track Finding Based on Content Addressable Memories, IEEE TNS, Vol 53, Issue 4, Part 2, Aug. 2006). 50 MHz clock 2012 AMchip04 (Full custom/Std cell) TSMC 65 nm LP technology, 8k patterns in 14mm2Pattern density x12. First variable resolution implementation. (F. Alberti et al, 2013 JINST & C01040, doi:10.1088/1748-0221/8/01/C01040) 100 MHz 2013 AMchip05, 4k patterns in 12 mm2a further step towards final AMchip version. Serialized I/O buses at 2 Gbs, further power reduction approach. BGA 23x23 package. 2014 AMchip06: 128k patterns in 180 mm2. Final version of the AMchip for the ATLAS experiment. CDF ~3000 Chips available ATLAS

  9. Possible Ideas (1) A smart camera including an FPGA and a AMchip Calliope et al. (IAPP-Fp7) Will work in this Area AM simulation To apply here the AM HW, SW, FW - 3 persons 18 months Prototype construction Application with the AM inserted into 2 positions in the processing chain

  10. FTK SPINOFF /www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0069154 M. Del Viva, G. Punzi AM: a filter to detect the IMAGE relevant features HEP FILTERING NATURAL IMAGES: edge detector AM as neurons? Filtered images are clear to human eyes 10

  11. HOW we use the AM to filter images? We build small arrays of pixels (3x3 for static images or 3x3x3 for movies) that are AM patterns - M. Del Viva, G. Punzi B/W ... 29=512 patterns: 101-010-100, . , 111-011-001 4 gray level ... 218= 256 Kpatterns: 00,00,01-00,01,00-11,00,10 .. B/W + time 227= 128 Mpatterns: 111,000,000 - 000,111,000 - 000,000,000 Training: Calculate the frequency of each pattern in the image Accepting only these 50 patterns 4 grey level: 218patterns Stored N=2000 = 1/64 di 1 chip = 50 mW Accepting only these 16 patterns SELECT the RELEVANTs to be PUT in the AM BANK 5.5% 9.8% 11

  12. How we select the relevant patterns to be stored in the AM bank? under real constraints Patterns that are efficient carriers of information given the bandwidth (W) &memory limits (N), All 512 patterns W=0.5, N=50 W=0.5, N=16 Low p M. Del Viva e G. Punzi (Universita di Firenze e Universita di Pisa)

  13. CLEAR to human eyes Michela Del Viva e Giovanni Punzi (Universita di Firenze e Universita di Pisa)

  14. Michela Del Viva e Giovanni Punzi (Universita di Firenze e Universita di Pisa)

  15. Michela Del Viva e Giovanni Punzi (Universita di Firenze e Universita di Pisa)

  16. Step (2): Clustering contiguous pixels over threshold very suited for FPGAs A. Annovi et al., "A fast FPGA-based clustering algorithm for real time image processing," NSS Conference Record (NSS/MIC), 2009 IEEE, pp.4138,4141, Oct. 24-Nov. 1 2009

  17. Conclusions on Smart Systems Many possibilities to be studied implemented for applications. An example smart cameras Needed money to pay people in the project We would like to apply to Horizon 2020 ITN, Cofund, FET, Pillar II (we have a SME interested & greek & french colleagues) ? Regional funds?

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#