Closed kangliyu1 closed 2 years ago
After using convert_image_for_testbench.py
did you replace image in testbench.v file? Can you upload your version of testbench.v?
num_conv
variable in r05_verilog_generator_neural_net_structure.py
file only regulate how many computational blocks will be generated in verilog code. Structure of neural net in this project always the same.
After using
convert_image_for_testbench.py
did you replace image in testbench.v file? Can you upload your version of testbench.v? @ZFTurbo Yes, I replaced the storage part of the initial in the testbench For example, the following display "// Answer: 1", the result should be 1, but the result is 2 However, after the storage data generated in the following figure 1 is simulated, the all result is equal to "a" And so far no simulation correct image data has been found in the data generated by convert_image_for_testbench.py. I'm very confused about this, I don't know where the problem is, I hope you can give pointers, thank you very much fig:1
testbench.v
module test();
parameter SIZE=12;
reg clk;
reg GO;
reg signed [SIZE-1:0] storage [0:783];
reg we_database;
reg [SIZE-1:0] dp_database;
reg [12:0] address_p_database;
reg [9:0] x;
wire STOP;
wire [3:0] RESULT;
TOP TOP(
.clk (clk),
.GO (GO),
.RESULT (RESULT),
.we_database (we_database),
.dp_database (dp_database),
.address_p_database (address_p_database-1'b1),
.STOP (STOP)
);
initial begin
clk=0;
address_p_database=0;
x=0;
we_database=1;
#200 GO=1;
end
always #10 clk=~clk;
always @(posedge clk)
begin
if (we_database)
begin
if (address_p_database<=783)
begin
dp_database = storage[address_p_database];
address_p_database=address_p_database+1'b1;
end
else we_database=0;
end
if ((x<=28*28)&&(GO)) x=x+1;
else GO=0;
if (STOP==1)
begin
$display("RESULT: %d",RESULT);
$finish;
end
end
// Precision: 12
// Image size: 28x28
// Answer: 1
initial
begin
storage[0] = 11'b10001010000; // [0.5390625]
storage[1] = 11'b10001110000; // [0.5546875]
storage[2] = 11'b10010010000; // [0.5703125]
storage[3] = 11'b10010101000; // [0.58203125]
storage[4] = 11'b10010110000; // [0.5859375]
storage[5] = 11'b10011000000; // [0.59375]
storage[6] = 11'b10011011000; // [0.60546875]
storage[7] = 11'b10011100000; // [0.609375]
storage[8] = 11'b10011101000; // [0.61328125]
storage[9] = 11'b10011110000; // [0.6171875]
storage[10] = 11'b10100000000; // [0.625]
storage[11] = 11'b10011111000; // [0.62109375]
storage[12] = 11'b10100000000; // [0.625]
storage[13] = 11'b10100000000; // [0.625]
storage[14] = 11'b10100000000; // [0.625]
storage[15] = 11'b10100001000; // [0.62890625]
storage[16] = 11'b10100000000; // [0.625]
storage[17] = 11'b10100000000; // [0.625]
storage[18] = 11'b10011111000; // [0.62109375]
storage[19] = 11'b10011111000; // [0.62109375]
storage[20] = 11'b10011110000; // [0.6171875]
storage[21] = 11'b10011110000; // [0.6171875]
storage[22] = 11'b10011110000; // [0.6171875]
storage[23] = 11'b10011101000; // [0.61328125]
storage[24] = 11'b10011100000; // [0.609375]
storage[25] = 11'b10011010000; // [0.6015625]
storage[26] = 11'b10011000000; // [0.59375]
storage[27] = 11'b10010111000; // [0.58984375]
storage[28] = 11'b10001100000; // [0.546875]
storage[29] = 11'b10001111000; // [0.55859375]
storage[30] = 11'b10010011000; // [0.57421875]
storage[31] = 11'b10010101000; // [0.58203125]
storage[32] = 11'b10010110000; // [0.5859375]
storage[33] = 11'b10011000000; // [0.59375]
storage[34] = 11'b10011010000; // [0.6015625]
storage[35] = 11'b10011100000; // [0.609375]
storage[36] = 11'b10011110000; // [0.6171875]
storage[37] = 11'b10100000000; // [0.625]
storage[38] = 11'b10100010000; // [0.6328125]
storage[39] = 11'b10100010000; // [0.6328125]
storage[40] = 11'b10100010000; // [0.6328125]
storage[41] = 11'b10100010000; // [0.6328125]
storage[42] = 11'b10100011000; // [0.63671875]
storage[43] = 11'b10100100000; // [0.640625]
storage[44] = 11'b10100011000; // [0.63671875]
storage[45] = 11'b10100010000; // [0.6328125]
storage[46] = 11'b10100010000; // [0.6328125]
storage[47] = 11'b10100001000; // [0.62890625]
storage[48] = 11'b10100001000; // [0.62890625]
storage[49] = 11'b10100000000; // [0.625]
storage[50] = 11'b10100000000; // [0.625]
storage[51] = 11'b10011110000; // [0.6171875]
storage[52] = 11'b10011101000; // [0.61328125]
storage[53] = 11'b10011100000; // [0.609375]
storage[54] = 11'b10011011000; // [0.60546875]
storage[55] = 11'b10010111000; // [0.58984375]
storage[56] = 11'b10001111000; // [0.55859375]
storage[57] = 11'b10010010000; // [0.5703125]
storage[58] = 11'b10010101000; // [0.58203125]
storage[59] = 11'b10010110000; // [0.5859375]
storage[60] = 11'b10011000000; // [0.59375]
storage[61] = 11'b10011011000; // [0.60546875]
storage[62] = 11'b10011100000; // [0.609375]
storage[63] = 11'b10011111000; // [0.62109375]
storage[64] = 11'b10100001000; // [0.62890625]
storage[65] = 11'b10100011000; // [0.63671875]
storage[66] = 11'b10100100000; // [0.640625]
storage[67] = 11'b10100100000; // [0.640625]
storage[68] = 11'b10100101000; // [0.64453125]
storage[69] = 11'b10100110000; // [0.6484375]
storage[70] = 11'b10100110000; // [0.6484375]
storage[71] = 11'b10100110000; // [0.6484375]
storage[72] = 11'b10100110000; // [0.6484375]
storage[73] = 11'b10100110000; // [0.6484375]
storage[74] = 11'b10100101000; // [0.64453125]
storage[75] = 11'b10100100000; // [0.640625]
storage[76] = 11'b10100100000; // [0.640625]
storage[77] = 11'b10100011000; // [0.63671875]
storage[78] = 11'b10100001000; // [0.62890625]
storage[79] = 11'b10011111000; // [0.62109375]
storage[80] = 11'b10011110000; // [0.6171875]
storage[81] = 11'b10011101000; // [0.61328125]
storage[82] = 11'b10011100000; // [0.609375]
storage[83] = 11'b10011001000; // [0.59765625]
storage[84] = 11'b10010010000; // [0.5703125]
storage[85] = 11'b10010101000; // [0.58203125]
storage[86] = 11'b10010111000; // [0.58984375]
storage[87] = 11'b10011001000; // [0.59765625]
storage[88] = 11'b10011011000; // [0.60546875]
storage[89] = 11'b10011110000; // [0.6171875]
storage[90] = 11'b10011111000; // [0.62109375]
storage[91] = 11'b10100001000; // [0.62890625]
storage[92] = 11'b10100011000; // [0.63671875]
storage[93] = 11'b10100101000; // [0.64453125]
storage[94] = 11'b10100101000; // [0.64453125]
storage[95] = 11'b10100110000; // [0.6484375]
storage[96] = 11'b10100111000; // [0.65234375]
storage[97] = 11'b10101001000; // [0.66015625]
storage[98] = 11'b10101010000; // [0.6640625]
storage[99] = 11'b10101001000; // [0.66015625]
storage[100] = 11'b10101000000; // [0.65625]
storage[101] = 11'b10100111000; // [0.65234375]
storage[102] = 11'b10101000000; // [0.65625]
storage[103] = 11'b10100101000; // [0.64453125]
storage[104] = 11'b10100111000; // [0.65234375]
storage[105] = 11'b10100110000; // [0.6484375]
storage[106] = 11'b10100100000; // [0.640625]
storage[107] = 11'b10100001000; // [0.62890625]
storage[108] = 11'b10100000000; // [0.625]
storage[109] = 11'b10011111000; // [0.62109375]
storage[110] = 11'b10011101000; // [0.61328125]
storage[111] = 11'b10011100000; // [0.609375]
storage[112] = 11'b10010011000; // [0.57421875]
storage[113] = 11'b10010110000; // [0.5859375]
storage[114] = 11'b10011000000; // [0.59375]
storage[115] = 11'b10011011000; // [0.60546875]
storage[116] = 11'b10011101000; // [0.61328125]
storage[117] = 11'b10011111000; // [0.62109375]
storage[118] = 11'b10100001000; // [0.62890625]
storage[119] = 11'b10100010000; // [0.6328125]
storage[120] = 11'b10100101000; // [0.64453125]
storage[121] = 11'b10100110000; // [0.6484375]
storage[122] = 11'b10100111000; // [0.65234375]
storage[123] = 11'b10101000000; // [0.65625]
storage[124] = 11'b10101010000; // [0.6640625]
storage[125] = 11'b10101100000; // [0.671875]
storage[126] = 11'b10101100000; // [0.671875]
storage[127] = 11'b10101011000; // [0.66796875]
storage[128] = 11'b10101001000; // [0.66015625]
storage[129] = 11'b10101000000; // [0.65625]
storage[130] = 11'b10100111000; // [0.65234375]
storage[131] = 11'b10100111000; // [0.65234375]
storage[132] = 11'b10100110000; // [0.6484375]
storage[133] = 11'b10100111000; // [0.65234375]
storage[134] = 11'b10100110000; // [0.6484375]
storage[135] = 11'b10100101000; // [0.64453125]
storage[136] = 11'b10100010000; // [0.6328125]
storage[137] = 11'b10100010000; // [0.6328125]
storage[138] = 11'b10011111000; // [0.62109375]
storage[139] = 11'b10011110000; // [0.6171875]
storage[140] = 11'b10010100000; // [0.578125]
storage[141] = 11'b10010110000; // [0.5859375]
storage[142] = 11'b10011001000; // [0.59765625]
storage[143] = 11'b10011100000; // [0.609375]
storage[144] = 11'b10011111000; // [0.62109375]
storage[145] = 11'b10100001000; // [0.62890625]
storage[146] = 11'b10100011000; // [0.63671875]
storage[147] = 11'b10100011000; // [0.63671875]
storage[148] = 11'b10100111000; // [0.65234375]
storage[149] = 11'b10101000000; // [0.65625]
storage[150] = 11'b10101010000; // [0.6640625]
storage[151] = 11'b10101010000; // [0.6640625]
storage[152] = 11'b10101011000; // [0.66796875]
storage[153] = 11'b10101100000; // [0.671875]
storage[154] = 11'b10101101000; // [0.67578125]
storage[155] = 11'b10101101000; // [0.67578125]
storage[156] = 11'b10101100000; // [0.671875]
storage[157] = 11'b10101010000; // [0.6640625]
storage[158] = 11'b10100000000; // [0.625]
storage[159] = 11'b10100010000; // [0.6328125]
storage[160] = 11'b10101000000; // [0.65625]
storage[161] = 11'b10101000000; // [0.65625]
storage[162] = 11'b10100111000; // [0.65234375]
storage[163] = 11'b10100101000; // [0.64453125]
storage[164] = 11'b10100101000; // [0.64453125]
storage[165] = 11'b10100100000; // [0.640625]
storage[166] = 11'b10100001000; // [0.62890625]
storage[167] = 11'b10011111000; // [0.62109375]
storage[168] = 11'b10010110000; // [0.5859375]
storage[169] = 11'b10011001000; // [0.59765625]
storage[170] = 11'b10011011000; // [0.60546875]
storage[171] = 11'b10011111000; // [0.62109375]
storage[172] = 11'b10100001000; // [0.62890625]
storage[173] = 11'b10100010000; // [0.6328125]
storage[174] = 11'b10100101000; // [0.64453125]
storage[175] = 11'b10100110000; // [0.6484375]
storage[176] = 11'b10101000000; // [0.65625]
storage[177] = 11'b10101010000; // [0.6640625]
storage[178] = 11'b10101100000; // [0.671875]
storage[179] = 11'b10101100000; // [0.671875]
storage[180] = 11'b10101100000; // [0.671875]
storage[181] = 11'b10101101000; // [0.67578125]
storage[182] = 11'b10101110000; // [0.6796875]
storage[183] = 11'b10101111000; // [0.68359375]
storage[184] = 11'b10101110000; // [0.6796875]
storage[185] = 11'b10001000000; // [0.53125]
storage[186] = 11'b01000101000; // [0.26953125]
storage[187] = 11'b01011101000; // [0.36328125]
storage[188] = 11'b10100101000; // [0.64453125]
storage[189] = 11'b10101010000; // [0.6640625]
storage[190] = 11'b10101000000; // [0.65625]
storage[191] = 11'b10101000000; // [0.65625]
storage[192] = 11'b10100110000; // [0.6484375]
storage[193] = 11'b10100110000; // [0.6484375]
storage[194] = 11'b10100011000; // [0.63671875]
storage[195] = 11'b10100001000; // [0.62890625]
storage[196] = 11'b10011000000; // [0.59375]
storage[197] = 11'b10011011000; // [0.60546875]
storage[198] = 11'b10011101000; // [0.61328125]
storage[199] = 11'b10100000000; // [0.625]
storage[200] = 11'b10100011000; // [0.63671875]
storage[201] = 11'b10100110000; // [0.6484375]
storage[202] = 11'b10100110000; // [0.6484375]
storage[203] = 11'b10101000000; // [0.65625]
storage[204] = 11'b10101011000; // [0.66796875]
storage[205] = 11'b10101100000; // [0.671875]
storage[206] = 11'b10101101000; // [0.67578125]
storage[207] = 11'b10101110000; // [0.6796875]
storage[208] = 11'b10101111000; // [0.68359375]
storage[209] = 11'b10101111000; // [0.68359375]
storage[210] = 11'b10101111000; // [0.68359375]
storage[211] = 11'b10110000000; // [0.6875]
storage[212] = 11'b10011011000; // [0.60546875]
storage[213] = 11'b00111010000; // [0.2265625]
storage[214] = 11'b00101010000; // [0.1640625]
storage[215] = 11'b01000101000; // [0.26953125]
storage[216] = 11'b10100101000; // [0.64453125]
storage[217] = 11'b10101100000; // [0.671875]
storage[218] = 11'b10101011000; // [0.66796875]
storage[219] = 11'b10101001000; // [0.66015625]
storage[220] = 11'b10101001000; // [0.66015625]
storage[221] = 11'b10101000000; // [0.65625]
storage[222] = 11'b10100110000; // [0.6484375]
storage[223] = 11'b10100011000; // [0.63671875]
storage[224] = 11'b10011010000; // [0.6015625]
storage[225] = 11'b10011101000; // [0.61328125]
storage[226] = 11'b10100000000; // [0.625]
storage[227] = 11'b10100010000; // [0.6328125]
storage[228] = 11'b10100100000; // [0.640625]
storage[229] = 11'b10100110000; // [0.6484375]
storage[230] = 11'b10101000000; // [0.65625]
storage[231] = 11'b10101001000; // [0.66015625]
storage[232] = 11'b10101101000; // [0.67578125]
storage[233] = 11'b10101110000; // [0.6796875]
storage[234] = 11'b10101110000; // [0.6796875]
storage[235] = 11'b10110000000; // [0.6875]
storage[236] = 11'b10110010000; // [0.6953125]
storage[237] = 11'b10110010000; // [0.6953125]
storage[238] = 11'b10110001000; // [0.69140625]
storage[239] = 11'b10101111000; // [0.68359375]
storage[240] = 11'b01110000000; // [0.4375]
storage[241] = 11'b00101001000; // [0.16015625]
storage[242] = 11'b00100111000; // [0.15234375]
storage[243] = 11'b01010110000; // [0.3359375]
storage[244] = 11'b10101001000; // [0.66015625]
storage[245] = 11'b10101101000; // [0.67578125]
storage[246] = 11'b10101100000; // [0.671875]
storage[247] = 11'b10101011000; // [0.66796875]
storage[248] = 11'b10101010000; // [0.6640625]
storage[249] = 11'b10101000000; // [0.65625]
storage[250] = 11'b10101000000; // [0.65625]
storage[251] = 11'b10100100000; // [0.640625]
storage[252] = 11'b10011100000; // [0.609375]
storage[253] = 11'b10011110000; // [0.6171875]
storage[254] = 11'b10100001000; // [0.62890625]
storage[255] = 11'b10100011000; // [0.63671875]
storage[256] = 11'b10100110000; // [0.6484375]
storage[257] = 11'b10101000000; // [0.65625]
storage[258] = 11'b10101010000; // [0.6640625]
storage[259] = 11'b10101100000; // [0.671875]
storage[260] = 11'b10101110000; // [0.6796875]
storage[261] = 11'b10101111000; // [0.68359375]
storage[262] = 11'b10110000000; // [0.6875]
storage[263] = 11'b10110001000; // [0.69140625]
storage[264] = 11'b10110010000; // [0.6953125]
storage[265] = 11'b10110010000; // [0.6953125]
storage[266] = 11'b10110001000; // [0.69140625]
storage[267] = 11'b10100101000; // [0.64453125]
storage[268] = 11'b01000001000; // [0.25390625]
storage[269] = 11'b00100110000; // [0.1484375]
storage[270] = 11'b00100111000; // [0.15234375]
storage[271] = 11'b01101010000; // [0.4140625]
storage[272] = 11'b10101101000; // [0.67578125]
storage[273] = 11'b10101101000; // [0.67578125]
storage[274] = 11'b10101100000; // [0.671875]
storage[275] = 11'b10101100000; // [0.671875]
storage[276] = 11'b10101010000; // [0.6640625]
storage[277] = 11'b10101001000; // [0.66015625]
storage[278] = 11'b10100110000; // [0.6484375]
storage[279] = 11'b10100101000; // [0.64453125]
storage[280] = 11'b10011100000; // [0.609375]
storage[281] = 11'b10011111000; // [0.62109375]
storage[282] = 11'b10100001000; // [0.62890625]
storage[283] = 11'b10100100000; // [0.640625]
storage[284] = 11'b10100111000; // [0.65234375]
storage[285] = 11'b10101000000; // [0.65625]
storage[286] = 11'b10101001000; // [0.66015625]
storage[287] = 11'b10101100000; // [0.671875]
storage[288] = 11'b10101110000; // [0.6796875]
storage[289] = 11'b10110000000; // [0.6875]
storage[290] = 11'b10110001000; // [0.69140625]
storage[291] = 11'b10110010000; // [0.6953125]
storage[292] = 11'b10110010000; // [0.6953125]
storage[293] = 11'b10110011000; // [0.69921875]
storage[294] = 11'b10101110000; // [0.6796875]
storage[295] = 11'b01110111000; // [0.46484375]
storage[296] = 11'b00101100000; // [0.171875]
storage[297] = 11'b00100110000; // [0.1484375]
storage[298] = 11'b00101011000; // [0.16796875]
storage[299] = 11'b01111111000; // [0.49609375]
storage[300] = 11'b10101110000; // [0.6796875]
storage[301] = 11'b10101101000; // [0.67578125]
storage[302] = 11'b10101101000; // [0.67578125]
storage[303] = 11'b10101100000; // [0.671875]
storage[304] = 11'b10101010000; // [0.6640625]
storage[305] = 11'b10101000000; // [0.65625]
storage[306] = 11'b10100111000; // [0.65234375]
storage[307] = 11'b10100101000; // [0.64453125]
storage[308] = 11'b10011101000; // [0.61328125]
storage[309] = 11'b10011111000; // [0.62109375]
storage[310] = 11'b10100010000; // [0.6328125]
storage[311] = 11'b10100100000; // [0.640625]
storage[312] = 11'b10100111000; // [0.65234375]
storage[313] = 11'b10101010000; // [0.6640625]
storage[314] = 11'b10101011000; // [0.66796875]
storage[315] = 11'b10101100000; // [0.671875]
storage[316] = 11'b10101110000; // [0.6796875]
storage[317] = 11'b10110001000; // [0.69140625]
storage[318] = 11'b10110010000; // [0.6953125]
storage[319] = 11'b10110010000; // [0.6953125]
storage[320] = 11'b10110100000; // [0.703125]
storage[321] = 11'b10110011000; // [0.69921875]
storage[322] = 11'b10000110000; // [0.5234375]
storage[323] = 11'b00110110000; // [0.2109375]
storage[324] = 11'b00101111000; // [0.18359375]
storage[325] = 11'b00101100000; // [0.171875]
storage[326] = 11'b00110001000; // [0.19140625]
storage[327] = 11'b10010100000; // [0.578125]
storage[328] = 11'b10101111000; // [0.68359375]
storage[329] = 11'b10101110000; // [0.6796875]
storage[330] = 11'b10101110000; // [0.6796875]
storage[331] = 11'b10101100000; // [0.671875]
storage[332] = 11'b10101011000; // [0.66796875]
storage[333] = 11'b10101001000; // [0.66015625]
storage[334] = 11'b10101000000; // [0.65625]
storage[335] = 11'b10100111000; // [0.65234375]
storage[336] = 11'b10011100000; // [0.609375]
storage[337] = 11'b10100000000; // [0.625]
storage[338] = 11'b10100011000; // [0.63671875]
storage[339] = 11'b10100101000; // [0.64453125]
storage[340] = 11'b10101000000; // [0.65625]
storage[341] = 11'b10101011000; // [0.66796875]
storage[342] = 11'b10101100000; // [0.671875]
storage[343] = 11'b10101110000; // [0.6796875]
storage[344] = 11'b10110000000; // [0.6875]
storage[345] = 11'b10110011000; // [0.69921875]
storage[346] = 11'b10110100000; // [0.703125]
storage[347] = 11'b10110100000; // [0.703125]
storage[348] = 11'b10110011000; // [0.69921875]
storage[349] = 11'b10001001000; // [0.53515625]
storage[350] = 11'b00111100000; // [0.234375]
storage[351] = 11'b00110001000; // [0.19140625]
storage[352] = 11'b01100011000; // [0.38671875]
storage[353] = 11'b00110100000; // [0.203125]
storage[354] = 11'b00111010000; // [0.2265625]
storage[355] = 11'b10100001000; // [0.62890625]
storage[356] = 11'b10110000000; // [0.6875]
storage[357] = 11'b10110000000; // [0.6875]
storage[358] = 11'b10101110000; // [0.6796875]
storage[359] = 11'b10101101000; // [0.67578125]
storage[360] = 11'b10101100000; // [0.671875]
storage[361] = 11'b10101011000; // [0.66796875]
storage[362] = 11'b10101000000; // [0.65625]
storage[363] = 11'b10100110000; // [0.6484375]
storage[364] = 11'b10011101000; // [0.61328125]
storage[365] = 11'b10100000000; // [0.625]
storage[366] = 11'b10100011000; // [0.63671875]
storage[367] = 11'b10100101000; // [0.64453125]
storage[368] = 11'b10101001000; // [0.66015625]
storage[369] = 11'b10101011000; // [0.66796875]
storage[370] = 11'b10101101000; // [0.67578125]
storage[371] = 11'b10101111000; // [0.68359375]
storage[372] = 11'b10110001000; // [0.69140625]
storage[373] = 11'b10110010000; // [0.6953125]
storage[374] = 11'b10110011000; // [0.69921875]
storage[375] = 11'b10110010000; // [0.6953125]
storage[376] = 11'b10000111000; // [0.52734375]
storage[377] = 11'b00111110000; // [0.2421875]
storage[378] = 11'b00110001000; // [0.19140625]
storage[379] = 11'b01101000000; // [0.40625]
storage[380] = 11'b10001101000; // [0.55078125]
storage[381] = 11'b00110010000; // [0.1953125]
storage[382] = 11'b01000000000; // [0.25]
storage[383] = 11'b10100101000; // [0.64453125]
storage[384] = 11'b10110001000; // [0.69140625]
storage[385] = 11'b10110000000; // [0.6875]
storage[386] = 11'b10101110000; // [0.6796875]
storage[387] = 11'b10101101000; // [0.67578125]
storage[388] = 11'b10101011000; // [0.66796875]
storage[389] = 11'b10101010000; // [0.6640625]
storage[390] = 11'b10101000000; // [0.65625]
storage[391] = 11'b10100110000; // [0.6484375]
storage[392] = 11'b10011110000; // [0.6171875]
storage[393] = 11'b10100000000; // [0.625]
storage[394] = 11'b10100011000; // [0.63671875]
storage[395] = 11'b10100101000; // [0.64453125]
storage[396] = 11'b10101000000; // [0.65625]
storage[397] = 11'b10101011000; // [0.66796875]
storage[398] = 11'b10101101000; // [0.67578125]
storage[399] = 11'b10101110000; // [0.6796875]
storage[400] = 11'b10110001000; // [0.69140625]
storage[401] = 11'b10110010000; // [0.6953125]
storage[402] = 11'b10110010000; // [0.6953125]
storage[403] = 11'b10010001000; // [0.56640625]
storage[404] = 11'b00111110000; // [0.2421875]
storage[405] = 11'b00110001000; // [0.19140625]
storage[406] = 11'b01011100000; // [0.359375]
storage[407] = 11'b10100111000; // [0.65234375]
storage[408] = 11'b01111110000; // [0.4921875]
storage[409] = 11'b00101110000; // [0.1796875]
storage[410] = 11'b01000101000; // [0.26953125]
storage[411] = 11'b10100111000; // [0.65234375]
storage[412] = 11'b10110001000; // [0.69140625]
storage[413] = 11'b10101111000; // [0.68359375]
storage[414] = 11'b10101111000; // [0.68359375]
storage[415] = 11'b10101100000; // [0.671875]
storage[416] = 11'b10101011000; // [0.66796875]
storage[417] = 11'b10101001000; // [0.66015625]
storage[418] = 11'b10100111000; // [0.65234375]
storage[419] = 11'b10100110000; // [0.6484375]
storage[420] = 11'b10011110000; // [0.6171875]
storage[421] = 11'b10100001000; // [0.62890625]
storage[422] = 11'b10100100000; // [0.640625]
storage[423] = 11'b10100101000; // [0.64453125]
storage[424] = 11'b10100111000; // [0.65234375]
storage[425] = 11'b10101010000; // [0.6640625]
storage[426] = 11'b10101100000; // [0.671875]
storage[427] = 11'b10101110000; // [0.6796875]
storage[428] = 11'b10110000000; // [0.6875]
storage[429] = 11'b10110001000; // [0.69140625]
storage[430] = 11'b10110010000; // [0.6953125]
storage[431] = 11'b01111100000; // [0.484375]
storage[432] = 11'b00111010000; // [0.2265625]
storage[433] = 11'b01011111000; // [0.37109375]
storage[434] = 11'b10100110000; // [0.6484375]
storage[435] = 11'b10110001000; // [0.69140625]
storage[436] = 11'b01110111000; // [0.46484375]
storage[437] = 11'b00101111000; // [0.18359375]
storage[438] = 11'b01010101000; // [0.33203125]
storage[439] = 11'b10101100000; // [0.671875]
storage[440] = 11'b10110001000; // [0.69140625]
storage[441] = 11'b10110001000; // [0.69140625]
storage[442] = 11'b10110000000; // [0.6875]
storage[443] = 11'b10101110000; // [0.6796875]
storage[444] = 11'b10101101000; // [0.67578125]
storage[445] = 11'b10101010000; // [0.6640625]
storage[446] = 11'b10101000000; // [0.65625]
storage[447] = 11'b10100111000; // [0.65234375]
storage[448] = 11'b10011110000; // [0.6171875]
storage[449] = 11'b10100001000; // [0.62890625]
storage[450] = 11'b10100101000; // [0.64453125]
storage[451] = 11'b10100110000; // [0.6484375]
storage[452] = 11'b10101001000; // [0.66015625]
storage[453] = 11'b10101011000; // [0.66796875]
storage[454] = 11'b10101100000; // [0.671875]
storage[455] = 11'b10101110000; // [0.6796875]
storage[456] = 11'b10110000000; // [0.6875]
storage[457] = 11'b10110001000; // [0.69140625]
storage[458] = 11'b10110010000; // [0.6953125]
storage[459] = 11'b10101010000; // [0.6640625]
storage[460] = 11'b10010000000; // [0.5625]
storage[461] = 11'b10101010000; // [0.6640625]
storage[462] = 11'b10110010000; // [0.6953125]
storage[463] = 11'b10110010000; // [0.6953125]
storage[464] = 11'b01110110000; // [0.4609375]
storage[465] = 11'b00110001000; // [0.19140625]
storage[466] = 11'b01101010000; // [0.4140625]
storage[467] = 11'b10110010000; // [0.6953125]
storage[468] = 11'b10110001000; // [0.69140625]
storage[469] = 11'b10110001000; // [0.69140625]
storage[470] = 11'b10110000000; // [0.6875]
storage[471] = 11'b10101110000; // [0.6796875]
storage[472] = 11'b10101100000; // [0.671875]
storage[473] = 11'b10101010000; // [0.6640625]
storage[474] = 11'b10101001000; // [0.66015625]
storage[475] = 11'b10100110000; // [0.6484375]
storage[476] = 11'b10011110000; // [0.6171875]
storage[477] = 11'b10100001000; // [0.62890625]
storage[478] = 11'b10100011000; // [0.63671875]
storage[479] = 11'b10100111000; // [0.65234375]
storage[480] = 11'b10101001000; // [0.66015625]
storage[481] = 11'b10101100000; // [0.671875]
storage[482] = 11'b10101101000; // [0.67578125]
storage[483] = 11'b10101110000; // [0.6796875]
storage[484] = 11'b10110000000; // [0.6875]
storage[485] = 11'b10110010000; // [0.6953125]
storage[486] = 11'b10110011000; // [0.69921875]
storage[487] = 11'b10110010000; // [0.6953125]
storage[488] = 11'b10110010000; // [0.6953125]
storage[489] = 11'b10110011000; // [0.69921875]
storage[490] = 11'b10110010000; // [0.6953125]
storage[491] = 11'b10110001000; // [0.69140625]
storage[492] = 11'b01110100000; // [0.453125]
storage[493] = 11'b00110011000; // [0.19921875]
storage[494] = 11'b01111101000; // [0.48828125]
storage[495] = 11'b10110010000; // [0.6953125]
storage[496] = 11'b10110011000; // [0.69921875]
storage[497] = 11'b10110001000; // [0.69140625]
storage[498] = 11'b10110000000; // [0.6875]
storage[499] = 11'b10101110000; // [0.6796875]
storage[500] = 11'b10101100000; // [0.671875]
storage[501] = 11'b10101010000; // [0.6640625]
storage[502] = 11'b10101000000; // [0.65625]
storage[503] = 11'b10100110000; // [0.6484375]
storage[504] = 11'b10011110000; // [0.6171875]
storage[505] = 11'b10100000000; // [0.625]
storage[506] = 11'b10100010000; // [0.6328125]
storage[507] = 11'b10100101000; // [0.64453125]
storage[508] = 11'b10101000000; // [0.65625]
storage[509] = 11'b10101011000; // [0.66796875]
storage[510] = 11'b10101101000; // [0.67578125]
storage[511] = 11'b10101111000; // [0.68359375]
storage[512] = 11'b10110000000; // [0.6875]
storage[513] = 11'b10110010000; // [0.6953125]
storage[514] = 11'b10110011000; // [0.69921875]
storage[515] = 11'b10110011000; // [0.69921875]
storage[516] = 11'b10110010000; // [0.6953125]
storage[517] = 11'b10110010000; // [0.6953125]
storage[518] = 11'b10110010000; // [0.6953125]
storage[519] = 11'b10110000000; // [0.6875]
storage[520] = 11'b01101011000; // [0.41796875]
storage[521] = 11'b00110100000; // [0.203125]
storage[522] = 11'b10000100000; // [0.515625]
storage[523] = 11'b10110000000; // [0.6875]
storage[524] = 11'b10110000000; // [0.6875]
storage[525] = 11'b10110001000; // [0.69140625]
storage[526] = 11'b10110000000; // [0.6875]
storage[527] = 11'b10101101000; // [0.67578125]
storage[528] = 11'b10101011000; // [0.66796875]
storage[529] = 11'b10101000000; // [0.65625]
storage[530] = 11'b10100111000; // [0.65234375]
storage[531] = 11'b10100111000; // [0.65234375]
storage[532] = 11'b10011110000; // [0.6171875]
storage[533] = 11'b10100000000; // [0.625]
storage[534] = 11'b10100011000; // [0.63671875]
storage[535] = 11'b10100101000; // [0.64453125]
storage[536] = 11'b10100111000; // [0.65234375]
storage[537] = 11'b10101010000; // [0.6640625]
storage[538] = 11'b10101100000; // [0.671875]
storage[539] = 11'b10101110000; // [0.6796875]
storage[540] = 11'b10101110000; // [0.6796875]
storage[541] = 11'b10110000000; // [0.6875]
storage[542] = 11'b10110010000; // [0.6953125]
storage[543] = 11'b10110010000; // [0.6953125]
storage[544] = 11'b10110010000; // [0.6953125]
storage[545] = 11'b10110001000; // [0.69140625]
storage[546] = 11'b10110001000; // [0.69140625]
storage[547] = 11'b10110000000; // [0.6875]
storage[548] = 11'b01100011000; // [0.38671875]
storage[549] = 11'b00110011000; // [0.19921875]
storage[550] = 11'b10001000000; // [0.53125]
storage[551] = 11'b10101111000; // [0.68359375]
storage[552] = 11'b10101111000; // [0.68359375]
storage[553] = 11'b10101111000; // [0.68359375]
storage[554] = 11'b10101110000; // [0.6796875]
storage[555] = 11'b10101100000; // [0.671875]
storage[556] = 11'b10101001000; // [0.66015625]
storage[557] = 11'b10101000000; // [0.65625]
storage[558] = 11'b10100111000; // [0.65234375]
storage[559] = 11'b10100100000; // [0.640625]
storage[560] = 11'b10011100000; // [0.609375]
storage[561] = 11'b10011111000; // [0.62109375]
storage[562] = 11'b10100010000; // [0.6328125]
storage[563] = 11'b10100011000; // [0.63671875]
storage[564] = 11'b10100110000; // [0.6484375]
storage[565] = 11'b10101010000; // [0.6640625]
storage[566] = 11'b10101100000; // [0.671875]
storage[567] = 11'b10101101000; // [0.67578125]
storage[568] = 11'b10101101000; // [0.67578125]
storage[569] = 11'b10101110000; // [0.6796875]
storage[570] = 11'b10101111000; // [0.68359375]
storage[571] = 11'b10110001000; // [0.69140625]
storage[572] = 11'b10110001000; // [0.69140625]
storage[573] = 11'b10110001000; // [0.69140625]
storage[574] = 11'b10110000000; // [0.6875]
storage[575] = 11'b10101100000; // [0.671875]
storage[576] = 11'b01011001000; // [0.34765625]
storage[577] = 11'b00110010000; // [0.1953125]
storage[578] = 11'b10000110000; // [0.5234375]
storage[579] = 11'b10101110000; // [0.6796875]
storage[580] = 11'b10101110000; // [0.6796875]
storage[581] = 11'b10101101000; // [0.67578125]
storage[582] = 11'b10101100000; // [0.671875]
storage[583] = 11'b10101010000; // [0.6640625]
storage[584] = 11'b10101000000; // [0.65625]
storage[585] = 11'b10100111000; // [0.65234375]
storage[586] = 11'b10100110000; // [0.6484375]
storage[587] = 11'b10100010000; // [0.6328125]
storage[588] = 11'b10011010000; // [0.6015625]
storage[589] = 11'b10011101000; // [0.61328125]
storage[590] = 11'b10100000000; // [0.625]
storage[591] = 11'b10100010000; // [0.6328125]
storage[592] = 11'b10100100000; // [0.640625]
storage[593] = 11'b10101000000; // [0.65625]
storage[594] = 11'b10101001000; // [0.66015625]
storage[595] = 11'b10101010000; // [0.6640625]
storage[596] = 11'b10101100000; // [0.671875]
storage[597] = 11'b10101101000; // [0.67578125]
storage[598] = 11'b10101110000; // [0.6796875]
storage[599] = 11'b10101111000; // [0.68359375]
storage[600] = 11'b10101111000; // [0.68359375]
storage[601] = 11'b10101111000; // [0.68359375]
storage[602] = 11'b10101110000; // [0.6796875]
storage[603] = 11'b10101001000; // [0.66015625]
storage[604] = 11'b01010110000; // [0.3359375]
storage[605] = 11'b00110010000; // [0.1953125]
storage[606] = 11'b10000110000; // [0.5234375]
storage[607] = 11'b10101100000; // [0.671875]
storage[608] = 11'b10101100000; // [0.671875]
storage[609] = 11'b10101100000; // [0.671875]
storage[610] = 11'b10101011000; // [0.66796875]
storage[611] = 11'b10101000000; // [0.65625]
storage[612] = 11'b10100111000; // [0.65234375]
storage[613] = 11'b10100110000; // [0.6484375]
storage[614] = 11'b10100011000; // [0.63671875]
storage[615] = 11'b10100001000; // [0.62890625]
storage[616] = 11'b10011001000; // [0.59765625]
storage[617] = 11'b10011100000; // [0.609375]
storage[618] = 11'b10011111000; // [0.62109375]
storage[619] = 11'b10100001000; // [0.62890625]
storage[620] = 11'b10100011000; // [0.63671875]
storage[621] = 11'b10100110000; // [0.6484375]
storage[622] = 11'b10100111000; // [0.65234375]
storage[623] = 11'b10101000000; // [0.65625]
storage[624] = 11'b10101011000; // [0.66796875]
storage[625] = 11'b10101100000; // [0.671875]
storage[626] = 11'b10101101000; // [0.67578125]
storage[627] = 11'b10101101000; // [0.67578125]
storage[628] = 11'b10101110000; // [0.6796875]
storage[629] = 11'b10101101000; // [0.67578125]
storage[630] = 11'b10101100000; // [0.671875]
storage[631] = 11'b10100100000; // [0.640625]
storage[632] = 11'b01001001000; // [0.28515625]
storage[633] = 11'b00110000000; // [0.1875]
storage[634] = 11'b01111010000; // [0.4765625]
storage[635] = 11'b10101010000; // [0.6640625]
storage[636] = 11'b10101010000; // [0.6640625]
storage[637] = 11'b10101001000; // [0.66015625]
storage[638] = 11'b10101000000; // [0.65625]
storage[639] = 11'b10100111000; // [0.65234375]
storage[640] = 11'b10100110000; // [0.6484375]
storage[641] = 11'b10100100000; // [0.640625]
storage[642] = 11'b10100001000; // [0.62890625]
storage[643] = 11'b10011111000; // [0.62109375]
storage[644] = 11'b10011000000; // [0.59375]
storage[645] = 11'b10011011000; // [0.60546875]
storage[646] = 11'b10011101000; // [0.61328125]
storage[647] = 11'b10100000000; // [0.625]
storage[648] = 11'b10100010000; // [0.6328125]
storage[649] = 11'b10100010000; // [0.6328125]
storage[650] = 11'b10100101000; // [0.64453125]
storage[651] = 11'b10100111000; // [0.65234375]
storage[652] = 11'b10101001000; // [0.66015625]
storage[653] = 11'b10101011000; // [0.66796875]
storage[654] = 11'b10101011000; // [0.66796875]
storage[655] = 11'b10101100000; // [0.671875]
storage[656] = 11'b10101100000; // [0.671875]
storage[657] = 11'b10101010000; // [0.6640625]
storage[658] = 11'b10101001000; // [0.66015625]
storage[659] = 11'b10100000000; // [0.625]
storage[660] = 11'b01000111000; // [0.27734375]
storage[661] = 11'b00101101000; // [0.17578125]
storage[662] = 11'b01110011000; // [0.44921875]
storage[663] = 11'b10100100000; // [0.640625]
storage[664] = 11'b10100011000; // [0.63671875]
storage[665] = 11'b10100010000; // [0.6328125]
storage[666] = 11'b10100101000; // [0.64453125]
storage[667] = 11'b10100100000; // [0.640625]
storage[668] = 11'b10100011000; // [0.63671875]
storage[669] = 11'b10100010000; // [0.6328125]
storage[670] = 11'b10100000000; // [0.625]
storage[671] = 11'b10011110000; // [0.6171875]
storage[672] = 11'b10010110000; // [0.5859375]
storage[673] = 11'b10011010000; // [0.6015625]
storage[674] = 11'b10011011000; // [0.60546875]
storage[675] = 11'b10011110000; // [0.6171875]
storage[676] = 11'b10100000000; // [0.625]
storage[677] = 11'b10100011000; // [0.63671875]
storage[678] = 11'b10100010000; // [0.6328125]
storage[679] = 11'b10100101000; // [0.64453125]
storage[680] = 11'b10100111000; // [0.65234375]
storage[681] = 11'b10101001000; // [0.66015625]
storage[682] = 11'b10101011000; // [0.66796875]
storage[683] = 11'b10101011000; // [0.66796875]
storage[684] = 11'b10100111000; // [0.65234375]
storage[685] = 11'b01110111000; // [0.46484375]
storage[686] = 11'b01100101000; // [0.39453125]
storage[687] = 11'b01011001000; // [0.34765625]
storage[688] = 11'b00101111000; // [0.18359375]
storage[689] = 11'b00101011000; // [0.16796875]
storage[690] = 11'b01000111000; // [0.27734375]
storage[691] = 11'b01011100000; // [0.359375]
storage[692] = 11'b01010100000; // [0.328125]
storage[693] = 11'b01011000000; // [0.34375]
storage[694] = 11'b10001101000; // [0.55078125]
storage[695] = 11'b10100001000; // [0.62890625]
storage[696] = 11'b10100001000; // [0.62890625]
storage[697] = 11'b10100000000; // [0.625]
storage[698] = 11'b10011101000; // [0.61328125]
storage[699] = 11'b10011011000; // [0.60546875]
storage[700] = 11'b10010101000; // [0.58203125]
storage[701] = 11'b10010111000; // [0.58984375]
storage[702] = 11'b10011010000; // [0.6015625]
storage[703] = 11'b10011100000; // [0.609375]
storage[704] = 11'b10011111000; // [0.62109375]
storage[705] = 11'b10100000000; // [0.625]
storage[706] = 11'b10100010000; // [0.6328125]
storage[707] = 11'b10100011000; // [0.63671875]
storage[708] = 11'b10100101000; // [0.64453125]
storage[709] = 11'b10100110000; // [0.6484375]
storage[710] = 11'b10101000000; // [0.65625]
storage[711] = 11'b10101000000; // [0.65625]
storage[712] = 11'b10011000000; // [0.59375]
storage[713] = 11'b01000000000; // [0.25]
storage[714] = 11'b00101101000; // [0.17578125]
storage[715] = 11'b00101001000; // [0.16015625]
storage[716] = 11'b00101001000; // [0.16015625]
storage[717] = 11'b00101100000; // [0.171875]
storage[718] = 11'b00101110000; // [0.1796875]
storage[719] = 11'b00101110000; // [0.1796875]
storage[720] = 11'b00101111000; // [0.18359375]
storage[721] = 11'b00110100000; // [0.203125]
storage[722] = 11'b01100010000; // [0.3828125]
storage[723] = 11'b10011111000; // [0.62109375]
storage[724] = 11'b10100000000; // [0.625]
storage[725] = 11'b10011101000; // [0.61328125]
storage[726] = 11'b10011011000; // [0.60546875]
storage[727] = 11'b10011001000; // [0.59765625]
storage[728] = 11'b10010011000; // [0.57421875]
storage[729] = 11'b10010110000; // [0.5859375]
storage[730] = 11'b10011000000; // [0.59375]
storage[731] = 11'b10011010000; // [0.6015625]
storage[732] = 11'b10011101000; // [0.61328125]
storage[733] = 11'b10011111000; // [0.62109375]
storage[734] = 11'b10100000000; // [0.625]
storage[735] = 11'b10100010000; // [0.6328125]
storage[736] = 11'b10100011000; // [0.63671875]
storage[737] = 11'b10100100000; // [0.640625]
storage[738] = 11'b10100110000; // [0.6484375]
storage[739] = 11'b10100111000; // [0.65234375]
storage[740] = 11'b10010100000; // [0.578125]
storage[741] = 11'b00111110000; // [0.2421875]
storage[742] = 11'b00101101000; // [0.17578125]
storage[743] = 11'b00110001000; // [0.19140625]
storage[744] = 11'b00110101000; // [0.20703125]
storage[745] = 11'b00110001000; // [0.19140625]
storage[746] = 11'b00110000000; // [0.1875]
storage[747] = 11'b00111001000; // [0.22265625]
storage[748] = 11'b00111111000; // [0.24609375]
storage[749] = 11'b01001011000; // [0.29296875]
storage[750] = 11'b01111001000; // [0.47265625]
storage[751] = 11'b10011111000; // [0.62109375]
storage[752] = 11'b10011110000; // [0.6171875]
storage[753] = 11'b10011011000; // [0.60546875]
storage[754] = 11'b10011000000; // [0.59375]
storage[755] = 11'b10010111000; // [0.58984375]
storage[756] = 11'b10010010000; // [0.5703125]
storage[757] = 11'b10010101000; // [0.58203125]
storage[758] = 11'b10010111000; // [0.58984375]
storage[759] = 11'b10011001000; // [0.59765625]
storage[760] = 11'b10011011000; // [0.60546875]
storage[761] = 11'b10011100000; // [0.609375]
storage[762] = 11'b10011111000; // [0.62109375]
storage[763] = 11'b10100000000; // [0.625]
storage[764] = 11'b10100001000; // [0.62890625]
storage[765] = 11'b10100010000; // [0.6328125]
storage[766] = 11'b10100100000; // [0.640625]
storage[767] = 11'b10100100000; // [0.640625]
storage[768] = 11'b10011001000; // [0.59765625]
storage[769] = 11'b01101000000; // [0.40625]
storage[770] = 11'b01101100000; // [0.421875]
storage[771] = 11'b10000011000; // [0.51171875]
storage[772] = 11'b10001101000; // [0.55078125]
storage[773] = 11'b01111010000; // [0.4765625]
storage[774] = 11'b01111101000; // [0.48828125]
storage[775] = 11'b10001111000; // [0.55859375]
storage[776] = 11'b10010100000; // [0.578125]
storage[777] = 11'b10011000000; // [0.59375]
storage[778] = 11'b10011101000; // [0.61328125]
storage[779] = 11'b10011101000; // [0.61328125]
storage[780] = 11'b10011011000; // [0.60546875]
storage[781] = 11'b10011001000; // [0.59765625]
storage[782] = 11'b10010111000; // [0.58984375]
storage[783] = 11'b10010110000; // [0.5859375]
end
endmodule
num_conv
variable inr05_verilog_generator_neural_net_structure.py
file only regulate how many computational blocks will be generated in verilog code. Structure of neural net in this project always the same.
thank you for your reply! ! ! What do you mean by computational blocks here? Does it mean the number of convolutional blocks? The more computational blocks, the faster the calculation, right? In the current verilog/code/neuroset verilog, it seems that the neural network architecture of Figure 1 cannot be seen. For example, maxpooling is only called once in TOP, but maxpooling is used 3 times in the architecture of Figure 1. fig:1 fig:2
num_conv
variable inr05_verilog_generator_neural_net_structure.py
file only regulate how many computational blocks will be generated in verilog code. Structure of neural net in this project always the same.
@ZFTurbo Hello! After reading your paper, I still have a few questions I want to ask you
After using
convert_image_for_testbench.py
did you replace image in testbench.v file? Can you upload your version of testbench.v? @ZFTurbo Yes, I replaced the storage part of the initial in the testbench For example, the following display "// Answer: 1", the result should be 1, but the result is 2 However, after the storage data generated in the following figure 1 is simulated, the all result is equal to "a" And so far no simulation correct image data has been found in the data generated by convert_image_for_testbench.py. I'm very confused about this, I don't know where the problem is, I hope you can give pointers, thank you very much fig:1testbench.v
module test(); parameter SIZE=12; reg clk; reg GO; reg signed [SIZE-1:0] storage [0:783]; reg we_database; reg [SIZE-1:0] dp_database; reg [12:0] address_p_database; reg [9:0] x; wire STOP; wire [3:0] RESULT; TOP TOP( .clk (clk), .GO (GO), .RESULT (RESULT), .we_database (we_database), .dp_database (dp_database), .address_p_database (address_p_database-1'b1), .STOP (STOP) ); initial begin clk=0; address_p_database=0; x=0; we_database=1; #200 GO=1; end always #10 clk=~clk; always @(posedge clk) begin if (we_database) begin if (address_p_database<=783) begin dp_database = storage[address_p_database]; address_p_database=address_p_database+1'b1; end else we_database=0; end if ((x<=28*28)&&(GO)) x=x+1; else GO=0; if (STOP==1) begin $display("RESULT: %d",RESULT); $finish; end end // Precision: 12 // Image size: 28x28 // Answer: 1 initial begin storage[0] = 11'b10001010000; // [0.5390625] storage[1] = 11'b10001110000; // [0.5546875] storage[2] = 11'b10010010000; // [0.5703125] storage[3] = 11'b10010101000; // [0.58203125] storage[4] = 11'b10010110000; // [0.5859375] storage[5] = 11'b10011000000; // [0.59375] storage[6] = 11'b10011011000; // [0.60546875] storage[7] = 11'b10011100000; // [0.609375] storage[8] = 11'b10011101000; // [0.61328125] storage[9] = 11'b10011110000; // [0.6171875] storage[10] = 11'b10100000000; // [0.625] storage[11] = 11'b10011111000; // [0.62109375] storage[12] = 11'b10100000000; // [0.625] storage[13] = 11'b10100000000; // [0.625] storage[14] = 11'b10100000000; // [0.625] storage[15] = 11'b10100001000; // [0.62890625] storage[16] = 11'b10100000000; // [0.625] storage[17] = 11'b10100000000; // [0.625] storage[18] = 11'b10011111000; // [0.62109375] storage[19] = 11'b10011111000; // [0.62109375] storage[20] = 11'b10011110000; // [0.6171875] storage[21] = 11'b10011110000; // [0.6171875] storage[22] = 11'b10011110000; // [0.6171875] storage[23] = 11'b10011101000; // [0.61328125] storage[24] = 11'b10011100000; // [0.609375] storage[25] = 11'b10011010000; // [0.6015625] storage[26] = 11'b10011000000; // [0.59375] storage[27] = 11'b10010111000; // [0.58984375] storage[28] = 11'b10001100000; // [0.546875] storage[29] = 11'b10001111000; // [0.55859375] storage[30] = 11'b10010011000; // [0.57421875] storage[31] = 11'b10010101000; // [0.58203125] storage[32] = 11'b10010110000; // [0.5859375] storage[33] = 11'b10011000000; // [0.59375] storage[34] = 11'b10011010000; // [0.6015625] storage[35] = 11'b10011100000; // [0.609375] storage[36] = 11'b10011110000; // [0.6171875] storage[37] = 11'b10100000000; // [0.625] storage[38] = 11'b10100010000; // [0.6328125] storage[39] = 11'b10100010000; // [0.6328125] storage[40] = 11'b10100010000; // [0.6328125] storage[41] = 11'b10100010000; // [0.6328125] storage[42] = 11'b10100011000; // [0.63671875] storage[43] = 11'b10100100000; // [0.640625] storage[44] = 11'b10100011000; // [0.63671875] storage[45] = 11'b10100010000; // [0.6328125] storage[46] = 11'b10100010000; // [0.6328125] storage[47] = 11'b10100001000; // [0.62890625] storage[48] = 11'b10100001000; // [0.62890625] storage[49] = 11'b10100000000; // [0.625] storage[50] = 11'b10100000000; // [0.625] storage[51] = 11'b10011110000; // [0.6171875] storage[52] = 11'b10011101000; // [0.61328125] storage[53] = 11'b10011100000; // [0.609375] storage[54] = 11'b10011011000; // [0.60546875] storage[55] = 11'b10010111000; // [0.58984375] storage[56] = 11'b10001111000; // [0.55859375] storage[57] = 11'b10010010000; // [0.5703125] storage[58] = 11'b10010101000; // [0.58203125] storage[59] = 11'b10010110000; // [0.5859375] storage[60] = 11'b10011000000; // [0.59375] storage[61] = 11'b10011011000; // [0.60546875] storage[62] = 11'b10011100000; // [0.609375] storage[63] = 11'b10011111000; // [0.62109375] storage[64] = 11'b10100001000; // [0.62890625] storage[65] = 11'b10100011000; // [0.63671875] storage[66] = 11'b10100100000; // [0.640625] storage[67] = 11'b10100100000; // [0.640625] storage[68] = 11'b10100101000; // [0.64453125] storage[69] = 11'b10100110000; // [0.6484375] storage[70] = 11'b10100110000; // [0.6484375] storage[71] = 11'b10100110000; // [0.6484375] storage[72] = 11'b10100110000; // [0.6484375] storage[73] = 11'b10100110000; // [0.6484375] storage[74] = 11'b10100101000; // [0.64453125] storage[75] = 11'b10100100000; // [0.640625] storage[76] = 11'b10100100000; // [0.640625] storage[77] = 11'b10100011000; // [0.63671875] storage[78] = 11'b10100001000; // [0.62890625] storage[79] = 11'b10011111000; // [0.62109375] storage[80] = 11'b10011110000; // [0.6171875] storage[81] = 11'b10011101000; // [0.61328125] storage[82] = 11'b10011100000; // [0.609375] storage[83] = 11'b10011001000; // [0.59765625] storage[84] = 11'b10010010000; // [0.5703125] storage[85] = 11'b10010101000; // [0.58203125] storage[86] = 11'b10010111000; // [0.58984375] storage[87] = 11'b10011001000; // [0.59765625] storage[88] = 11'b10011011000; // [0.60546875] storage[89] = 11'b10011110000; // [0.6171875] storage[90] = 11'b10011111000; // [0.62109375] storage[91] = 11'b10100001000; // [0.62890625] storage[92] = 11'b10100011000; // [0.63671875] storage[93] = 11'b10100101000; // [0.64453125] storage[94] = 11'b10100101000; // [0.64453125] storage[95] = 11'b10100110000; // [0.6484375] storage[96] = 11'b10100111000; // [0.65234375] storage[97] = 11'b10101001000; // [0.66015625] storage[98] = 11'b10101010000; // [0.6640625] storage[99] = 11'b10101001000; // [0.66015625] storage[100] = 11'b10101000000; // [0.65625] storage[101] = 11'b10100111000; // [0.65234375] storage[102] = 11'b10101000000; // [0.65625] storage[103] = 11'b10100101000; // [0.64453125] storage[104] = 11'b10100111000; // [0.65234375] storage[105] = 11'b10100110000; // [0.6484375] storage[106] = 11'b10100100000; // [0.640625] storage[107] = 11'b10100001000; // [0.62890625] storage[108] = 11'b10100000000; // [0.625] storage[109] = 11'b10011111000; // [0.62109375] storage[110] = 11'b10011101000; // [0.61328125] storage[111] = 11'b10011100000; // [0.609375] storage[112] = 11'b10010011000; // [0.57421875] storage[113] = 11'b10010110000; // [0.5859375] storage[114] = 11'b10011000000; // [0.59375] storage[115] = 11'b10011011000; // [0.60546875] storage[116] = 11'b10011101000; // [0.61328125] storage[117] = 11'b10011111000; // [0.62109375] storage[118] = 11'b10100001000; // [0.62890625] storage[119] = 11'b10100010000; // [0.6328125] storage[120] = 11'b10100101000; // [0.64453125] storage[121] = 11'b10100110000; // [0.6484375] storage[122] = 11'b10100111000; // [0.65234375] storage[123] = 11'b10101000000; // [0.65625] storage[124] = 11'b10101010000; // [0.6640625] storage[125] = 11'b10101100000; // [0.671875] storage[126] = 11'b10101100000; // [0.671875] storage[127] = 11'b10101011000; // [0.66796875] storage[128] = 11'b10101001000; // [0.66015625] storage[129] = 11'b10101000000; // [0.65625] storage[130] = 11'b10100111000; // [0.65234375] storage[131] = 11'b10100111000; // [0.65234375] storage[132] = 11'b10100110000; // [0.6484375] storage[133] = 11'b10100111000; // [0.65234375] storage[134] = 11'b10100110000; // [0.6484375] storage[135] = 11'b10100101000; // [0.64453125] storage[136] = 11'b10100010000; // [0.6328125] storage[137] = 11'b10100010000; // [0.6328125] storage[138] = 11'b10011111000; // [0.62109375] storage[139] = 11'b10011110000; // [0.6171875] storage[140] = 11'b10010100000; // [0.578125] storage[141] = 11'b10010110000; // [0.5859375] storage[142] = 11'b10011001000; // [0.59765625] storage[143] = 11'b10011100000; // [0.609375] storage[144] = 11'b10011111000; // [0.62109375] storage[145] = 11'b10100001000; // [0.62890625] storage[146] = 11'b10100011000; // [0.63671875] storage[147] = 11'b10100011000; // [0.63671875] storage[148] = 11'b10100111000; // [0.65234375] storage[149] = 11'b10101000000; // [0.65625] storage[150] = 11'b10101010000; // [0.6640625] storage[151] = 11'b10101010000; // [0.6640625] storage[152] = 11'b10101011000; // [0.66796875] storage[153] = 11'b10101100000; // [0.671875] storage[154] = 11'b10101101000; // [0.67578125] storage[155] = 11'b10101101000; // [0.67578125] storage[156] = 11'b10101100000; // [0.671875] storage[157] = 11'b10101010000; // [0.6640625] storage[158] = 11'b10100000000; // [0.625] storage[159] = 11'b10100010000; // [0.6328125] storage[160] = 11'b10101000000; // [0.65625] storage[161] = 11'b10101000000; // [0.65625] storage[162] = 11'b10100111000; // [0.65234375] storage[163] = 11'b10100101000; // [0.64453125] storage[164] = 11'b10100101000; // [0.64453125] storage[165] = 11'b10100100000; // [0.640625] storage[166] = 11'b10100001000; // [0.62890625] storage[167] = 11'b10011111000; // [0.62109375] storage[168] = 11'b10010110000; // [0.5859375] storage[169] = 11'b10011001000; // [0.59765625] storage[170] = 11'b10011011000; // [0.60546875] storage[171] = 11'b10011111000; // [0.62109375] storage[172] = 11'b10100001000; // [0.62890625] storage[173] = 11'b10100010000; // [0.6328125] storage[174] = 11'b10100101000; // [0.64453125] storage[175] = 11'b10100110000; // [0.6484375] storage[176] = 11'b10101000000; // [0.65625] storage[177] = 11'b10101010000; // [0.6640625] storage[178] = 11'b10101100000; // [0.671875] storage[179] = 11'b10101100000; // [0.671875] storage[180] = 11'b10101100000; // [0.671875] storage[181] = 11'b10101101000; // [0.67578125] storage[182] = 11'b10101110000; // [0.6796875] storage[183] = 11'b10101111000; // [0.68359375] storage[184] = 11'b10101110000; // [0.6796875] storage[185] = 11'b10001000000; // [0.53125] storage[186] = 11'b01000101000; // [0.26953125] storage[187] = 11'b01011101000; // [0.36328125] storage[188] = 11'b10100101000; // [0.64453125] storage[189] = 11'b10101010000; // [0.6640625] storage[190] = 11'b10101000000; // [0.65625] storage[191] = 11'b10101000000; // [0.65625] storage[192] = 11'b10100110000; // [0.6484375] storage[193] = 11'b10100110000; // [0.6484375] storage[194] = 11'b10100011000; // [0.63671875] storage[195] = 11'b10100001000; // [0.62890625] storage[196] = 11'b10011000000; // [0.59375] storage[197] = 11'b10011011000; // [0.60546875] storage[198] = 11'b10011101000; // [0.61328125] storage[199] = 11'b10100000000; // [0.625] storage[200] = 11'b10100011000; // [0.63671875] storage[201] = 11'b10100110000; // [0.6484375] storage[202] = 11'b10100110000; // [0.6484375] storage[203] = 11'b10101000000; // [0.65625] storage[204] = 11'b10101011000; // [0.66796875] storage[205] = 11'b10101100000; // [0.671875] storage[206] = 11'b10101101000; // [0.67578125] storage[207] = 11'b10101110000; // [0.6796875] storage[208] = 11'b10101111000; // [0.68359375] storage[209] = 11'b10101111000; // [0.68359375] storage[210] = 11'b10101111000; // [0.68359375] storage[211] = 11'b10110000000; // [0.6875] storage[212] = 11'b10011011000; // [0.60546875] storage[213] = 11'b00111010000; // [0.2265625] storage[214] = 11'b00101010000; // [0.1640625] storage[215] = 11'b01000101000; // [0.26953125] storage[216] = 11'b10100101000; // [0.64453125] storage[217] = 11'b10101100000; // [0.671875] storage[218] = 11'b10101011000; // [0.66796875] storage[219] = 11'b10101001000; // [0.66015625] storage[220] = 11'b10101001000; // [0.66015625] storage[221] = 11'b10101000000; // [0.65625] storage[222] = 11'b10100110000; // [0.6484375] storage[223] = 11'b10100011000; // [0.63671875] storage[224] = 11'b10011010000; // [0.6015625] storage[225] = 11'b10011101000; // [0.61328125] storage[226] = 11'b10100000000; // [0.625] storage[227] = 11'b10100010000; // [0.6328125] storage[228] = 11'b10100100000; // [0.640625] storage[229] = 11'b10100110000; // [0.6484375] storage[230] = 11'b10101000000; // [0.65625] storage[231] = 11'b10101001000; // [0.66015625] storage[232] = 11'b10101101000; // [0.67578125] storage[233] = 11'b10101110000; // [0.6796875] storage[234] = 11'b10101110000; // [0.6796875] storage[235] = 11'b10110000000; // [0.6875] storage[236] = 11'b10110010000; // [0.6953125] storage[237] = 11'b10110010000; // [0.6953125] storage[238] = 11'b10110001000; // [0.69140625] storage[239] = 11'b10101111000; // [0.68359375] storage[240] = 11'b01110000000; // [0.4375] storage[241] = 11'b00101001000; // [0.16015625] storage[242] = 11'b00100111000; // [0.15234375] storage[243] = 11'b01010110000; // [0.3359375] storage[244] = 11'b10101001000; // [0.66015625] storage[245] = 11'b10101101000; // [0.67578125] storage[246] = 11'b10101100000; // [0.671875] storage[247] = 11'b10101011000; // [0.66796875] storage[248] = 11'b10101010000; // [0.6640625] storage[249] = 11'b10101000000; // [0.65625] storage[250] = 11'b10101000000; // [0.65625] storage[251] = 11'b10100100000; // [0.640625] storage[252] = 11'b10011100000; // [0.609375] storage[253] = 11'b10011110000; // [0.6171875] storage[254] = 11'b10100001000; // [0.62890625] storage[255] = 11'b10100011000; // [0.63671875] storage[256] = 11'b10100110000; // [0.6484375] storage[257] = 11'b10101000000; // [0.65625] storage[258] = 11'b10101010000; // [0.6640625] storage[259] = 11'b10101100000; // [0.671875] storage[260] = 11'b10101110000; // [0.6796875] storage[261] = 11'b10101111000; // [0.68359375] storage[262] = 11'b10110000000; // [0.6875] storage[263] = 11'b10110001000; // [0.69140625] storage[264] = 11'b10110010000; // [0.6953125] storage[265] = 11'b10110010000; // [0.6953125] storage[266] = 11'b10110001000; // [0.69140625] storage[267] = 11'b10100101000; // [0.64453125] storage[268] = 11'b01000001000; // [0.25390625] storage[269] = 11'b00100110000; // [0.1484375] storage[270] = 11'b00100111000; // [0.15234375] storage[271] = 11'b01101010000; // [0.4140625] storage[272] = 11'b10101101000; // [0.67578125] storage[273] = 11'b10101101000; // [0.67578125] storage[274] = 11'b10101100000; // [0.671875] storage[275] = 11'b10101100000; // [0.671875] storage[276] = 11'b10101010000; // [0.6640625] storage[277] = 11'b10101001000; // [0.66015625] storage[278] = 11'b10100110000; // [0.6484375] storage[279] = 11'b10100101000; // [0.64453125] storage[280] = 11'b10011100000; // [0.609375] storage[281] = 11'b10011111000; // [0.62109375] storage[282] = 11'b10100001000; // [0.62890625] storage[283] = 11'b10100100000; // [0.640625] storage[284] = 11'b10100111000; // [0.65234375] storage[285] = 11'b10101000000; // [0.65625] storage[286] = 11'b10101001000; // [0.66015625] storage[287] = 11'b10101100000; // [0.671875] storage[288] = 11'b10101110000; // [0.6796875] storage[289] = 11'b10110000000; // [0.6875] storage[290] = 11'b10110001000; // [0.69140625] storage[291] = 11'b10110010000; // [0.6953125] storage[292] = 11'b10110010000; // [0.6953125] storage[293] = 11'b10110011000; // [0.69921875] storage[294] = 11'b10101110000; // [0.6796875] storage[295] = 11'b01110111000; // [0.46484375] storage[296] = 11'b00101100000; // [0.171875] storage[297] = 11'b00100110000; // [0.1484375] storage[298] = 11'b00101011000; // [0.16796875] storage[299] = 11'b01111111000; // [0.49609375] storage[300] = 11'b10101110000; // [0.6796875] storage[301] = 11'b10101101000; // [0.67578125] storage[302] = 11'b10101101000; // [0.67578125] storage[303] = 11'b10101100000; // [0.671875] storage[304] = 11'b10101010000; // [0.6640625] storage[305] = 11'b10101000000; // [0.65625] storage[306] = 11'b10100111000; // [0.65234375] storage[307] = 11'b10100101000; // [0.64453125] storage[308] = 11'b10011101000; // [0.61328125] storage[309] = 11'b10011111000; // [0.62109375] storage[310] = 11'b10100010000; // [0.6328125] storage[311] = 11'b10100100000; // [0.640625] storage[312] = 11'b10100111000; // [0.65234375] storage[313] = 11'b10101010000; // [0.6640625] storage[314] = 11'b10101011000; // [0.66796875] storage[315] = 11'b10101100000; // [0.671875] storage[316] = 11'b10101110000; // [0.6796875] storage[317] = 11'b10110001000; // [0.69140625] storage[318] = 11'b10110010000; // [0.6953125] storage[319] = 11'b10110010000; // [0.6953125] storage[320] = 11'b10110100000; // [0.703125] storage[321] = 11'b10110011000; // [0.69921875] storage[322] = 11'b10000110000; // [0.5234375] storage[323] = 11'b00110110000; // [0.2109375] storage[324] = 11'b00101111000; // [0.18359375] storage[325] = 11'b00101100000; // [0.171875] storage[326] = 11'b00110001000; // [0.19140625] storage[327] = 11'b10010100000; // [0.578125] storage[328] = 11'b10101111000; // [0.68359375] storage[329] = 11'b10101110000; // [0.6796875] storage[330] = 11'b10101110000; // [0.6796875] storage[331] = 11'b10101100000; // [0.671875] storage[332] = 11'b10101011000; // [0.66796875] storage[333] = 11'b10101001000; // [0.66015625] storage[334] = 11'b10101000000; // [0.65625] storage[335] = 11'b10100111000; // [0.65234375] storage[336] = 11'b10011100000; // [0.609375] storage[337] = 11'b10100000000; // [0.625] storage[338] = 11'b10100011000; // [0.63671875] storage[339] = 11'b10100101000; // [0.64453125] storage[340] = 11'b10101000000; // [0.65625] storage[341] = 11'b10101011000; // [0.66796875] storage[342] = 11'b10101100000; // [0.671875] storage[343] = 11'b10101110000; // [0.6796875] storage[344] = 11'b10110000000; // [0.6875] storage[345] = 11'b10110011000; // [0.69921875] storage[346] = 11'b10110100000; // [0.703125] storage[347] = 11'b10110100000; // [0.703125] storage[348] = 11'b10110011000; // [0.69921875] storage[349] = 11'b10001001000; // [0.53515625] storage[350] = 11'b00111100000; // [0.234375] storage[351] = 11'b00110001000; // [0.19140625] storage[352] = 11'b01100011000; // [0.38671875] storage[353] = 11'b00110100000; // [0.203125] storage[354] = 11'b00111010000; // [0.2265625] storage[355] = 11'b10100001000; // [0.62890625] storage[356] = 11'b10110000000; // [0.6875] storage[357] = 11'b10110000000; // [0.6875] storage[358] = 11'b10101110000; // [0.6796875] storage[359] = 11'b10101101000; // [0.67578125] storage[360] = 11'b10101100000; // [0.671875] storage[361] = 11'b10101011000; // [0.66796875] storage[362] = 11'b10101000000; // [0.65625] storage[363] = 11'b10100110000; // [0.6484375] storage[364] = 11'b10011101000; // [0.61328125] storage[365] = 11'b10100000000; // [0.625] storage[366] = 11'b10100011000; // [0.63671875] storage[367] = 11'b10100101000; // [0.64453125] storage[368] = 11'b10101001000; // [0.66015625] storage[369] = 11'b10101011000; // [0.66796875] storage[370] = 11'b10101101000; // [0.67578125] storage[371] = 11'b10101111000; // [0.68359375] storage[372] = 11'b10110001000; // [0.69140625] storage[373] = 11'b10110010000; // [0.6953125] storage[374] = 11'b10110011000; // [0.69921875] storage[375] = 11'b10110010000; // [0.6953125] storage[376] = 11'b10000111000; // [0.52734375] storage[377] = 11'b00111110000; // [0.2421875] storage[378] = 11'b00110001000; // [0.19140625] storage[379] = 11'b01101000000; // [0.40625] storage[380] = 11'b10001101000; // [0.55078125] storage[381] = 11'b00110010000; // [0.1953125] storage[382] = 11'b01000000000; // [0.25] storage[383] = 11'b10100101000; // [0.64453125] storage[384] = 11'b10110001000; // [0.69140625] storage[385] = 11'b10110000000; // [0.6875] storage[386] = 11'b10101110000; // [0.6796875] storage[387] = 11'b10101101000; // [0.67578125] storage[388] = 11'b10101011000; // [0.66796875] storage[389] = 11'b10101010000; // [0.6640625] storage[390] = 11'b10101000000; // [0.65625] storage[391] = 11'b10100110000; // [0.6484375] storage[392] = 11'b10011110000; // [0.6171875] storage[393] = 11'b10100000000; // [0.625] storage[394] = 11'b10100011000; // [0.63671875] storage[395] = 11'b10100101000; // [0.64453125] storage[396] = 11'b10101000000; // [0.65625] storage[397] = 11'b10101011000; // [0.66796875] storage[398] = 11'b10101101000; // [0.67578125] storage[399] = 11'b10101110000; // [0.6796875] storage[400] = 11'b10110001000; // [0.69140625] storage[401] = 11'b10110010000; // [0.6953125] storage[402] = 11'b10110010000; // [0.6953125] storage[403] = 11'b10010001000; // [0.56640625] storage[404] = 11'b00111110000; // [0.2421875] storage[405] = 11'b00110001000; // [0.19140625] storage[406] = 11'b01011100000; // [0.359375] storage[407] = 11'b10100111000; // [0.65234375] storage[408] = 11'b01111110000; // [0.4921875] storage[409] = 11'b00101110000; // [0.1796875] storage[410] = 11'b01000101000; // [0.26953125] storage[411] = 11'b10100111000; // [0.65234375] storage[412] = 11'b10110001000; // [0.69140625] storage[413] = 11'b10101111000; // [0.68359375] storage[414] = 11'b10101111000; // [0.68359375] storage[415] = 11'b10101100000; // [0.671875] storage[416] = 11'b10101011000; // [0.66796875] storage[417] = 11'b10101001000; // [0.66015625] storage[418] = 11'b10100111000; // [0.65234375] storage[419] = 11'b10100110000; // [0.6484375] storage[420] = 11'b10011110000; // [0.6171875] storage[421] = 11'b10100001000; // [0.62890625] storage[422] = 11'b10100100000; // [0.640625] storage[423] = 11'b10100101000; // [0.64453125] storage[424] = 11'b10100111000; // [0.65234375] storage[425] = 11'b10101010000; // [0.6640625] storage[426] = 11'b10101100000; // [0.671875] storage[427] = 11'b10101110000; // [0.6796875] storage[428] = 11'b10110000000; // [0.6875] storage[429] = 11'b10110001000; // [0.69140625] storage[430] = 11'b10110010000; // [0.6953125] storage[431] = 11'b01111100000; // [0.484375] storage[432] = 11'b00111010000; // [0.2265625] storage[433] = 11'b01011111000; // [0.37109375] storage[434] = 11'b10100110000; // [0.6484375] storage[435] = 11'b10110001000; // [0.69140625] storage[436] = 11'b01110111000; // [0.46484375] storage[437] = 11'b00101111000; // [0.18359375] storage[438] = 11'b01010101000; // [0.33203125] storage[439] = 11'b10101100000; // [0.671875] storage[440] = 11'b10110001000; // [0.69140625] storage[441] = 11'b10110001000; // [0.69140625] storage[442] = 11'b10110000000; // [0.6875] storage[443] = 11'b10101110000; // [0.6796875] storage[444] = 11'b10101101000; // [0.67578125] storage[445] = 11'b10101010000; // [0.6640625] storage[446] = 11'b10101000000; // [0.65625] storage[447] = 11'b10100111000; // [0.65234375] storage[448] = 11'b10011110000; // [0.6171875] storage[449] = 11'b10100001000; // [0.62890625] storage[450] = 11'b10100101000; // [0.64453125] storage[451] = 11'b10100110000; // [0.6484375] storage[452] = 11'b10101001000; // [0.66015625] storage[453] = 11'b10101011000; // [0.66796875] storage[454] = 11'b10101100000; // [0.671875] storage[455] = 11'b10101110000; // [0.6796875] storage[456] = 11'b10110000000; // [0.6875] storage[457] = 11'b10110001000; // [0.69140625] storage[458] = 11'b10110010000; // [0.6953125] storage[459] = 11'b10101010000; // [0.6640625] storage[460] = 11'b10010000000; // [0.5625] storage[461] = 11'b10101010000; // [0.6640625] storage[462] = 11'b10110010000; // [0.6953125] storage[463] = 11'b10110010000; // [0.6953125] storage[464] = 11'b01110110000; // [0.4609375] storage[465] = 11'b00110001000; // [0.19140625] storage[466] = 11'b01101010000; // [0.4140625] storage[467] = 11'b10110010000; // [0.6953125] storage[468] = 11'b10110001000; // [0.69140625] storage[469] = 11'b10110001000; // [0.69140625] storage[470] = 11'b10110000000; // [0.6875] storage[471] = 11'b10101110000; // [0.6796875] storage[472] = 11'b10101100000; // [0.671875] storage[473] = 11'b10101010000; // [0.6640625] storage[474] = 11'b10101001000; // [0.66015625] storage[475] = 11'b10100110000; // [0.6484375] storage[476] = 11'b10011110000; // [0.6171875] storage[477] = 11'b10100001000; // [0.62890625] storage[478] = 11'b10100011000; // [0.63671875] storage[479] = 11'b10100111000; // [0.65234375] storage[480] = 11'b10101001000; // [0.66015625] storage[481] = 11'b10101100000; // [0.671875] storage[482] = 11'b10101101000; // [0.67578125] storage[483] = 11'b10101110000; // [0.6796875] storage[484] = 11'b10110000000; // [0.6875] storage[485] = 11'b10110010000; // [0.6953125] storage[486] = 11'b10110011000; // [0.69921875] storage[487] = 11'b10110010000; // [0.6953125] storage[488] = 11'b10110010000; // [0.6953125] storage[489] = 11'b10110011000; // [0.69921875] storage[490] = 11'b10110010000; // [0.6953125] storage[491] = 11'b10110001000; // [0.69140625] storage[492] = 11'b01110100000; // [0.453125] storage[493] = 11'b00110011000; // [0.19921875] storage[494] = 11'b01111101000; // [0.48828125] storage[495] = 11'b10110010000; // [0.6953125] storage[496] = 11'b10110011000; // [0.69921875] storage[497] = 11'b10110001000; // [0.69140625] storage[498] = 11'b10110000000; // [0.6875] storage[499] = 11'b10101110000; // [0.6796875] storage[500] = 11'b10101100000; // [0.671875] storage[501] = 11'b10101010000; // [0.6640625] storage[502] = 11'b10101000000; // [0.65625] storage[503] = 11'b10100110000; // [0.6484375] storage[504] = 11'b10011110000; // [0.6171875] storage[505] = 11'b10100000000; // [0.625] storage[506] = 11'b10100010000; // [0.6328125] storage[507] = 11'b10100101000; // [0.64453125] storage[508] = 11'b10101000000; // [0.65625] storage[509] = 11'b10101011000; // [0.66796875] storage[510] = 11'b10101101000; // [0.67578125] storage[511] = 11'b10101111000; // [0.68359375] storage[512] = 11'b10110000000; // [0.6875] storage[513] = 11'b10110010000; // [0.6953125] storage[514] = 11'b10110011000; // [0.69921875] storage[515] = 11'b10110011000; // [0.69921875] storage[516] = 11'b10110010000; // [0.6953125] storage[517] = 11'b10110010000; // [0.6953125] storage[518] = 11'b10110010000; // [0.6953125] storage[519] = 11'b10110000000; // [0.6875] storage[520] = 11'b01101011000; // [0.41796875] storage[521] = 11'b00110100000; // [0.203125] storage[522] = 11'b10000100000; // [0.515625] storage[523] = 11'b10110000000; // [0.6875] storage[524] = 11'b10110000000; // [0.6875] storage[525] = 11'b10110001000; // [0.69140625] storage[526] = 11'b10110000000; // [0.6875] storage[527] = 11'b10101101000; // [0.67578125] storage[528] = 11'b10101011000; // [0.66796875] storage[529] = 11'b10101000000; // [0.65625] storage[530] = 11'b10100111000; // [0.65234375] storage[531] = 11'b10100111000; // [0.65234375] storage[532] = 11'b10011110000; // [0.6171875] storage[533] = 11'b10100000000; // [0.625] storage[534] = 11'b10100011000; // [0.63671875] storage[535] = 11'b10100101000; // [0.64453125] storage[536] = 11'b10100111000; // [0.65234375] storage[537] = 11'b10101010000; // [0.6640625] storage[538] = 11'b10101100000; // [0.671875] storage[539] = 11'b10101110000; // [0.6796875] storage[540] = 11'b10101110000; // [0.6796875] storage[541] = 11'b10110000000; // [0.6875] storage[542] = 11'b10110010000; // [0.6953125] storage[543] = 11'b10110010000; // [0.6953125] storage[544] = 11'b10110010000; // [0.6953125] storage[545] = 11'b10110001000; // [0.69140625] storage[546] = 11'b10110001000; // [0.69140625] storage[547] = 11'b10110000000; // [0.6875] storage[548] = 11'b01100011000; // [0.38671875] storage[549] = 11'b00110011000; // [0.19921875] storage[550] = 11'b10001000000; // [0.53125] storage[551] = 11'b10101111000; // [0.68359375] storage[552] = 11'b10101111000; // [0.68359375] storage[553] = 11'b10101111000; // [0.68359375] storage[554] = 11'b10101110000; // [0.6796875] storage[555] = 11'b10101100000; // [0.671875] storage[556] = 11'b10101001000; // [0.66015625] storage[557] = 11'b10101000000; // [0.65625] storage[558] = 11'b10100111000; // [0.65234375] storage[559] = 11'b10100100000; // [0.640625] storage[560] = 11'b10011100000; // [0.609375] storage[561] = 11'b10011111000; // [0.62109375] storage[562] = 11'b10100010000; // [0.6328125] storage[563] = 11'b10100011000; // [0.63671875] storage[564] = 11'b10100110000; // [0.6484375] storage[565] = 11'b10101010000; // [0.6640625] storage[566] = 11'b10101100000; // [0.671875] storage[567] = 11'b10101101000; // [0.67578125] storage[568] = 11'b10101101000; // [0.67578125] storage[569] = 11'b10101110000; // [0.6796875] storage[570] = 11'b10101111000; // [0.68359375] storage[571] = 11'b10110001000; // [0.69140625] storage[572] = 11'b10110001000; // [0.69140625] storage[573] = 11'b10110001000; // [0.69140625] storage[574] = 11'b10110000000; // [0.6875] storage[575] = 11'b10101100000; // [0.671875] storage[576] = 11'b01011001000; // [0.34765625] storage[577] = 11'b00110010000; // [0.1953125] storage[578] = 11'b10000110000; // [0.5234375] storage[579] = 11'b10101110000; // [0.6796875] storage[580] = 11'b10101110000; // [0.6796875] storage[581] = 11'b10101101000; // [0.67578125] storage[582] = 11'b10101100000; // [0.671875] storage[583] = 11'b10101010000; // [0.6640625] storage[584] = 11'b10101000000; // [0.65625] storage[585] = 11'b10100111000; // [0.65234375] storage[586] = 11'b10100110000; // [0.6484375] storage[587] = 11'b10100010000; // [0.6328125] storage[588] = 11'b10011010000; // [0.6015625] storage[589] = 11'b10011101000; // [0.61328125] storage[590] = 11'b10100000000; // [0.625] storage[591] = 11'b10100010000; // [0.6328125] storage[592] = 11'b10100100000; // [0.640625] storage[593] = 11'b10101000000; // [0.65625] storage[594] = 11'b10101001000; // [0.66015625] storage[595] = 11'b10101010000; // [0.6640625] storage[596] = 11'b10101100000; // [0.671875] storage[597] = 11'b10101101000; // [0.67578125] storage[598] = 11'b10101110000; // [0.6796875] storage[599] = 11'b10101111000; // [0.68359375] storage[600] = 11'b10101111000; // [0.68359375] storage[601] = 11'b10101111000; // [0.68359375] storage[602] = 11'b10101110000; // [0.6796875] storage[603] = 11'b10101001000; // [0.66015625] storage[604] = 11'b01010110000; // [0.3359375] storage[605] = 11'b00110010000; // [0.1953125] storage[606] = 11'b10000110000; // [0.5234375] storage[607] = 11'b10101100000; // [0.671875] storage[608] = 11'b10101100000; // [0.671875] storage[609] = 11'b10101100000; // [0.671875] storage[610] = 11'b10101011000; // [0.66796875] storage[611] = 11'b10101000000; // [0.65625] storage[612] = 11'b10100111000; // [0.65234375] storage[613] = 11'b10100110000; // [0.6484375] storage[614] = 11'b10100011000; // [0.63671875] storage[615] = 11'b10100001000; // [0.62890625] storage[616] = 11'b10011001000; // [0.59765625] storage[617] = 11'b10011100000; // [0.609375] storage[618] = 11'b10011111000; // [0.62109375] storage[619] = 11'b10100001000; // [0.62890625] storage[620] = 11'b10100011000; // [0.63671875] storage[621] = 11'b10100110000; // [0.6484375] storage[622] = 11'b10100111000; // [0.65234375] storage[623] = 11'b10101000000; // [0.65625] storage[624] = 11'b10101011000; // [0.66796875] storage[625] = 11'b10101100000; // [0.671875] storage[626] = 11'b10101101000; // [0.67578125] storage[627] = 11'b10101101000; // [0.67578125] storage[628] = 11'b10101110000; // [0.6796875] storage[629] = 11'b10101101000; // [0.67578125] storage[630] = 11'b10101100000; // [0.671875] storage[631] = 11'b10100100000; // [0.640625] storage[632] = 11'b01001001000; // [0.28515625] storage[633] = 11'b00110000000; // [0.1875] storage[634] = 11'b01111010000; // [0.4765625] storage[635] = 11'b10101010000; // [0.6640625] storage[636] = 11'b10101010000; // [0.6640625] storage[637] = 11'b10101001000; // [0.66015625] storage[638] = 11'b10101000000; // [0.65625] storage[639] = 11'b10100111000; // [0.65234375] storage[640] = 11'b10100110000; // [0.6484375] storage[641] = 11'b10100100000; // [0.640625] storage[642] = 11'b10100001000; // [0.62890625] storage[643] = 11'b10011111000; // [0.62109375] storage[644] = 11'b10011000000; // [0.59375] storage[645] = 11'b10011011000; // [0.60546875] storage[646] = 11'b10011101000; // [0.61328125] storage[647] = 11'b10100000000; // [0.625] storage[648] = 11'b10100010000; // [0.6328125] storage[649] = 11'b10100010000; // [0.6328125] storage[650] = 11'b10100101000; // [0.64453125] storage[651] = 11'b10100111000; // [0.65234375] storage[652] = 11'b10101001000; // [0.66015625] storage[653] = 11'b10101011000; // [0.66796875] storage[654] = 11'b10101011000; // [0.66796875] storage[655] = 11'b10101100000; // [0.671875] storage[656] = 11'b10101100000; // [0.671875] storage[657] = 11'b10101010000; // [0.6640625] storage[658] = 11'b10101001000; // [0.66015625] storage[659] = 11'b10100000000; // [0.625] storage[660] = 11'b01000111000; // [0.27734375] storage[661] = 11'b00101101000; // [0.17578125] storage[662] = 11'b01110011000; // [0.44921875] storage[663] = 11'b10100100000; // [0.640625] storage[664] = 11'b10100011000; // [0.63671875] storage[665] = 11'b10100010000; // [0.6328125] storage[666] = 11'b10100101000; // [0.64453125] storage[667] = 11'b10100100000; // [0.640625] storage[668] = 11'b10100011000; // [0.63671875] storage[669] = 11'b10100010000; // [0.6328125] storage[670] = 11'b10100000000; // [0.625] storage[671] = 11'b10011110000; // [0.6171875] storage[672] = 11'b10010110000; // [0.5859375] storage[673] = 11'b10011010000; // [0.6015625] storage[674] = 11'b10011011000; // [0.60546875] storage[675] = 11'b10011110000; // [0.6171875] storage[676] = 11'b10100000000; // [0.625] storage[677] = 11'b10100011000; // [0.63671875] storage[678] = 11'b10100010000; // [0.6328125] storage[679] = 11'b10100101000; // [0.64453125] storage[680] = 11'b10100111000; // [0.65234375] storage[681] = 11'b10101001000; // [0.66015625] storage[682] = 11'b10101011000; // [0.66796875] storage[683] = 11'b10101011000; // [0.66796875] storage[684] = 11'b10100111000; // [0.65234375] storage[685] = 11'b01110111000; // [0.46484375] storage[686] = 11'b01100101000; // [0.39453125] storage[687] = 11'b01011001000; // [0.34765625] storage[688] = 11'b00101111000; // [0.18359375] storage[689] = 11'b00101011000; // [0.16796875] storage[690] = 11'b01000111000; // [0.27734375] storage[691] = 11'b01011100000; // [0.359375] storage[692] = 11'b01010100000; // [0.328125] storage[693] = 11'b01011000000; // [0.34375] storage[694] = 11'b10001101000; // [0.55078125] storage[695] = 11'b10100001000; // [0.62890625] storage[696] = 11'b10100001000; // [0.62890625] storage[697] = 11'b10100000000; // [0.625] storage[698] = 11'b10011101000; // [0.61328125] storage[699] = 11'b10011011000; // [0.60546875] storage[700] = 11'b10010101000; // [0.58203125] storage[701] = 11'b10010111000; // [0.58984375] storage[702] = 11'b10011010000; // [0.6015625] storage[703] = 11'b10011100000; // [0.609375] storage[704] = 11'b10011111000; // [0.62109375] storage[705] = 11'b10100000000; // [0.625] storage[706] = 11'b10100010000; // [0.6328125] storage[707] = 11'b10100011000; // [0.63671875] storage[708] = 11'b10100101000; // [0.64453125] storage[709] = 11'b10100110000; // [0.6484375] storage[710] = 11'b10101000000; // [0.65625] storage[711] = 11'b10101000000; // [0.65625] storage[712] = 11'b10011000000; // [0.59375] storage[713] = 11'b01000000000; // [0.25] storage[714] = 11'b00101101000; // [0.17578125] storage[715] = 11'b00101001000; // [0.16015625] storage[716] = 11'b00101001000; // [0.16015625] storage[717] = 11'b00101100000; // [0.171875] storage[718] = 11'b00101110000; // [0.1796875] storage[719] = 11'b00101110000; // [0.1796875] storage[720] = 11'b00101111000; // [0.18359375] storage[721] = 11'b00110100000; // [0.203125] storage[722] = 11'b01100010000; // [0.3828125] storage[723] = 11'b10011111000; // [0.62109375] storage[724] = 11'b10100000000; // [0.625] storage[725] = 11'b10011101000; // [0.61328125] storage[726] = 11'b10011011000; // [0.60546875] storage[727] = 11'b10011001000; // [0.59765625] storage[728] = 11'b10010011000; // [0.57421875] storage[729] = 11'b10010110000; // [0.5859375] storage[730] = 11'b10011000000; // [0.59375] storage[731] = 11'b10011010000; // [0.6015625] storage[732] = 11'b10011101000; // [0.61328125] storage[733] = 11'b10011111000; // [0.62109375] storage[734] = 11'b10100000000; // [0.625] storage[735] = 11'b10100010000; // [0.6328125] storage[736] = 11'b10100011000; // [0.63671875] storage[737] = 11'b10100100000; // [0.640625] storage[738] = 11'b10100110000; // [0.6484375] storage[739] = 11'b10100111000; // [0.65234375] storage[740] = 11'b10010100000; // [0.578125] storage[741] = 11'b00111110000; // [0.2421875] storage[742] = 11'b00101101000; // [0.17578125] storage[743] = 11'b00110001000; // [0.19140625] storage[744] = 11'b00110101000; // [0.20703125] storage[745] = 11'b00110001000; // [0.19140625] storage[746] = 11'b00110000000; // [0.1875] storage[747] = 11'b00111001000; // [0.22265625] storage[748] = 11'b00111111000; // [0.24609375] storage[749] = 11'b01001011000; // [0.29296875] storage[750] = 11'b01111001000; // [0.47265625] storage[751] = 11'b10011111000; // [0.62109375] storage[752] = 11'b10011110000; // [0.6171875] storage[753] = 11'b10011011000; // [0.60546875] storage[754] = 11'b10011000000; // [0.59375] storage[755] = 11'b10010111000; // [0.58984375] storage[756] = 11'b10010010000; // [0.5703125] storage[757] = 11'b10010101000; // [0.58203125] storage[758] = 11'b10010111000; // [0.58984375] storage[759] = 11'b10011001000; // [0.59765625] storage[760] = 11'b10011011000; // [0.60546875] storage[761] = 11'b10011100000; // [0.609375] storage[762] = 11'b10011111000; // [0.62109375] storage[763] = 11'b10100000000; // [0.625] storage[764] = 11'b10100001000; // [0.62890625] storage[765] = 11'b10100010000; // [0.6328125] storage[766] = 11'b10100100000; // [0.640625] storage[767] = 11'b10100100000; // [0.640625] storage[768] = 11'b10011001000; // [0.59765625] storage[769] = 11'b01101000000; // [0.40625] storage[770] = 11'b01101100000; // [0.421875] storage[771] = 11'b10000011000; // [0.51171875] storage[772] = 11'b10001101000; // [0.55078125] storage[773] = 11'b01111010000; // [0.4765625] storage[774] = 11'b01111101000; // [0.48828125] storage[775] = 11'b10001111000; // [0.55859375] storage[776] = 11'b10010100000; // [0.578125] storage[777] = 11'b10011000000; // [0.59375] storage[778] = 11'b10011101000; // [0.61328125] storage[779] = 11'b10011101000; // [0.61328125] storage[780] = 11'b10011011000; // [0.60546875] storage[781] = 11'b10011001000; // [0.59765625] storage[782] = 11'b10010111000; // [0.58984375] storage[783] = 11'b10010110000; // [0.5859375] end endmodule
Dear sir, Thanks for your code ,it is really helpful for me ,but I have a doubt in convert_image_for_testbench.py codes I have to give test image number as 2 ,but default it is 0 ,i don't have idea to change the code for giving test image as 2 , could you please help me to solve this problem.
Dear sir, Thanks for your code ,it is really helpful for me ,but I have a doubt in convert_image_for_testbench.py codes I have to give test image number as 2 ,but default it is 0 ,i don't have idea to change the code for giving test image as 2 , could you please help me to solve this problem.
Hello! I am learning the verilog code of neural network accelerator recently. I saw your project. I am very interested in your verilog code of neural network accelerator generated using python. I admire the work you have done, so I want to spend time correcting The neuroset code you generated is simulated and verified, but there are some problems during the simulation, so I would like to ask you for advice:
2、How to get the verilog code of the CNN architecture in Figure 2? Is it to modify the value of num_conv? Modifying num_conv equals to how much is the corresponding architecture of Figure 2? num_conv is equal to how much recognition effect is the best?