User:Evin/transistoric

From LifeWiki
(Redirected from User:Evin/crossstalk)
Jump to navigation Jump to search

Crossstalk is an 15-state circuit rule using the vonNeumann neighborhood.

Ruel Tabel (Nutshell)

@NUTSHELL transistoric
0: dead
1: wire
2: tail
3: head
4: splitter
5: splitter tail
6: splitter head
7: {Ng} semiconductor N
8: semiconductor N tail
9: semiconductor N charge
10: semiconductor N head
11: {Ps} semiconductor P
12: semiconductor P tail
13: semiconductor P charge
14: semiconductor P head

@TABLE
neighborhood: vonNeumann
states: 15
symmetries: rotate4 reflect

head = (3,6,10,14)
tail = (2,5,8,12)
wire = (1,4,Ng,Ps)
shead = (10,14)
scharge = (9,13)
stail = (8,12)
swire = (Ng,Ps)

# logic 3-gate
1,0,head,wire,wire;3
1,0,head,head,wire;3

# logic 4-gate
1,head,wire,head,wire;3
1,head,wire,wire,wire;3

symmetries: permute

# semiconductors

swire,head,any,any,any;[0:(9,13)]
tail,scharge,any,any,any;[0]

## diode function
Ng,13,--13~3;8
9,Ps,any~3;10

symmetries: rotate4 reflect

13,Ng,any,8,any;Ps

## slowdown function
scharge,wire,0,wire,0;[0:shead]

## transistor function

Ps,9,any,any,any;14

### PNP
9,13,any,any,any;10
13,10,any,1,any;Ps

### T
Ng,13,any,wire,any;10

symmetries: permute

# signal propagation
wire,head,any,any,any;[0:head]
head,any,any,any,any;[0:tail]
tail,any,any,any,any;[0:wire]

Rule Table

@RULE transistoric
********************************
**** COMPILED FROM NUTSHELL ****
****         v0.5.8         ****
********************************
0: dead
1: wire
2: tail
3: head
4: splitter
5: splitter tail
6: splitter head
7: semiconductor N
8: semiconductor N tail
9: semiconductor N charge
10: semiconductor N head
11: semiconductor P
12: semiconductor P tail
13: semiconductor P charge
14: semiconductor P head


@TABLE
neighborhood: vonNeumann
symmetries: rotate4reflect
n_states: 15

var any.0 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}
var any.1 = any.0
var any.2 = any.0
var any.3 = any.0
var head.0 = {10,3,6,14}
var head.1 = head.0
var tail.0 = {8,2,12,5}
var wire.0 = {1,11,4,7}
var wire.1 = wire.0
var wire.2 = wire.0
var scharge.0 = {9,13}
var _a0.0 = {0,1,2,3,4,5,6,7,8,9,10,11,12,14}
var _a0.1 = _a0.0
var _a0.2 = _a0.0

1, 0, head.0, wire.0, wire.1, 3
1, 0, head.0, head.1, wire.0, 3
1, head.0, wire.0, head.1, wire.1, 3
1, head.0, wire.0, wire.1, wire.2, 3
7, any.0, any.1, any.2, head.0, 9
11, any.0, any.1, any.2, head.0, 13
tail.0, any.0, any.1, any.2, scharge.0, tail.0
7, 13, _a0.0, _a0.1, _a0.2, 8
9, 11, any.0, any.1, any.2, 10
13, 7, any.0, 8, any.1, 11
9, 0, wire.0, 0, wire.1, 10
13, 0, wire.0, 0, wire.1, 14
11, 9, any.0, any.1, any.2, 14
9, 13, any.0, any.1, any.2, 10
13, 1, any.0, 10, any.1, 11
7, 13, any.0, wire.0, any.1, 10
1, any.0, any.1, any.2, head.0, 3
4, any.0, any.1, any.2, head.0, 6
7, any.0, any.1, any.2, head.0, 10
11, any.0, any.1, any.2, head.0, 14
3, any.0, any.1, any.2, any.3, 2
6, any.0, any.1, any.2, any.3, 5
10, any.0, any.1, any.2, any.3, 8
14, any.0, any.1, any.2, any.3, 12
2, any.0, any.1, any.2, any.3, 1
5, any.0, any.1, any.2, any.3, 4
8, any.0, any.1, any.2, any.3, 7
12, any.0, any.1, any.2, any.3, 11

@COLORS
0 0 0 0
1 255 127 0
2 127 127 127
3 255 255 255
4 255 255 0
5 255 255 85
6 255 255 170
7 0 0 255
8 64 64 255
9 128 128 255
10 192 192 255
11 255 0 0
12 255 64 64
13 255 128 128
14 255 192 192