int summary = 0;
Value baseVal = state.getPort(0);
if (baseVal == null) baseVal = Value.createUnknown(BitWidth.create(4));
int segs; // each nibble is one segment, in top-down, left-to-right
// order: middle three nibbles are the three horizontal segments
switch (baseVal.toIntValue()) {
case 0: segs = 0x1110111; break;
case 1: segs = 0x0000011; break;
case 2: segs = 0x0111110; break;
case 3: segs = 0x0011111; break;
case 4: segs = 0x1001011; break;