hardware: theweb.cecs.pdx.edu/~mperkows/class_479/lectures479/pe010...s1:0 wibus n1:0 e1:0 w1:0...
TRANSCRIPT
É C O L EF É D É RE
D. Mange, M. Sipper, A. D. Mange, M. Sipper, A. StaufferStauffer, and G. , and G. TempestiTempesti
Self-Repairing and Self-ReplicatingSelf-Repairing and Self-Replicating Hardware: The Hardware: The Embryonics Embryonics ApproachApproach
2nd NASA/2nd NASA/DoD DoD Workshop on Workshop on Evolvable Evolvable HardwareHardwarePalo Alto, July 13-15, 2000Palo Alto, July 13-15, 2000
Caenorhabditis ElegansCaenorhabditis Elegans
11 December 1998
We understand completelythe chromosome and role ofthe genes in the organism ofthe Elegans!
Model for studies in genetics
Multicellular OrganizationMulticellular Organization
959 somatic cells
Embryonics: Why?Embryonics: Why?
Design of robust integrated circuitsDesign of robust integrated circuitsable to:able to:
• self-repair (healing)• self-repair (healing)
• self-replicate (cloning)• self-replicate (cloning)
Embryonics: Why?Embryonics: Why?
Today:Today: • space exploration• space exploration• nuclear plants• nuclear plants• avionics• avionics
Tomorrow:Tomorrow: • molecular electronics• molecular electronics
Embryonics: How?Embryonics: How?
Iterative electronic circuit based onIterative electronic circuit based on3 features:3 features:
• multicellular organization• multicellular organization
• cellular division• cellular division
• cellular differentiation• cellular differentiation
Cellular DivisionCellular Division
mother cell
daughter cell daughter cell
Cellular DifferentiationCellular Differentiation
Pharynx
Intestine
BioWatchBioWatch
The Future ofThe Future of Embryonics Embryonics
Two kinds of Programmable ArraysTwo kinds of Programmable ArraysBased on logic functions in cellsBased on logic functions in cells
Based on switchboxesBased on switchboxesMixedMixedMixed
Inputs andfunctions Lookup
Table
ffFF’s
mux
ffFF’s
memorymemory
primaryinputs
Based on switchboxesBased on switchboxesBased on logic functionsBased on logic functions
Based on switchingBased on switching
mux
ff
memory
mux
ff
memory
mux
ff
memory
mux
ff
memory
mux
ff
memory
mux
ff
memory
Multicellular OrganizationMulticellular Organization
O R G
CELLgene
A C E
B D F2
1
1 2 3
Y
X
Organism is composed of bio-cellsOrganism is composed of bio-cells
bio-cell bio-cell == phenotype from genotype phenotype from genotype
bio-cell bio-cell == logic circuit (virtual) logic circuit (virtual)
Chromosome Chromosome == memory contents memory contents
MUXTREE MoleculeMUXTREE Molecule
0 10 1 2 3 4
0 10 1 2 3 4
1 0
NOUT
SIN
CKEOBUS
EOUTEIN
WIBUS
WINWOUT
L2:0 R2:0
1 0 R
SB1 0
EIBUSB
WOBUS
NOBUS NIBUS
SOBUSSIBUS
5 56 7 6 7
INITPD
Q FF
MUXTREE
MUX
0 L2:0 0 R2:0 N1:0 S1:0 E1:0W1:0 0 P R Bswitch block (SB)connection block (CB)
memory and test
1 0456789101112141618 219
CREGMOLCODE = MC19:0
2 30 1
3 12 0
NOBUS
SOBUS
0132
EOBUS1320
WOBUSNOUT
NIBUS
NOUT
NOUT
NOUT
EIBUS
S1:0
WIBUS
N1:0E1:0
W1:0
SIBUS
SB
20 programming bits inmemory of the molecule cell9 memory cells
Block SB8 memory cells
9+8+3=20 memory cells
Bio-cell has several moleculeBio-cell has several moleculecells like thiscells like this
Embryonics LandscapeEmbryonics Landscape
MUX
COMP
MUX
dMOLCODE
MOLECULE
ORG ORG
ORG ORGPopulation level
(population = Σ organisms)
Organismic level (organism = Σ cells)
Cellular level (cell = Σ molecules)
Molecular level (basic FPGA's element)
c
b
a d
e
f
A C E
B D F
RG: ribosomic genome PG: polymerase genome
OG: operative genome ORG
CELL
Bio-cell is one ormore FPGA cells
Operative genomeis the same aschromosome inprevious lectures
StopWatchStopWatch
MIN SECRESET
STARTSTOP
Max = 5 Max = 9
StopWatchStopWatch
MIN SECMIN SEC
StopWatchStopWatch
StopWatch
ORG
CELLgene
1
1 2 3
Y
X
Countmod 6
Countmod10
Countmod 6
Countmod10
4
The whole counter is anorganism
The component module 6 ormodule 10 counter is a bio-cell
A bio-cell is of course manyFPGA cells in this model
•There are two types of bio-cells:
•Count mod 6
•Count mod 10
• The organizm is one-dimensional
• It has four bio-cells
6 10 6 101 2 3 4
OG: operative genomegene
StopWatchStopWatch
Operative genome => for organism
gene => for bio-cell of the organism4 genes
genes responsible fortwo types of bio-cells inthe phenotype
X
StopWatchStopWatch
X = (WX+1) mod 4case of X:X = 1: Countmod 6 (10 minutes)X = 2: Countmod 10 (minutes)X = 3: Countmod 6 (10 seconds)X = 4: Countmod 10 (seconds)
OG: operative genome
StopWatchStopWatch
X=(WX+1)mod4
case of X:
X = ...
operativegenome (OG)
HOXgenesswitchgenesfunctionalgenes
Term from geneticsTerm from genetics
Cellular DifferentiationCellular Differentiation
6 10 6 101 2 3 4
X = 1
6 10 6 101 2 3 4
6 10 6 101 2 3 4
6 10 6 101 2 3 4
2
10t1
3
6t2
10
4
t3
Self-ReplicationSelf-Replication
1
Y
X
6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10
1
6 10 6 10 6 10 6 10 6 10 6 106 10 6 10
1
Y
X
6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10t1
1 2
6 10 6 10 6 10 6 10 6 10 6 106 10 6 10
t1
1
1
Y
X
6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10t1 t2
1 2 3
6 10 6 10 6 10 6 10 6 10 6 106 10 6 10t2
t1
1
1
Y
X
6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10t1 t2 t3
MOTHER ORG
1 2 3 4
6 10 6 10 6 10 6 10 6 10 6 106 10 6 10t2 t3
t1
1
Self-ReplicationSelf-Replication
1
Y
X
t1 t2 t3
MOTHER ORG
t4
1 2 3 4 1
t2 t3 t4
t1 DAUGHTER ORG # 1
1
6 10 6 10 6 10 6 10 6 10 6 106 10 6 10
6 10 6 10 6 10 6 10 6 10 6 106 10 6 10 6 10 6 10 6 10 6 10 6 10 6 106 10 6 10
6 10 6 10 6 10 6 10 6 10 6 106 10 6 101
Y
X
t1 t2 t3
MOTHER ORG
t5t4
1 2 3 4 1 2
t2 t3 t4 t5
t1 DAUGHTER ORG # 1
1
6 10 6 10 6 10 6 10 6 10 6 106 10 6 10
6 10 6 10 6 10 6 10 6 10 6 106 10 6 10 6 10 6 10 6 10 6 10 6 10 6 106 10 6 10
6 10 6 10 6 10 6 10 6 10 6 106 10 6 101
Y
X
t1 t2 t3
MOTHER ORG
t5 t6t4
1 2 3 4 1 2 3
t2 t3 t4 t6t5
t1 DAUGHTER ORG # 1
1
6 10 6 10 6 10 6 10 6 10 6 106 10 6 10
6 10 6 10 6 10 6 10 6 10 6 106 10 6 10 6 10 6 10 6 10 6 10 6 10 6 106 10 6 10
6 10 6 10 6 10 6 10 6 10 6 106 10 6 101
Y
X
t1 t2 t3
MOTHER ORG
t5 t6 t7t4
DAUGHTER ORG # 2
1 2 3 4 1 2 3 4
t2 t3 t4 t6 t7t5
t1 DAUGHTER ORG # 1
1
6 10 6 10 6 10 6 10 6 10 6 106 10 6 10
6 10 6 10 6 10 6 10 6 10 6 106 10 6 10 6 10 6 10 6 10 6 10 6 10 6 106 10 6 10
6 10 6 10 6 10 6 10 6 10 6 106 10 6 101
Y
X
t1 t2 t3
MOTHER ORG
t5 t6 t7t4
DAUGHTER ORG # 2
1 2 3 4 1 2 3 4
t2 t3 t4 t6 t7 t8t5
t1 DAUGHTER ORG # 1 DAUGHTER ORG # 3
1
Directions of self-replication
6 10 6 10 6 10 6 10 6 10 6 106 10 6 10
6 10 6 10 6 10 6 10 6 10 6 106 10 6 10 6 10 6 10 6 10 6 10 6 10 6 106 10 6 10
6 10 6 10 6 10 6 10 6 10 6 106 10 6 10
Self-RepairSelf-Repair
1
Y
X
6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10
ORIGINAL ORG
6 10 6 10 6 10 6 10
1 2 3 4 1 2SPARE CELLS
Direction of self-repair
1
Y
X
6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10
1 2 4 1 2
KILL=1
SCAR
106 10 6 101
Y
X
6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10
1 2 3
KILL=1
SCAR
106 10 6 101
Y
X
6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10
1 2 3 4
KILL=1
NEW ORG NEW ORGSCAR
106 10 6 101
Y
X
6 10 6 10 6 10 6 10 6 10 6 10 6 10 6 10
1 2 3 4 1
KILL=1
NEW ORG NEW ORGSCAR SPARE CELL
106 10 6 10
Embryonics LandscapeEmbryonics Landscape
ORG = StopWatch
CELL
MOLECULE
Population level (population = Σ organisms)
Organismic level (organism = Σ cells)
Cellular level ??? (cell = Σ molecules)
Molecular level ??? (basic FPGA's element)
106 10 6
ORG ORG
ORGORG
MUXTREE MoleculeMUXTREE Molecule
0 10 1 2 3 4
0 10 1 2 3 4
1 0
NOUT
SIN
CKEOBUS
EOUTEIN
WIBUS
WINWOUT
L2:0 R2:0
1 0 R
SB1 0
EIBUSB
WOBUS
NOBUS NIBUS
SOBUSSIBUS
5 56 7 6 7
INITPD
Q FF
MUXTREE
MUX
0 L2:0 0 R2:0 N1:0 S1:0 E1:0W1:0 0 P R Bswitch block (SB)connection block (CB)
memory and test
1 0456789101112141618 219
CREGMOLCODE = MC19:0
2 30 1
3 12 0
NOBUS
SOBUS
0132
EOBUS1320
WOBUSNOUT
NIBUS
NOUT
NOUT
NOUT
EIBUS
S1:0
WIBUS
N1:0E1:0
W1:0
SIBUS
SB
0 10 1 2 3 4
0 10 1 2 3 4
1 0
NOUT
SIN
CKEOBUS
EOUTEIN
WIBUS
WINWOUT
L2:0 R2:0
1 0 R
SB1 0
EIBUSB
WOBUS
NOBUS NIBUS
SOBUSSIBUS
5 56 7 6 7
INITP
DQ FF
MUXTREE
MUX
WCell has only oneflip-flop
This isprogrammablehardware
Is programmedto virtualhardware
Virtualhardware is aFSM
0 10 1 2 3 4
0 10 1 2 3 4
1 0
NOUT
SIN
CKEOBUS
EOUTEIN
WIBUS
WINWOUT
L2:0 R2:0
1 0 R
SB1 0
EIBUSB
WOBUS
NOBUS NIBUS
SOBUSSIBUS
5 56 7 6 7
INITP
DQ FF
MUXTREE
MUX
W
NOBUS
NIBUS
NOUT
R
P
INIT
EOBUS
EIBUS
EOUT
EIN
WIN
WOUT
WIBUS
WOBUS
SIBUS
SOBUS
SIN
north
east
west
south
Space DividerSpace Divider
PGX=1
Separation concerns only some signals
Space DividerSpace Divider
PGPG2X=1 3 4 SPARE CELL
Cellular Self-ReplicationCellular Self-Replication
RG+OG2 3 4X=1 SPARE
CELL
Cellular Self-RepairCellular Self-Repair
RG+OG2 3 4X=1 SPARE
CELL
faulty molecule
Cellular Self-RepairCellular Self-Repair
RG+OG2 3 4X=1 SPARE
CELL3 4
KILL=1
Stuck-at-one, stuck-at-zero faultmodels
Molecular ImplementationMolecular Implementation
Embryonics LandscapeEmbryonics Landscape
MUX
COMP
MUXMOLCODE
ORG = StopWatch
CELL
MOLECULE
Population level (population = Σ organisms)
Organismic level (organism = Σ cells)
Cellular level (cell = Σ molecules)
Molecular level (basic FPGA's element)
106 10 6
ORG ORG
ORGORG
SBDM
SMEM
PGRG+OG
Artificial GenomeArtificial Genome
X=(WX+1)mod4
case of X:
X = ...
operativegenome (OG)
HOXgenesswitchgenesfunctionalgenes
molecular codes
space divider programming data polymerasegenome (PG)ribosomicgenome (RG)
■■ Draw a modulo 6 counter using only flip-flops andDraw a modulo 6 counter using only flip-flops andmultiplexed constantsmultiplexed constants
■■ Do the same for module 10 counter.Do the same for module 10 counter.■■ Design a complete watch, as in this lecture from suchDesign a complete watch, as in this lecture from such
elements.elements.■■ Explain a methodology of realizing arbitraryExplain a methodology of realizing arbitrary
autonomous machines in the switch/constant cellularautonomous machines in the switch/constant cellularmodelmodel
■■ Explain how to realize arbitrary state machine withExplain how to realize arbitrary state machine withsingle input in this modelsingle input in this model
Problems to solveProblems to solve