Files
FPGA-Neural/sim/neuron_parallel.vcd
T
micheleandClaude Sonnet 5 55c827bedf feat: PSRAM page-mode reads + graph engine (Type #2) + real pinout/IRQ pins
PSRAM page-mode read burst support in psram_controller.v: enables the
ISSI IS66WVE4M16EBLL-70BLI's page mode via its configuration-register
software-access sequence at boot (disabled by default on the real
chip), then keeps CE#/OE# asserted after a read so a same-page
continuation only pays tAPA (20ns) instead of a full tAA (70ns)
random access, with automatic tCEM-safe session closing. Only a WRITE
closes the page -- byte-enable changes do not, since
int8_memory_access.v alternates them on nearly every access and an
early implementation attempt that treated them as a close condition
measured a real regression (53.25->61.25 cycles/edge) before being
corrected (53.25->37.53 cycles/edge, +42% gather bandwidth).
sim/psram_model.v gained independent tAPA/tAA and tCEM enforcement
(with a real Verilog same-timestep event-ordering race found and
fixed via a #0 sync) so the regression proves real timing compliance,
not just data correctness. New sim/psram_page_mode_tb.v; full 26-file
regression suite re-run clean. Real nextpnr-ecp5 Fmax re-measured on
the full spi_neuron_top system: 75.73MHz (P2, up from 55.59MHz) and
65.13MHz (P8) -- still under the 80MHz target but not regressed, with
the critical path confirmed (not assumed) to remain entirely inside
neuron_parallel's accumulate chain, never psram_controller.

Also includes this session's other already-validated work: the graph
engine (Type #2 sparse-graph network: act_buffer, graph_engine,
netasm host assembler), real CABGA381 pinout (.lpf, place&route
verified) and physical IRQ_N/DATA_READY_N pins, and Phase 7 timing
closure logs -- all previously uncommitted, documented in WORKLOG.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LH3jPeJ3eFMfF2v8SQhpkk
2026-09-03 17:12:05 +02:00

1585 lines
28 KiB
Plaintext

$date
Thu Sep 3 17:04:42 2026
$end
$version
Icarus Verilog
$end
$timescale
1ps
$end
$scope module tb $end
$var wire 8 ! y [7:0] $end
$var wire 1 " done $end
$var wire 1 # busy $end
$var parameter 32 $ ACC_WIDTH $end
$var parameter 2 % ACT_NONE $end
$var parameter 2 & ACT_RELU $end
$var parameter 32 ' DATA_WIDTH $end
$var parameter 32 ( N_INPUTS $end
$var parameter 32 ) PARALLEL $end
$var reg 2 * activation [1:0] $end
$var reg 8 + bias [7:0] $end
$var reg 1 , clk $end
$var reg 16 - n_inputs_real [15:0] $end
$var reg 1 . rst $end
$var reg 1 / start $end
$var reg 256 0 w_bus [255:0] $end
$var reg 256 1 x_bus [255:0] $end
$var integer 32 2 cycles_full [31:0] $end
$var integer 32 3 cycles_reduced [31:0] $end
$var integer 32 4 errors [31:0] $end
$var integer 32 5 i [31:0] $end
$var integer 32 6 t_done [31:0] $end
$var integer 32 7 t_start [31:0] $end
$scope module dut $end
$var wire 2 8 activation [1:0] $end
$var wire 8 9 bias [7:0] $end
$var wire 1 , clk $end
$var wire 1 : final_acc_in_range $end
$var wire 1 ; final_acc_le_zero $end
$var wire 1 < final_acc_upper_all0 $end
$var wire 16 = n_inputs_real [15:0] $end
$var wire 1 . rst $end
$var wire 1 / start $end
$var wire 256 > w_bus [255:0] $end
$var wire 256 ? x_bus [255:0] $end
$var wire 8 @ y_relu [7:0] $end
$var wire 8 A y_none [7:0] $end
$var wire 64 B x_group [63:0] $end
$var wire 64 C w_group [63:0] $end
$var wire 16 D groups_real [15:0] $end
$var wire 1 E final_acc_upper_all1 $end
$var wire 1 F final_acc_sign $end
$var wire 32 G final_acc [31:0] $end
$var wire 32 H bias_ext [31:0] $end
$var wire 32 I acc_next [31:0] $end
$var parameter 32 J ACC_WIDTH $end
$var parameter 2 K ACT_NONE $end
$var parameter 2 L ACT_RELU $end
$var parameter 32 M DATA_WIDTH $end
$var parameter 32 N GROUPS $end
$var parameter 32 O GROUP_INDEX_WIDTH $end
$var parameter 32 P N_INPUTS $end
$var parameter 32 Q PARALLEL $end
$var reg 32 R acc [31:0] $end
$var reg 1 # busy $end
$var reg 1 " done $end
$var reg 1 S finishing $end
$var reg 2 T group_index [1:0] $end
$var reg 8 U y [7:0] $end
$scope module u_mac8 $end
$var wire 32 V acc_in [31:0] $end
$var wire 64 W w_bus [63:0] $end
$var wire 64 X x_bus [63:0] $end
$var wire 32 Y acc_out [31:0] $end
$var parameter 32 Z ACC_WIDTH $end
$var parameter 32 [ DATA_WIDTH $end
$var parameter 32 \ PARALLEL $end
$var parameter 32 ] TREE_LEVELS $end
$scope begin GEN_MAC[0] $end
$var parameter 2 ^ i $end
$scope module u_mac $end
$var wire 32 _ acc_in [31:0] $end
$var wire 8 ` w [7:0] $end
$var wire 8 a x [7:0] $end
$var wire 32 b product_ext [31:0] $end
$var wire 16 c product [15:0] $end
$var wire 32 d acc_out [31:0] $end
$var parameter 32 e ACC_WIDTH $end
$var parameter 32 f DATA_WIDTH $end
$var parameter 64 g PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_MAC[1] $end
$var parameter 2 h i $end
$scope module u_mac $end
$var wire 32 i acc_in [31:0] $end
$var wire 8 j w [7:0] $end
$var wire 8 k x [7:0] $end
$var wire 32 l product_ext [31:0] $end
$var wire 16 m product [15:0] $end
$var wire 32 n acc_out [31:0] $end
$var parameter 32 o ACC_WIDTH $end
$var parameter 32 p DATA_WIDTH $end
$var parameter 64 q PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_MAC[2] $end
$var parameter 3 r i $end
$scope module u_mac $end
$var wire 32 s acc_in [31:0] $end
$var wire 8 t w [7:0] $end
$var wire 8 u x [7:0] $end
$var wire 32 v product_ext [31:0] $end
$var wire 16 w product [15:0] $end
$var wire 32 x acc_out [31:0] $end
$var parameter 32 y ACC_WIDTH $end
$var parameter 32 z DATA_WIDTH $end
$var parameter 64 { PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_MAC[3] $end
$var parameter 3 | i $end
$scope module u_mac $end
$var wire 32 } acc_in [31:0] $end
$var wire 8 ~ w [7:0] $end
$var wire 8 !" x [7:0] $end
$var wire 32 "" product_ext [31:0] $end
$var wire 16 #" product [15:0] $end
$var wire 32 $" acc_out [31:0] $end
$var parameter 32 %" ACC_WIDTH $end
$var parameter 32 &" DATA_WIDTH $end
$var parameter 64 '" PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_MAC[4] $end
$var parameter 4 (" i $end
$scope module u_mac $end
$var wire 32 )" acc_in [31:0] $end
$var wire 8 *" w [7:0] $end
$var wire 8 +" x [7:0] $end
$var wire 32 ," product_ext [31:0] $end
$var wire 16 -" product [15:0] $end
$var wire 32 ." acc_out [31:0] $end
$var parameter 32 /" ACC_WIDTH $end
$var parameter 32 0" DATA_WIDTH $end
$var parameter 64 1" PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_MAC[5] $end
$var parameter 4 2" i $end
$scope module u_mac $end
$var wire 32 3" acc_in [31:0] $end
$var wire 8 4" w [7:0] $end
$var wire 8 5" x [7:0] $end
$var wire 32 6" product_ext [31:0] $end
$var wire 16 7" product [15:0] $end
$var wire 32 8" acc_out [31:0] $end
$var parameter 32 9" ACC_WIDTH $end
$var parameter 32 :" DATA_WIDTH $end
$var parameter 64 ;" PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_MAC[6] $end
$var parameter 4 <" i $end
$scope module u_mac $end
$var wire 32 =" acc_in [31:0] $end
$var wire 8 >" w [7:0] $end
$var wire 8 ?" x [7:0] $end
$var wire 32 @" product_ext [31:0] $end
$var wire 16 A" product [15:0] $end
$var wire 32 B" acc_out [31:0] $end
$var parameter 32 C" ACC_WIDTH $end
$var parameter 32 D" DATA_WIDTH $end
$var parameter 64 E" PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_MAC[7] $end
$var parameter 4 F" i $end
$scope module u_mac $end
$var wire 32 G" acc_in [31:0] $end
$var wire 8 H" w [7:0] $end
$var wire 8 I" x [7:0] $end
$var wire 32 J" product_ext [31:0] $end
$var wire 16 K" product [15:0] $end
$var wire 32 L" acc_out [31:0] $end
$var parameter 32 M" ACC_WIDTH $end
$var parameter 32 N" DATA_WIDTH $end
$var parameter 64 O" PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_TREE_INPUT[0] $end
$var parameter 2 P" i $end
$upscope $end
$scope begin GEN_TREE_INPUT[1] $end
$var parameter 2 Q" i $end
$upscope $end
$scope begin GEN_TREE_INPUT[2] $end
$var parameter 3 R" i $end
$upscope $end
$scope begin GEN_TREE_INPUT[3] $end
$var parameter 3 S" i $end
$upscope $end
$scope begin GEN_TREE_INPUT[4] $end
$var parameter 4 T" i $end
$upscope $end
$scope begin GEN_TREE_INPUT[5] $end
$var parameter 4 U" i $end
$upscope $end
$scope begin GEN_TREE_INPUT[6] $end
$var parameter 4 V" i $end
$upscope $end
$scope begin GEN_TREE_INPUT[7] $end
$var parameter 4 W" i $end
$upscope $end
$scope begin GEN_TREE_LEVEL[0] $end
$var parameter 2 X" level $end
$scope begin GEN_TREE_NODE[0] $end
$var parameter 2 Y" node $end
$upscope $end
$scope begin GEN_TREE_NODE[1] $end
$var parameter 2 Z" node $end
$upscope $end
$scope begin GEN_TREE_NODE[2] $end
$var parameter 3 [" node $end
$upscope $end
$scope begin GEN_TREE_NODE[3] $end
$var parameter 3 \" node $end
$upscope $end
$upscope $end
$scope begin GEN_TREE_LEVEL[1] $end
$var parameter 2 ]" level $end
$scope begin GEN_TREE_NODE[0] $end
$var parameter 2 ^" node $end
$upscope $end
$scope begin GEN_TREE_NODE[1] $end
$var parameter 2 _" node $end
$upscope $end
$upscope $end
$scope begin GEN_TREE_LEVEL[2] $end
$var parameter 3 `" level $end
$scope begin GEN_TREE_NODE[0] $end
$var parameter 2 a" node $end
$upscope $end
$upscope $end
$upscope $end
$upscope $end
$scope task run_neuron $end
$upscope $end
$scope task test_1 $end
$upscope $end
$scope task test_2 $end
$upscope $end
$scope task test_3 $end
$upscope $end
$scope task test_4 $end
$upscope $end
$scope task test_5 $end
$upscope $end
$scope task test_6 $end
$upscope $end
$scope task test_7 $end
$var reg 1 b" pass_7 $end
$upscope $end
$upscope $end
$enddefinitions $end
$comment Show the parameter values. $end
$dumpall
b0 a"
b10 `"
b1 _"
b0 ^"
b1 ]"
b11 \"
b10 ["
b1 Z"
b0 Y"
b0 X"
b111 W"
b110 V"
b101 U"
b100 T"
b11 S"
b10 R"
b1 Q"
b0 P"
b10000 O"
b1000 N"
b100000 M"
b111 F"
b10000 E"
b1000 D"
b100000 C"
b110 <"
b10000 ;"
b1000 :"
b100000 9"
b101 2"
b10000 1"
b1000 0"
b100000 /"
b100 ("
b10000 '"
b1000 &"
b100000 %"
b11 |
b10000 {
b1000 z
b100000 y
b10 r
b10000 q
b1000 p
b100000 o
b1 h
b10000 g
b1000 f
b100000 e
b0 ^
b11 ]
b1000 \
b1000 [
b100000 Z
b1000 Q
b100000 P
b10 O
b100 N
b1000 M
b1 L
b0 K
b100000 J
b1000 )
b100000 (
b1000 '
b1 &
b0 %
b100000 $
$end
#0
$dumpvars
xb"
bx L"
bx K"
bx J"
bx I"
bx H"
b0 G"
bx B"
bx A"
bx @"
bx ?"
bx >"
b0 ="
bx 8"
bx 7"
bx 6"
bx 5"
bx 4"
b0 3"
bx ."
bx -"
bx ,"
bx +"
bx *"
b0 )"
bx $"
bx #"
bx ""
bx !"
bx ~
b0 }
bx x
bx w
bx v
bx u
bx t
b0 s
bx n
bx m
bx l
bx k
bx j
b0 i
bx d
bx c
bx b
bx a
bx `
b0 _
bx Y
bx X
bx W
bx V
bx U
bx T
xS
bx R
bx I
b0 H
bx G
xF
xE
b100 D
bx C
bx B
bx A
bx @
b0 ?
b0 >
b100000 =
x<
x;
x:
b0 9
b1 8
bx 7
bx 6
bx 5
b0 4
bx 3
bx 2
b0 1
b0 0
0/
1.
b100000 -
0,
b0 +
b1 *
x#
x"
bx !
$end
#5000
b0 I
b0 Y
b0 d
b0 n
b0 x
b0 $"
b0 ."
b0 8"
b0 B"
b0 L"
b0 A
1:
b0 @
b0 b
b0 l
b0 v
b0 ""
b0 ,"
b0 6"
b0 @"
b0 J"
1<
1;
b0 c
b0 a
b0 m
b0 k
b0 w
b0 u
b0 #"
b0 !"
b0 -"
b0 +"
b0 7"
b0 5"
b0 A"
b0 ?"
b0 K"
b0 I"
b0 `
b0 j
b0 t
b0 ~
b0 *"
b0 4"
b0 >"
b0 H"
0F
0E
b0 B
b0 X
b0 C
b0 W
0S
0"
0#
b0 !
b0 U
b0 G
b0 R
b0 V
b0 T
1,
#10000
0,
#15000
b1 @
0;
b1 A
b10 x
b10 v
b11111111111111111111111111111100 n
b11111111111111111111111111111100 l
b100 I
b100 Y
b110 d
b110 b
b10 w
b1 t
b10 u
b1111111111111100 m
b11111111 j
b100 k
b110 c
b10 `
b11 a
b1 G
b1 H
b11111111100000010 C
b11111111100000010 W
b11111111100000010 0
b11111111100000010 >
b100000010000000011 B
b100000010000000011 X
b100000010000000011 1
b100000010000000011 ?
b1 +
b1 9
0.
1,
#20000
0,
#25000
1#
1/
1,
#30000
0,
#35000
b0 d
b0 b
b0 n
b0 l
b0 x
b0 v
b101 @
b0 a
b0 k
b0 u
b0 c
b0 `
b0 m
b0 j
b0 w
b0 t
b101 A
b0 B
b0 X
b0 C
b0 W
b1 T
b101 G
b100 I
b100 Y
b100 R
b100 V
0/
1,
#40000
0,
#45000
b10 T
1,
#50000
0,
#55000
b11 T
1,
#60000
0,
#65000
1S
1,
#70000
0,
#75000
0S
1"
0#
b101 !
b101 U
1,
#80000
0,
#85000
0"
b100 @
b100 A
b11111111111111111111111111111111 L"
b11111111111111111111111111111111 J"
b11111111111111111111111111111111 B"
b11111111111111111111111111111111 @"
b11111111111111111111111111111111 8"
b11111111111111111111111111111111 6"
b11111111111111111111111111111111 ."
b11111111111111111111111111111111 ,"
b11111111111111111111111111111111 $"
b11111111111111111111111111111111 ""
b11111111111111111111111111111111 x
b11111111111111111111111111111111 v
b11111111111111111111111111111111 n
b11111111111111111111111111111111 l
b11111111111111111111111111111100 I
b11111111111111111111111111111100 Y
b11111111111111111111111111111111 d
b11111111111111111111111111111111 b
b1111111111111111 K"
b11111111 H"
b1 I"
b1111111111111111 A"
b11111111 >"
b1 ?"
b1111111111111111 7"
b11111111 4"
b1 5"
b1111111111111111 -"
b11111111 *"
b1 +"
b1111111111111111 #"
b11111111 ~
b1 !"
b1111111111111111 w
b11111111 t
b1 u
b1111111111111111 m
b11111111 j
b1 k
b1111111111111111 c
b11111111 `
b1 a
b100 G
b0 H
b1111111111111111111111111111111111111111111111111111111111111111 C
b1111111111111111111111111111111111111111111111111111111111111111 W
b100000001000000010000000100000001000000010000000100000001 B
b100000001000000010000000100000001000000010000000100000001 X
b100000 5
b0 +
b0 9
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 0
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 >
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 1
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 ?
1,
#90000
0,
#95000
b0 @
1;
b0 A
1#
b0 G
b11111111111111111111111111111000 I
b11111111111111111111111111111000 Y
b0 R
b0 V
b0 T
1/
1,
#100000
0,
#105000
0<
b11111000 A
1F
1E
b1 T
b11111111111111111111111111111000 G
b11111111111111111111111111110000 I
b11111111111111111111111111110000 Y
b11111111111111111111111111111000 R
b11111111111111111111111111111000 V
0/
1,
#110000
0,
#115000
b11110000 A
b10 T
b11111111111111111111111111110000 G
b11111111111111111111111111101000 I
b11111111111111111111111111101000 Y
b11111111111111111111111111110000 R
b11111111111111111111111111110000 V
1,
#120000
0,
#125000
b11101000 A
b11 T
b11111111111111111111111111101000 G
b11111111111111111111111111100000 I
b11111111111111111111111111100000 Y
b11111111111111111111111111101000 R
b11111111111111111111111111101000 V
1,
#130000
0,
#135000
b11100000 A
1S
b11111111111111111111111111100000 G
b11111111111111111111111111011000 I
b11111111111111111111111111011000 Y
b11111111111111111111111111100000 R
b11111111111111111111111111100000 V
1,
#140000
0,
#145000
0S
1"
0#
b0 !
b0 U
1,
#150000
0,
#155000
0"
b11001000 d
b11001000 b
b11001000 n
b11001000 l
b11001000 x
b11001000 v
b11001000 $"
b11001000 ""
b11001000 ."
b11001000 ,"
b11001000 8"
b11001000 6"
b11001000 B"
b11001000 @"
b11000100000 I
b11000100000 Y
b11001000 L"
b11001000 J"
b10 `
b10 j
b10 t
b10 ~
b10 *"
b10 4"
b10 >"
b10 H"
b11001000 c
b1100100 a
b11001000 m
b1100100 k
b11001000 w
b1100100 u
b11001000 #"
b1100100 !"
b11001000 -"
b1100100 +"
b11001000 7"
b1100100 5"
b11001000 A"
b1100100 ?"
b11001000 K"
b1100100 I"
b100000 5
b1000000010000000100000001000000010000000100000001000000010 C
b1000000010000000100000001000000010000000100000001000000010 W
b1000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010 0
b1000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010 >
b110010001100100011001000110010001100100011001000110010001100100 B
b110010001100100011001000110010001100100011001000110010001100100 X
b110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100 1
b110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100 ?
1,
#160000
0,
#165000
1<
1:
b0 A
0F
0E
1#
b0 G
b11001000000 I
b11001000000 Y
b0 R
b0 V
b0 T
1/
1,
#170000
0,
#175000
0:
b1111111 @
0<
0;
b1111111 A
b1 T
b11001000000 G
b110010000000 I
b110010000000 Y
b11001000000 R
b11001000000 V
0/
1,
#180000
0,
#185000
b10 T
b110010000000 G
b1001011000000 I
b1001011000000 Y
b110010000000 R
b110010000000 V
1,
#190000
0,
#195000
b11 T
b1001011000000 G
b1100100000000 I
b1100100000000 Y
b1001011000000 R
b1001011000000 V
1,
#200000
0,
#205000
1S
b1100100000000 G
b1111101000000 I
b1111101000000 Y
b1100100000000 R
b1100100000000 V
1,
#210000
0,
#215000
0S
1"
0#
b1111111 !
b1111111 U
1,
#220000
0,
#225000
0"
b10 d
b10 b
b11111111111111111111111111111111 n
b11111111111111111111111111111111 l
b10 x
b10 v
b11111111111111111111111111111111 $"
b11111111111111111111111111111111 ""
b10 ."
b10 ,"
b11111111111111111111111111111111 8"
b11111111111111111111111111111111 6"
b10 B"
b10 @"
b1100100000100 I
b1100100000100 Y
b11111111111111111111111111111111 L"
b11111111111111111111111111111111 J"
b1100011110000 G
b11111111111111111111111111110000 H
b1 `
b1 j
b1 t
b1 ~
b1 *"
b1 4"
b1 >"
b1 H"
b10 c
b10 a
b1111111111111111 m
b11111111 k
b10 w
b10 u
b1111111111111111 #"
b11111111 !"
b10 -"
b10 +"
b1111111111111111 7"
b11111111 5"
b10 A"
b10 ?"
b1111111111111111 K"
b11111111 I"
b100000 5
b11110000 +
b11110000 9
b100000001000000010000000100000001000000010000000100000001 C
b100000001000000010000000100000001000000010000000100000001 W
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 0
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 >
b1111111100000010111111110000001011111111000000101111111100000010 B
b1111111100000010111111110000001011111111000000101111111100000010 X
b1111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010 1
b1111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010 ?
1,
#230000
0,
#235000
b0 @
b11110000 A
1;
1:
1F
1E
1#
b11111111111111111111111111110000 G
b100 I
b100 Y
b0 R
b0 V
b0 T
1/
1,
#240000
0,
#245000
b11110100 A
b1 T
b11111111111111111111111111110100 G
b1000 I
b1000 Y
b100 R
b100 V
0/
1,
#250000
0,
#255000
b11111000 A
b10 T
b11111111111111111111111111111000 G
b1100 I
b1100 Y
b1000 R
b1000 V
1,
#260000
0,
#265000
b11111100 A
b11 T
b11111111111111111111111111111100 G
b10000 I
b10000 Y
b1100 R
b1100 V
1,
#270000
0,
#275000
1<
1:
b0 A
0F
0E
1S
b0 G
b10100 I
b10100 Y
b10000 R
b10000 V
1,
#280000
0,
#285000
0S
1"
0#
b0 !
b0 U
1,
#290000
0,
#295000
0"
b1101 @
0;
b1101 A
b0 d
b0 b
b0 n
b0 l
b0 x
b0 v
b0 $"
b0 ""
b0 ."
b0 ,"
b0 8"
b0 6"
b0 B"
b0 @"
b10000 I
b10000 Y
b0 L"
b0 J"
b1101 G
b11111111111111111111111111111101 H
b0 `
b0 j
b0 t
b0 ~
b0 *"
b0 4"
b0 >"
b0 H"
b0 c
b0 a
b0 m
b0 k
b0 w
b0 u
b0 #"
b0 !"
b0 -"
b0 +"
b0 7"
b0 5"
b0 A"
b0 ?"
b0 K"
b0 I"
b100 5
b0 *
b0 8
b11111101 +
b11111101 9
b0 C
b0 W
b11111111111111111111111111111111 0
b11111111111111111111111111111111 >
b0 B
b0 X
b1000000010000000100000001 1
b1000000010000000100000001 ?
1,
#300000
0,
#305000
b0 @
b11111111111111111111111111111111 d
b11111111111111111111111111111111 b
b11111111111111111111111111111111 n
b11111111111111111111111111111111 l
b11111111111111111111111111111111 x
b11111111111111111111111111111111 v
b11111111111111111111111111111111 $"
b11111111111111111111111111111111 ""
1;
0<
b11111101 A
b1111111111111111 c
b1 a
b1111111111111111 m
b1 k
b1111111111111111 w
b1 u
b1111111111111111 #"
b1 !"
b11111111 `
b11111111 j
b11111111 t
b11111111 ~
1F
1E
b1000000010000000100000001 B
b1000000010000000100000001 X
b11111111111111111111111111111111 C
b11111111111111111111111111111111 W
1#
b11111111111111111111111111111101 G
b11111111111111111111111111111100 I
b11111111111111111111111111111100 Y
b0 R
b0 V
b0 T
1/
1,
#310000
0,
#315000
b0 d
b0 b
b0 n
b0 l
b0 x
b0 v
b0 $"
b0 ""
b0 a
b0 k
b0 u
b0 !"
b0 c
b0 `
b0 m
b0 j
b0 w
b0 t
b0 #"
b0 ~
b11111001 A
b0 B
b0 X
b0 C
b0 W
b1 T
b11111111111111111111111111111001 G
b11111111111111111111111111111100 I
b11111111111111111111111111111100 Y
b11111111111111111111111111111100 R
b11111111111111111111111111111100 V
0/
1,
#320000
0,
#325000
b10 T
1,
#330000
0,
#335000
b11 T
1,
#340000
0,
#345000
1S
1,
#350000
0,
#355000
0S
1"
0#
b11111001 !
b11111001 U
1,
#360000
0,
#365000
0"
1:
b11111100 A
b11111111111111111111111100111000 L"
b11111111111111111111111100111000 J"
b11111111111111111111111100111000 B"
b11111111111111111111111100111000 @"
b11111111111111111111111100111000 8"
b11111111111111111111111100111000 6"
b11111111111111111111111100111000 ."
b11111111111111111111111100111000 ,"
b11111111111111111111111100111000 $"
b11111111111111111111111100111000 ""
b11111111111111111111111100111000 x
b11111111111111111111111100111000 v
b11111111111111111111111100111000 n
b11111111111111111111111100111000 l
b11111111111111111111100110111100 I
b11111111111111111111100110111100 Y
b11111111111111111111111100111000 d
b11111111111111111111111100111000 b
1E
b1111111100111000 K"
b11111110 H"
b1100100 I"
b1111111100111000 A"
b11111110 >"
b1100100 ?"
b1111111100111000 7"
b11111110 4"
b1100100 5"
b1111111100111000 -"
b11111110 *"
b1100100 +"
b1111111100111000 #"
b11111110 ~
b1100100 !"
b1111111100111000 w
b11111110 t
b1100100 u
b1111111100111000 m
b11111110 j
b1100100 k
b1111111100111000 c
b11111110 `
b1100100 a
b11111111111111111111111111111100 G
b0 H
b1111111011111110111111101111111011111110111111101111111011111110 C
b1111111011111110111111101111111011111110111111101111111011111110 W
b110010001100100011001000110010001100100011001000110010001100100 B
b110010001100100011001000110010001100100011001000110010001100100 X
b100000 5
b0 +
b0 9
b1111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110 0
b1111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110 >
b110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100 1
b110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100 ?
b0 *
b0 8
1,
#370000
0,
#375000
1<
1:
b0 A
0F
0E
1#
b0 G
b11111111111111111111100111000000 I
b11111111111111111111100111000000 Y
b0 R
b0 V
b0 T
1/
1,
#380000
0,
#385000
0:
0<
b10000000 A
1F
b1 T
b11111111111111111111100111000000 G
b11111111111111111111001110000000 I
b11111111111111111111001110000000 Y
b11111111111111111111100111000000 R
b11111111111111111111100111000000 V
0/
1,
#390000
0,
#395000
b10 T
b11111111111111111111001110000000 G
b11111111111111111110110101000000 I
b11111111111111111110110101000000 Y
b11111111111111111111001110000000 R
b11111111111111111111001110000000 V
1,
#400000
0,
#405000
b11 T
b11111111111111111110110101000000 G
b11111111111111111110011100000000 I
b11111111111111111110011100000000 Y
b11111111111111111110110101000000 R
b11111111111111111110110101000000 V
1,
#410000
0,
#415000
1S
b11111111111111111110011100000000 G
b11111111111111111110000011000000 I
b11111111111111111110000011000000 Y
b11111111111111111110011100000000 R
b11111111111111111110011100000000 V
1,
#420000
0,
#425000
0S
1"
0#
b10000000 !
b10000000 U
1,
#430000
0,
#435000
0"
b1 d
b1 b
b1 n
b1 l
b1 x
b1 v
b1 $"
b1 ""
b1 ."
b1 ,"
b1 8"
b1 6"
b1 B"
b1 @"
b11111111111111111110011100001000 I
b11111111111111111110011100001000 Y
b1 L"
b1 J"
b1 `
b1 j
b1 t
b1 ~
b1 *"
b1 4"
b1 >"
b1 H"
b1 c
b1 a
b1 m
b1 k
b1 w
b1 u
b1 #"
b1 !"
b1 -"
b1 +"
b1 7"
b1 5"
b1 A"
b1 ?"
b1 K"
b1 I"
b110110011 7
b100000 5
b100000001000000010000000100000001000000010000000100000001 C
b100000001000000010000000100000001000000010000000100000001 W
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 0
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 >
b100000001000000010000000100000001000000010000000100000001 B
b100000001000000010000000100000001000000010000000100000001 X
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 1
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 ?
1b"
b1 *
b1 8
1,
#440000
0,
#445000
b0 A
1:
1<
0F
1#
b0 G
b1000 I
b1000 Y
b0 R
b0 V
b0 T
1/
1,
#450000
0,
#455000
b1000 @
0;
b1000 A
b1 T
b1000 G
b10000 I
b10000 Y
b1000 R
b1000 V
0/
1,
#460000
0,
#465000
b10000 @
b10000 A
b10 T
b10000 G
b11000 I
b11000 Y
b10000 R
b10000 V
1,
#470000
0,
#475000
b11000 @
b11000 A
b11 T
b11000 G
b100000 I
b100000 Y
b11000 R
b11000 V
1,
#480000
0,
#485000
b100000 @
b100000 A
1S
b100000 G
b101000 I
b101000 Y
b100000 R
b100000 V
1,
#490000
0,
#495000
0S
1"
0#
b100000 !
b100000 U
1,
#500000
0,
#505000
0"
b10011001001001 d
b10011001001001 b
b10011001001001 n
b10011001001001 l
b10011001001001 x
b10011001001001 v
b10011001001001 $"
b10011001001001 ""
b10011001001001 ."
b10011001001001 ,"
b10011001001001 8"
b10011001001001 6"
b10011001001001 B"
b10011001001001 @"
b10011001001101000 I
b10011001001101000 Y
b10011001001001 L"
b10011001001001 J"
b1100011 `
b1100011 j
b1100011 t
b1100011 ~
b1100011 *"
b1100011 4"
b1100011 >"
b1100011 H"
b10011001001001 c
b1100011 a
b10011001001001 m
b1100011 k
b10011001001001 w
b1100011 u
b10011001001001 #"
b1100011 !"
b10011001001001 -"
b1100011 +"
b10011001001001 7"
b1100011 5"
b10011001001001 A"
b1100011 ?"
b10011001001001 K"
b1100011 I"
b111111001 7
b1 D
b1000 -
b1000 =
b100000 5
b110001101100011011000110110001101100011011000110110001101100011 C
b110001101100011011000110110001101100011011000110110001101100011 W
b110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110000000100000001000000010000000100000001000000010000000100000001 0
b110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110000000100000001000000010000000100000001000000010000000100000001 >
b110001101100011011000110110001101100011011000110110001101100011 B
b110001101100011011000110110001101100011011000110110001101100011 X
b110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110000000100000001000000010000000100000001000000010000000100000001 1
b110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110000000100000001000000010000000100000001000000010000000100000001 ?
b111 2
b111111001 6
1,
#510000
0,
#515000
b0 @
b1 d
b1 b
b1 n
b1 l
b1 x
b1 v
b1 $"
b1 ""
b1 ."
b1 ,"
b1 8"
b1 6"
b1 B"
b1 @"
b1 L"
b1 J"
1;
b0 A
b1 a
b1 k
b1 u
b1 !"
b1 +"
b1 5"
b1 ?"
b1 I"
b1 c
b1 `
b1 m
b1 j
b1 w
b1 t
b1 #"
b1 ~
b1 -"
b1 *"
b1 7"
b1 4"
b1 A"
b1 >"
b1 K"
b1 H"
b100000001000000010000000100000001000000010000000100000001 B
b100000001000000010000000100000001000000010000000100000001 X
b100000001000000010000000100000001000000010000000100000001 C
b100000001000000010000000100000001000000010000000100000001 W
1#
b0 G
b1000 I
b1000 Y
b0 R
b0 V
b0 T
1/
1,
#520000
0,
#525000
b1000 @
0;
b1000 A
1S
b1000 G
b10000 I
b10000 Y
b1000 R
b1000 V
0/
1,
#530000
0,
#535000
0S
1"
0#
b1000 !
b1000 U
1,
#540000
0,
#545000
0"
b100 D
b100000 -
b100000 =
b100 3
b1000100001 6
1,