Building a basic membrane computer Alejandro Millan, Julian Viejo, - - PowerPoint PPT Presentation

building a basic membrane computer
SMART_READER_LITE
LIVE PREVIEW

Building a basic membrane computer Alejandro Millan, Julian Viejo, - - PowerPoint PPT Presentation

Building a basic membrane computer Alejandro Millan, Julian Viejo, Juan Quiros, et al. 14th Brainstorming Week on Membrane Computing, Feb. 1-5, 2016 Grupo ID2 (Investigacion y Desarrollo Digital) www.dte.us.es/id2 Dept. Tecnologia Electronica


slide-1
SLIDE 1

Building a basic membrane computer

Alejandro Millan, Julian Viejo, Juan Quiros, et al. 14th Brainstorming Week on Membrane Computing, Feb. 1-5, 2016 Grupo ID2 (Investigacion y Desarrollo Digital) www.dte.us.es/id2

  • Dept. Tecnologia Electronica - Universidad de Sevilla (Spain)
slide-2
SLIDE 2

Introduction

Until now, developments have been focused into improving simulation time of P systems:

  • Software simulation.-

○ RGNC (USe), Ciobanu, UniVr, …

  • Hardware simulation.-

○ UPM, Petreska, Nguyen, Quiros, …

slide-3
SLIDE 3

Objective

  • Build a basic membrane computer.-

Requisites

  • Real machine: not simulated (1 transition/cycle).-
  • Non-deterministic.-
  • Maximum parallelism (maxpar derivation mode).-
slide-4
SLIDE 4

The chosen P systems [Pãun, 2000]

n2 generator (n >= 1).- Divisor test (k divides n?).- Computer 1 Computer 2

slide-5
SLIDE 5

FPGA Technology (I)

  • FPGA = Field-

Programmable Gate Array.-

  • Resources:

○ Look-Up-Tables (logic).- ○ Flip-Flops (memory).- ○ Arithmetic: ■ Distributed.- ■ Especific (MULT).-

Training board

slide-6
SLIDE 6

FPGA Technology (II)

  • Design:

○ Hardware Description Language (HDL).- ○ Place & Routing.- ○ Reconfigurable.-

  • Applications:

○ Prototyping.- ○ Quick deployment.- ○ Low production.-

Training board

slide-7
SLIDE 7

Object/rule implementation

f ff

REG f Logic r1

r1:

+

f f

slide-8
SLIDE 8

Competition - Case 1 (Algorithm)

a a ab’ b’ r1: r2:

  • 1. Randomly let:

a = a1 + a2

  • 2. Apply r1 x a1 times

and r2 x a2 times.-

slide-9
SLIDE 9

Competition - Case 1 (Design)

REG a Logic r1

+

b’1 a

a a ab’ b’ r1: r2:

REG b’ REG Logic r2 a b’2

  • +
  • +

b’1 b’2 LFSR

Distribution

a1 a2

slide-10
SLIDE 10

Competition - Case 2 (Algorithm)

  • 1. Randomly let:

a = a1 + a2

  • 2. Let:

1 = max{ 0 ; a1 - c } 2 = max{ 0 ; a2 - c’ } 1 = min{ c ; a1 + 2 } 2 = min{ c’ ; a2 + 1 }

  • 3. Apply r1 x 1 times

and r2 x 2 times.-

ac ac’ c’ c r1: r2:

slide-11
SLIDE 11

Competition - Case 2 (Design)

REG a Logic r1

+

REG c REG c’ Logic r2

+ +

c1 c2 LFSR

Distribution

ac ac’ c’ c r1: r2:

a1 c1 c’1 a2 c2 c’2 a1 a2 c’1 c’2

a1+2 a2+1

slide-12
SLIDE 12

System interface - Computer 2

n Number k Number Seed Clock Master reset Reset Answer Data Valid

slide-13
SLIDE 13

Operation detail - Computer 2

a c c’ d

  • c

c’ d r1 r2 r1 r3 a c c’ a r1 r2 r3 r4

slide-14
SLIDE 14

Schematic - Computer 2 (LFSR)

LFSR a2 r21 XOR MUX D MUX

slide-15
SLIDE 15

Schematic - Computer 2 (object a)

LFSR a2 r21 ADDER REG

slide-16
SLIDE 16

Schematic - Computer 2 (rule r21)

LFSR a2 r21 COMPARATORS MULT REG

slide-17
SLIDE 17

Implementation information

FPGA Model Spartan 3E-1200 Clock frequency 50 MHz Performance 50 Mtransition/s Register width 16-bit FPGA Occupation 2% / 5% slices

slide-18
SLIDE 18

Future work

  • Test architectures in more powerful FPGAs.-

○ 50 MHz >>> 500 MHz.- ○ 20 K logic c. >>> 2 M logic c.-

  • Build membrane computers for another P systems.-

○ More object competition.- ○ Consider rule probability (e.g. for PDP).- ○ Any suggestions?