The record, answered on the part
The run
The console runs the engine. A valve station in a field with no network writes its line pressure once a second for an hour. At 14:02:05 the pressure falls, and the station writes what that second meant as well as what it measured: the limit it was given, the intent it acted on, and the fact the intent produced. Six months later the audit asks for that one address and gets all four records back without a search.
What the part does
The board is an iCESugar-Pro with an ECP5-25F on it. It is handed 512 of the volume’s addresses, twenty values each, and checks two things: that every value is inside the alphabet the engine writes, and that the values reach the sum the host computed. The host divides and the die multiplies by a reciprocal, so agreement is not the same code run twice.
One value moved to 11,172, the first value outside the alphabet, is counted as invalid and kept out of the sum: the pin reads 0 and the LED is red. The volume’s own values reach the same sum on both sides: the pin reads 1 and the LED is green.
The labels
Each time the host sets a stage the LED changes, and the console says which colour is on and whether it is steady or blinking. The line is drawn in that colour, so the board can be checked against the console at the same second.
The take, in numbers
- Records written
- 3,600 readings, one a second for an hour
- Records in the volume
- 3,601: the readings and the incident's conclusion
- Addresses handed to the die
- 512
- Values the die checks
- 10,240, twenty per address
- Sum both implementations reach
- 00035CC3
- A point read, at 64 and at 11,172 records
- 1 framing read, 3 fact reads, 0 listing reads
- Time to configure the part
- 61 s
- Board
- iCESugar-Pro v1.3, ECP5-25F, 24,288 LUT, 56 x 16 kbit, 28 multipliers
- Take
- 183 s, one console recording with the board filmed beside it