“Modelo no-lineal de Memristores - VLSILAB Cinvestav€¦ · Bloque 1: Memristor 4Z Respuesta del...

Post on 27-Sep-2018

218 views 0 download

Transcript of “Modelo no-lineal de Memristores - VLSILAB Cinvestav€¦ · Bloque 1: Memristor 4Z Respuesta del...

Ciudad de México, Diciembre 2016

VLSI

v3.2

“Modelo no-lineal de Memristores

basado en red neuronal artificial”

Presenta:

Ing. Mario Alberto Gutiérrez Mondragón

Directores de Tesis:

Dr. J. Antonio Moreno Cadenas

Dr. Felipe Gómez Castañeda

Presentación final de Tesis

2:05 p. m.

• Objetivos

• Bloque 1: El Memristor.

▫ Aspectos teóricos

▫ Modelos

▫ Sistema de Memristor en Simulink®

▫ Aplicación

• Bloque 2: Redes Neuronales Artificiales.

▫ Modelo de Neurona Básico

▫ Arquitectura de Red

▫ Entrenamiento a través de Matlab®

▫ Representación mediante Simulink®

• Bloque 3: Implementación Digital en FPGA.

▫ Diagrama esquemático general

▫ Unidades de procesamiento

▫ Resultados

• Conclusiones

• Trabajo Futuro

Contenido

2

3

• Objetivos Específicos:

• Objetivo General:Desarrollo de una metodología de modelado de memristores haciendo uso de redes neuronales

artificiales.

Estudio del Memristor

Base de Datos

Implementación Digital

Arquitectura de red

ModelosSistema a bloques

AplicaciónPruebaRepresentación

Reproducción

Metodología

Aprox.

No-Lineal

Revisión

Objetivos

El Memristor Bloque 1

2:05 p. m.

• Relación constitutiva del Memristor:

𝜑 = 𝜑(𝑞)

𝑞 = 𝑞(𝜑)

𝑑𝑞

𝑑𝑡=

)𝑑 𝑞(𝜑

𝑑𝜑

𝑑𝜑

𝑑𝑡

▫ Controlado por corriente:

𝑅𝑀 𝑞 ≜)𝑑 𝜑(𝑞

𝑑𝑞

𝑣 = 𝑀(𝑞)𝑖

𝑑𝜑

𝑑𝑡=

)𝑑 𝜑(𝑞

𝑑𝑞

𝑑𝑞

𝑑𝑡

▫ Controlado por voltaje:

𝐺(𝜑) ≜)𝑑 𝑞(𝜑

𝑑𝜑

𝑖 = 𝐺(𝜑)𝑣

C(q,v)=0

v i

φq

Resistor

Inductor

Memristor

Capacitor

Coulomb Weber

Volts Amperes

L(φ,i)=0

M(φ,q)=0

R(v,i)=0𝑣

𝑖

7

f(q)φ

q

g(φ)q

φInv.

( ( ))

GM(φ)

q

φ

𝑑( )

𝑑𝜑 ( ) 𝑑𝜑 ( ) 𝑑𝑞

𝑑( )

𝑑𝑞

RM(q)

q

φ

Relaciones Constitutivas

Co

ntr

ola

do

po

r Flu

jo

Co

ntr

ola

do

po

r C

arg

a

RM(q)

GM(φ)

RM(q) GM(φ)

Expresión analítica de la variable de salida

i 𝑡 = 𝐺𝑀( 𝑣𝑑𝑡)𝑣(𝑡)

Entrada

i(t)

Entrada

v(t)

Salida Salida

Memristencia Memductancia

v 𝑡 = 𝑅𝑀( 𝑖𝑑𝑡)𝑖(𝑡)

φ q

Operadores

𝜑 ≜ −∞

𝑡

𝑣 𝜏 𝑑𝜏 = −∞

𝑡

𝑅 (𝑞(𝜏))𝑖(𝜏)𝑑𝜏

= −∞

𝑡

𝑅 𝑞 𝜏𝑑𝑞 𝜏

𝑑𝜏𝑑𝜏

= 𝑞(−∞)

𝑞(𝑡)

𝑅 𝑞 𝜏 𝑑𝑞(𝜏)

= 𝑞(−∞)

𝑞(𝑡)

𝑅 𝑞 𝑑𝑞

= 𝜑(𝑞)

▫ Demostración:

6

Bloque 1: Memristor

• Sistemas Memristivos:

▫ Controlado por corriente:

𝑣 = 𝑅 𝑥, 𝑖, 𝑡 𝑖

𝑑𝑥

𝑑𝑡= 𝑓(𝑥, 𝑖, 𝑡)

▫ Controlado por voltaje:

𝑖 = 𝐺 𝑥, 𝑣, 𝑡 𝑣

𝑑𝑥

𝑑𝑡= 𝑓(𝑥, 𝑣, 𝑡)

v

i

ω1

ω2

ω ∞

7

𝑖(𝑡) = 𝐼𝑐𝑜𝑠𝜔𝑡

TiO2

TiO2-x

Modelos• Memristor de HP®:

D

w(t)

8

-

TiO2

TiO2-x

• Funcionamiento:

Roff

Ron

Voltaje:

𝑣 𝑡 = 𝑅𝑂𝑁𝑤 𝑡

𝐷+ 𝑅𝑂𝐹𝐹 −

𝑤 𝑡

𝐷𝑖 𝑡

Ecuación de estado:

𝑑𝑤(𝑡)

𝑑𝑡= 𝜇𝑉

𝑅𝑂𝑁

𝐷𝑖(𝑡)

Memristencia:

𝑀(𝑞) = 𝑅𝑂𝐹𝐹 −𝜇𝑉𝑅𝑂𝑁

𝐷2 𝑞 𝑡

• Modelo Matemático:

9

Ap

lica

cio

ne

s d

el

me

mrist

or

Dispositivos

Discretos

Arreglos de barras

transversales (crossbar)

Analógico

Digital

Analógico

Digital

▫ Redes Neuromorficas

▫ Matriz de campo analógica Programable

▫ Memorias de contenido direccionable

▫ Memorias no-volátiles

▫ Circuitos Lógicos

▫ Circuitos Caóticos

▫ Disparador de Schmitt

▫Amplificadores de ganancia variable

▫ Comparador de diferencia

▫ Redes Neuronales Celulares

▫Osciladores

▫ Operaciones Lógicas

▫ Compuertas Digitales

▫ Circuitos Lógicos Configurables

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1.5

-1

-0.5

0

0.5

1

1.5x 10

-4

Voltaje(V)

Corr

ien

te(A

)

1

2

4

Bloque 1: Memristor

Respuesta del modelo de HP:

10

Aplicaciones:

• Aproximaciones mediante funciones de ventana:

Strukov/HP:

𝑓 𝑤 =)𝑤(𝑡)(𝐷 − 𝑤(𝑡)

𝐷2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.05

0.1

0.15

0.2

0.25

x

f(x)

f(x) = x - x2

Joglekar:

𝑓 𝑥 = − 2𝑥 − 2𝑝

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

f(x)

p = 8

p = 4

p = 2

p = 1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.05

0.1

0.15

0.2

0.25

x

f(x)

f(x) = x - x2

11

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.05

0.1

0.15

0.2

0.25

x

f(x)

f(x) = x - x2

Biolek:

𝑓 𝑥 = − 𝑥 − 𝑠𝑔𝑛(−𝑖) 2𝑝

𝑠𝑔𝑛 𝑖 → 𝑖 ≥ 00 → 𝑖 < 0

Prodromakis:

𝑓 𝑥 = − 𝑥 − 0.5 2 + 0.75 𝑝

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

f(x)

p = 4

p = 8

p = 40

p = 1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

f(x)

p = 1

p = 2

p = 6

i >= 0 i < 0

12

• Corriente en el memristor:

𝒊 𝒕 =𝒗(𝒕)

𝑹𝑴𝑬𝑴→ 𝑅𝑀𝐸𝑀 = 𝑅𝑂𝐹𝐹 − 𝑥 𝑅𝑂𝐹𝐹 − 𝑅𝑂𝑁

• Ecuación de Estado:

𝒅𝒙(𝒕)

𝒅𝒕= 𝒌 𝒊 𝒕 𝒇 𝒙 →

𝑘 =𝜇𝑣𝑅𝑂𝑁

𝐷2

𝑓 𝑥 = 𝐹𝑢𝑛𝑐. 𝑉𝑒𝑛𝑡𝑎𝑛𝑎

▫ Integrando:

𝑥(𝑡) = 0

𝑡

𝑘𝑓 𝑥 𝑖 𝑡

Sistema de Memristor en Simulink

∫t

v

i

k

f(x)

𝑥 x

Rmem

Bloque 1: Memristor 13

Bloque 1: Memristor

• Subsistema electrónico/matemático:

14

• Sistema para la aproximación del memristor:

Bloque 1: Memristor

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1.5

-1

-0.5

0

0.5

1

1.5x 10

-4

Voltaje(V)

Corr

ien

te(A

)

• Respuesta corriente−voltaje:

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-1

-0.5

0

0.5

1

t(s)

Volt

aje

(V)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-2

-1

0

1

2x 10

-4

t(s)

Corr

ien

te(A

)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0.4

0.5

0.6

0.7

0.8

t(s)

x

15

Aplicación:

• Oscilador Resistor-Memristor sin Reactancia

▫ Voltaje en el Memristor:

𝑉𝑀 𝑡 = (𝑉𝑜 𝑡 − 𝑉𝑟𝑒𝑓)𝑅𝑀𝐸𝑀

𝑅𝑀𝐸𝑀 + 𝑅𝑎

▫ Resistencia:

𝑅𝑚𝑝 = 𝑅𝑎

𝑉𝑝 − 𝑉𝑟𝑒𝑓

𝑉𝑜ℎ − 𝑉𝑝→ 𝑅 𝑒𝑛 𝑒𝑠𝑡𝑎𝑑𝑜 𝑎𝑙𝑡𝑜

𝑅𝑚𝑛 = 𝑅𝑎

𝑉𝑛 − 𝑉𝑟𝑒𝑓

𝑉𝑜𝑙 − 𝑉𝑛→ 𝑅 𝑒𝑛 𝑒𝑠𝑡𝑎𝑑𝑜 𝑏𝑎𝑗𝑜

▫ Ecuación de estado:

𝑑𝑥

𝑑𝑡=

𝑘(𝑉𝑂(𝑡) − 𝑉𝑟𝑒𝑓)(4𝑥( − 𝑥))

𝑅𝑎 + 𝑅𝑂𝐹𝐹 − 𝑥 𝑅𝑂𝐹𝐹 − 𝑅𝑂𝑁

Bloque 1: Memristor 16

0 2000 4000 6000 8000 10000 1200010

-1

100

101

102

Ra ()

Fre

cu

en

cia

(H

z)

Fo(Teorica) Fo(S imulacion)

Resultados:

Bloque 1: Memristor 17▫Duración de los semiciclos de la señal:

𝑇𝐻 =

𝑅𝑎 + 𝑅𝑜𝑓𝑓 ln𝑅𝑀𝑛 − 𝑅𝑜𝑓𝑓

𝑅𝑀𝑝 − 𝑅𝑜𝑓𝑓+ 𝑅𝑜𝑛 + 𝑅𝑎 ln

𝑅𝑜𝑛 − 𝑅𝑀𝑝

𝑅𝑜𝑛 − 𝑅𝑀𝑛

4𝑘(𝑉𝑂𝐻 − 𝑉𝑟𝑒𝑓)

𝑇𝐿 =

𝑅𝑎 + 𝑅𝑜𝑓𝑓 ln𝑅𝑀𝑝 − 𝑅𝑜𝑓𝑓

𝑅𝑀𝑛 − 𝑅𝑜𝑓𝑓+ 𝑅𝑜𝑛 + 𝑅𝑎 ln

𝑅𝑜𝑛 − 𝑅𝑀𝑛𝑅𝑜𝑛 − 𝑅𝑀𝑝

4𝑘(𝑉𝑂𝐿 − 𝑉𝑟𝑒𝑓

▫Frecuencia de oscilación:

𝑓 =

𝑇𝐻 + 𝑇𝐿

Redes Neuronales Artificiales Bloque 2

2:05 p. m.

fpw n

b

1

a

entrada neurona básica

a = f(wp + b)

Dendritas

Axón

• Neurona biológica:

Cuerpo

Celular

Bloque 2: Redes Neuronales Artificiales 19

Modelo de neurona

básico

• Modelo de

Neurona de una

sola entradaSinapsis

• Tipología NARX(Nonlinear Autoregressive Network with Exogenous Inputs):

𝑦 𝑡 = 𝑓(𝑦 𝑡 − , 𝑦 𝑡 − 2 ,… , 𝑦 𝑡 − 𝑛𝑦 , 𝑢 𝑡 − , 𝑢 𝑡 − 2 ,… , 𝑢(𝑡 − 𝑛𝑢)

Bloque 2: Redes Neuronales Artificiales 20

Arquitectura de red

Re

tard

o

IW1,1

b1

Re

tard

o

LW1,3

+

LW2,1

b2

+

Capa1 Capa2Entradas

p1(t)

1

11

1 1

S11

S11

S11

n1(t) a1(t)

S1 111

1S1S11

n2(t)

S21

a2(t)

11

y(t)

u(t)

Pre-procesamiento

Inicialización de los pesos

Algoritmo de entrenamiento

Criterios de detención

Evaluación

Bloque 2: Redes Neuronales Artificiales 21

Entrenamiento

Re

tard

o

Feed

Forward

Network

Re

tard

o

ŷ(t)

u(t)

Arquitectura

en Lazo Cerrado

y(t)

u(t)

Re

tard

oFeed

Forward

Network

Re

tard

oŷ(t)

Arquitectura

Lazo Abierto

Bloque 2: Redes Neuronales Artificiales

• Evaluación de la red

0 5 10 15 20 25 3010

-6

10-5

10-4

10-3

10-2

10-1

100

101

Best Training Performance is 1.3654e-06 at epoch 30

Me

an

Sq

ua

red

Err

or

(m

se

)

30 Epochs

Train

Best

-1 -0.5 0 0.5-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

Target

Ou

tpu

t ~

= 1

*Tar

get

+ -

0.0

001

1

Training: R=0.99998

Data

Fit

Y = T

▫Gráfica de rendimiento:

▫Gráfica de regresión:

22

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Response of Output Element 1 for Time-Series 1

Ou

tpu

t an

d T

arg

et

50 100 150 200 250 300 350 400 450-4

-2

0

2

4x 10

-3

Err

or

Time

Training Targets

Training Outputs

Errors

Response

Targets - Outputs

▫Respuesta en Series de Tiempo

• Respuesta de la Red:

Bloque 2: Redes Neuronales Artificiales 23

0 100 200 300 400 500-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Muestra

Cor

rien

te

R. Esperado

R. Obtenido

-1 -0.5 0 0.5 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Voltaje

Cor

rien

te

R. Obtenido

R. Esperado

24

Representación mediante Simulink

• Sistema para la simulaciónde la arquitectura de red:

n1,1

3

n1,2

n1,3

n2,1

Bloque 2: Redes Neuronales Artificiales

× ∑

25

• Subsistema de neurona digital:

Bloque 2: Redes Neuronales Artificiales

26

• Respuesta del sistema:

Bloque 2: Redes Neuronales Artificiales

Implementación digital en FPGA Bloque 3

2:05 p. m.

28

ENTRADA

PROCESO

SALIDA

we

rst

push

clk

tx

push

rst

we

clk

clk_div enable etx

CONTROL

push rst clk

rst

clk

push

rst

enable clk_1 clk_2

we

tx

ent_u y_sal I

Esquemático

General

Bloque 3: Implementación Digital en FPGA

32

• Módulo de Entrada:

ENTRADA

V1

rst

push

Señal de

excitación

clk_div clk

pushrst

Memoria

Lectura

Tratamiento

de los datos

en Matlab® ent_u

18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

SgnParte

Entera

Parte

Fraccionaria

MSB LSB

29Bloque 3: Implementación Digital en FPGA

Unidades de

procesamiento

30

• Módulo de Procesamiento:

Bloque 3: Implementación Digital en FPGA

31Bloque 3: Implementación Digital en FPGA

▫Unidad del modelo de neurona:

▫Aproximación de la función(Modelsim):

▫Tangente Sigmoidal:

𝑓(𝑥) = − 𝑒−𝑥

+ 𝑒−𝑥

32

Tratamiento

de los datos

en Matlab®

• Módulo de Salida:

Módulo de

recepción de

datos

Respuesta

de la red

Bloque 3: Implementación Digital en FPGA

push

SALIDA

push

clk_1

rst Memoria

rst

we

etx

Serial

Iwr

enable

clk_2 clk

we

I tx

push

sal_y Ipv

tx

MSBLSB

Bit de

Arranque

Bits de

parada

b0 b1 b2 b3 b4 b5 b6 b7 P

Paridad

(Opcional)

33

• Módulo de control:

Bloque 3: Implementación Digital en FPGA

34

Resultados• Simulación en Modelsim:

Slice Logic Utilization Used Available Utilization

Number of Slice Registers 259 54,576 1%

Number of Slice LUTs 629 27,288 2%

Number of occupied Slices 222 6,822 3%

Number of bonded IOBs 5 218 2%

Number of RAMB8BWERs 1 232 1%

Number of DSP48A1s 22 58 37%

• Resumen de recursos empleados:

Bloque 3: Implementación Digital en FPGA

35Bloque 3: Implementación Digital en FPGA

• Resultados de la implementación

AnálisisTransmisión

Implementación

36

• Evaluación de los resultados:

𝑀𝑆𝐸 =

𝑁

𝑖=1

𝑁

𝑡𝑖 − 𝑎𝑖2 → 𝑀𝑆𝐸 = 9. 399 × 10−4

𝑅 = 𝑞=1𝑄

𝑡𝑞 − 𝑡)(𝑎𝑞 − 𝑎

𝑄 − )𝑠𝑡𝑠𝑎⟶ 𝑅 = 0.9996

Bloque 3: Implementación Digital en FPGA

37

Conclusiones:• Se efectuó el análisis del modelo brindado por Hewlett Packard basado en la

teoría de Chua.

• Fue posible la realización de un modelo a bloques capaz de reproducir las

expresiones y comprobar su funcionamiento en un sistema mas robusto.

• Basados en datos numéricos se llevó a cabo la descripción de la metodologíapara la construcción de una red capaz de aproximar la respuesta del

memristor.

• A diferencia de lo reportado, se realizó la implementación en tecnología FPGAde la arquitectura de red.

Conclusiones – Trabajo Futuro

38

• Considerar el desarrollo del modelo en red neuronal en función

de la relación constitutiva carga-flujo.

• Es posible realizar un estudio particular de los mecanismos que

definen el comportamiento del dispositivo. De esta manera, es

posible mejorar la respuesta del modelo en red neuronal para la

aproximación del comportamiento del Memristor.

• En función de un mejor ajuste en la respuesta de predicción de la

red, es posible, efectuar la modificación de los parámetros de

enteramiento.

• Con base en la modificación de los parámetros de la

arquitectura de red, es necesario considerar la adecuación de la

implementación en el FPGA.

Conclusiones – Trabajo Futuro

Trabajo Futuro:

v3.2

Gracias

Dr. Felipe Gómez Castañeda

Dr. J. Antonio Moreno Cadenas

Dr. Oliverio Arellano Cárdenas

M. en C. Luis Martin Flores Nava

M en C. Gerardo Tornez Xavier

VLSI

2:05 p. m.