GA32 32-computer Chip
The GA32 needs describing since it is the first of GreenArray's computers to be fabricated. The version being tested in June has only 31 computers. Node 00 was replaced with test circuits that will improve the accuracy of future simulations.
The chip measures 2.5 mm in a 180 nm process. That size was chosen because it minimizes the cost of prototypes. 88 pads border the chip and 32 computers fit inside.
Low power results from our computer (one node of an array) being asynchronous (unclocked). Spec sheets will be forthcoming. Meanwhile this list of features should prove impressive. Bill composed a handy poster with much info.
GA32 has 88 pads. It's package has 88 pins. Pins are numbered counter-clockwise from upper left
- 18 pins for RAM data: 1 2 3 8 9 10 11 12 13 16 21 22 23 24 25 30 31 32
- 18 pins for RAM address: 37 38 39 42 43 44 45 46 53 54 55 56 57 58 65 66 67 68
- 11 pins for Vdd (1.8 V): 4 17 19 28 40 47 49 62 64 74 82
- 11 pins NC: 5 18 20 29 41 48 50 61 63 75 83
These were Vss (0 V) but will be reassigned on future chips. Vss is now the ground/heat-sink on the bottom of the package.
- Reset: 88
- 23 digital I/O: 6 7 14 15 26 27 33 34 35 36 51 52 59 60 71 78 79 80 81 84 85 86 87
- 3 D/A outputs: 70 72 77
- 3 A/D inputs: 69 73 76
The 12 interior computers have the same ROM. They are used as wires to pass messages and as compute engines. The 20 edge computers are assigned nominal functions based upon their ROM and I/O pads. But they may be used differently:
- Node 00, missing in GA31
- 01: digital 26 27; SerDes
- 02
- 03: RAM data, pins reassigned in GA31
- 04: RAM control 33 34 35 36
- 05: RAM address
- 06
- 07
- 10: digital 14 15; Sync boot
- 17: digital 51 52; Sync boot
- 20: digital 6 7
- 27: digital 59 60
- 30
- 31: digital 86 87; SerDes
- 32: digital 80 81 84 85; SPI boot
- 33: digital 78 79; Async (RS232) boot
- 34: analog 76 77
- 35: analog 73 72
- 36: digital 71; analog trigger
- 37: analog 69 70
Features
- 3 pF I/O pad capacitance (inclusive of ESD)
- 1.8V Vdd +- 10%
- 3 mA per node that's running; 100 nA if sleeping (leakage)
- Powers-up in reset
- Draws no power
- High on pin 88 takes chip out of reset
- Implements the colorForth instruction set
- Serial communication
- Asynchronous (RS232)
- Synchronous
- Serializer/Deserializer
- D/A out
- 9-bits of scaled current into a 75Ohm load
- Range from 0 to 1.5 V
- Moderate non-linearity correctable with software or op-amp
- Drivers designed to minimize glitches
- About 30mA max current (TBD)
- A/D in
- VCO with 18-bit counter
- Averages value over sample interval (low-pass filter)
- 6-bit resolution at 10 MHz, 17-bit at 10 KHz
- Range from .5 to 1.3 V
- Moderate non-linearity correctable with software
- Triggerable from neighboring node
- Internal calibration at Vdd and Vss
- Reset to Vdd input allows no-connect of pin
- Digital I/O
- 4 modes for each pad:
- Output high (1.8 V)
- Output low
- Input
- Input with weak (50KOhm) pull-down (default at reset)
- 50Ohm output drivers; that's 18 mA max
- Pad connected to bit 17 of IOCS convenient for input (can be tested as sign bit)
- Bit 17 high or low can wake up node
- Pull-down allows no-connect of pin
- Wake-up
- A node can sleep (using no power) by reading the wake-up port. It can wake up when input goes high or low (level detect)
- Such wake-up synchronizes the node to the input edge, with a phase jitter of picoseconds. The input node can synchronize other nodes via the internal communication ports