提交 c3a88b94 编写于 作者: 饶先宏's avatar 饶先宏

202108031837

上级 90a27b52
......@@ -644,7 +644,7 @@ int node_setup_buf(cnn_layer_node* node, FILE* pCodeFile)
}
fprintf(pCodeFile, "\thdl4se_cnn_buf_r%d #(32, %d)\n",
linkcount,
node->outputsize[0][2] * FIFO_DEPTH_S);
node->outputsize[0][2] * FIFO_DEPTH_S * 1000);
fprintf(pCodeFile, "\tcnn_buf_%d(\n", node->layer_info->layer_index);
fprintf(pCodeFile, "\t\twClk, nwReset,\n");
fprintf(pCodeFile, "\n");
......
......@@ -123,17 +123,18 @@ static int cnn_layer_setup_convolution(cnn_convolution_layer_node * node)
#define LINEVER 1
#define CONVDEBUG 0
#if CONVDEBUG
static FILE* pDumpFile = NULL;
#endif
#define CONVDEBUG 1
static int cnn_layer_pushdata_convolution(cnn_convolution_layer_node * node, int port, CNNData * data)
{
int i, hh, linesize, lineind, linefrom;
const cnn_convolution_layer * layer_info = (const cnn_convolution_layer *)node->base.layer_info;
#if CONVDEBUG
FILE* pDumpFile = NULL;
char filename[80];
sprintf(filename, "d:/gitwork/debugfile/cnn_convolution_%d.txt", layer_info->layer_base.layer_index);
pDumpFile = fopen(filename, "wt");
#endif
/* write input data to buffer */
linesize = (node->base.inputsize[0][1] + layer_info->pad_w * 2) * node->base.inputsize[0][2];
......@@ -161,11 +162,7 @@ static int cnn_layer_pushdata_convolution(cnn_convolution_layer_node * node, int
int ww, cc;
float * line_in;
float * line_out;
#if CONVDEBUG
if (pDumpFile == NULL) {
pDumpFile = fopen("d:/gitwork/convdebug_cnn.txt", "wt");
}
#endif
#if LINEVER
line_in = node->base.data_buffer_input;// +hh * layer_info->stride_h * linesize;
#else
......@@ -207,8 +204,7 @@ static int cnn_layer_pushdata_convolution(cnn_convolution_layer_node * node, int
/* store it to output buffer */
line_out[ww * node->base.outputsize[0][2] + cc] = data_acc;
#if CONVDEBUG
if (pDumpFile != NULL)
fprintf(pDumpFile, "%d, %d, %d, %f\n", hh, ww, cc, data_acc);
fprintf(pDumpFile, "%d, %d, %d, %f\n", hh, ww, cc, data_acc);
#endif
}
}
......@@ -230,12 +226,12 @@ static int cnn_layer_pushdata_convolution(cnn_convolution_layer_node * node, int
node->base.activation_func(node->base.activation_func_param,
node->base.outputsize[0][1] * node->base.outputsize[0][2],
line_out);
#if CONVDEBUG
if (pDumpFile != NULL)
fflush(pDumpFile);
#endif
}
node->base.ready = 1;
#if CONVDEBUG
fclose(pDumpFile);
#endif
node->base.ready = 1;
return 0;
}
......
......@@ -115,15 +115,17 @@ static int cnn_layer_setup_pooling(cnn_pooling_layer_node * node)
#define POOLINGDEBUG 1
#if POOLINGDEBUG
static FILE* pDumpFile = NULL;
#endif
static int cnn_layer_pushdata_pooling(cnn_pooling_layer_node * node, int port, CNNData * data)
{
int i, hh, linesize;
const cnn_pooling_layer * layer_info = (const cnn_pooling_layer *)node->base.layer_info;
#if POOLINGDEBUG
FILE* pDumpFile = NULL;
char filename[80];
sprintf(filename, "d:/gitwork/debugfile/cnn_pooling_%d.txt", layer_info->layer_base.layer_index);
pDumpFile = fopen(filename, "wt");
#endif
/* write input data to buffer */
linesize = (node->base.inputsize[0][1] + layer_info->pad_w * 2) * node->base.inputsize[0][2];
for (i = 0;i<node->base.inputsize[0][0];i++) {
......@@ -131,14 +133,6 @@ static int cnn_layer_pushdata_pooling(cnn_pooling_layer_node * node, int port, C
data + i * node->base.inputsize[0][1] * node->base.inputsize[0][2],
node->base.inputsize[0][1] * node->base.inputsize[0][2] * sizeof(CNNData));
}
#if POOLINGDEBUG
if (layer_info->layer_base.layer_index == 165) {
if (pDumpFile == NULL) {
pDumpFile = fopen("d:/gitwork/poolingdebug_165_cnn.txt", "wt");
}
}
#endif
for (hh = 0;hh<node->base.outputsize[0][0];hh++) {
int ww, cc, khh;
CNNData * line_in;
......@@ -169,8 +163,7 @@ static int cnn_layer_pushdata_pooling(cnn_pooling_layer_node * node, int port, C
/* store it to output buffer */
line_out[ww * node->base.outputsize[0][2] + cc] = data_max;
#if POOLINGDEBUG
if (pDumpFile != NULL && (layer_info->layer_base.layer_index == 165))
fprintf(pDumpFile, "%d, %d, %d, %f\n", hh, ww, cc, data_max);
fprintf(pDumpFile, "%d, %d, %d, %f\n", hh, ww, cc, data_max);
#endif
}
......@@ -197,8 +190,7 @@ static int cnn_layer_pushdata_pooling(cnn_pooling_layer_node * node, int port, C
data_total /= count;
line_out[ww * node->base.outputsize[0][2] + cc] = data_total;
#if POOLINGDEBUG
if (pDumpFile != NULL && (layer_info->layer_base.layer_index == 165))
fprintf(pDumpFile, "%d, %d, %d, %f\n", hh, ww, cc, data_total);
fprintf(pDumpFile, "%d, %d, %d, %f\n", hh, ww, cc, data_total);
#endif
}
}
......@@ -210,9 +202,7 @@ static int cnn_layer_pushdata_pooling(cnn_pooling_layer_node * node, int port, C
node->base.data_buffer_output);
node->base.ready = 1;
#if POOLINGDEBUG
if (pDumpFile != NULL)
fclose(pDumpFile);
pDumpFile = NULL;
fclose(pDumpFile);
#endif
return 0;
}
......
......@@ -85,6 +85,8 @@ IDLIST
VID(lineindex),
END_IDLIST
#define CONVDEBUG 1
MODULE_DECLARE(cnncell_convolution)
int input_w, input_h, input_c;
int output_w, output_h, output_c;
......@@ -98,6 +100,9 @@ MODULE_DECLARE(cnncell_convolution)
float* line_out;
short *coeff;
short *bias;
#if CONVDEBUG
FILE* pDumpFile;
#endif
END_MODULE_DECLARE(cnncell_convolution)
enum convstate {
......@@ -180,23 +185,9 @@ DEFINE_FUNC(cnncell_convolution_gen_output_write) {
}
} END_DEFINE_FUNC
#define CONVDEBUG 0
#if CONVDEBUG
static FILE* pDumpFile = NULL;
#endif
DEFINE_FUNC(cnncell_convolution_gen_line) {
int ww, cc;
int lineindex = vget(lineindex);
#if CONVDEBUG
if (strcmp(pobj->data.name, "convolution_2") == 0) {
if (pDumpFile == NULL) {
pDumpFile = fopen("d:/gitwork/convdebug.txt", "wt");
}
}
#endif
for (ww = 0; ww < pobj->output_w; ww++) {
for (cc = 0; cc < pobj->output_c; cc++) {
float data_acc;
......@@ -221,8 +212,7 @@ DEFINE_FUNC(cnncell_convolution_gen_line) {
//if (layer_info->bias_term)
data_acc += pobj->bias[cc] * pobj->bias_scale;
#if CONVDEBUG
if (pDumpFile != NULL)
fprintf(pDumpFile, "%d, %d, %d, %f\n", vget(writeline), ww, cc, data_acc);
fprintf(pobj->pDumpFile, "%d, %d, %d, %f\n", vget(writeline), ww, cc, data_acc);
#endif
/* active function */
if (pobj->actfunc == 1) {/* RELU */
......@@ -234,8 +224,7 @@ DEFINE_FUNC(cnncell_convolution_gen_line) {
}
}
#if CONVDEBUG
if (pDumpFile != NULL)
fflush(pDumpFile);
fflush(pobj->pDumpFile);
#endif
}
END_DEFINE_FUNC
......@@ -409,6 +398,14 @@ MODULE_INIT(cnncell_convolution)
pobj->linesize = (pobj->input_w + 2 * pobj->pw) * pobj->input_c;
pobj->line_in = (float*)malloc(pobj->kh * pobj->linesize * sizeof(float));
pobj->line_out = (float*)malloc(pobj->output_w * pobj->output_c * sizeof(float));
#if CONVDEBUG
{
char filename[80];
sprintf(filename, "d:/gitwork/debugfile/cnncell_%s.txt", pobj->data.name);
pobj->pDumpFile = fopen(filename, "wt");
}
#endif
PORT_IN(wClk, 1);
PORT_IN(nwReset, 1);
......
......@@ -69,6 +69,8 @@ IDLIST
VID(lineindex),
END_IDLIST
#define POOLINGDEBUG 1
MODULE_DECLARE(cnncell_pooling)
int input_w, input_h, input_c;
int output_w, output_h, output_c;
......@@ -78,6 +80,10 @@ MODULE_DECLARE(cnncell_pooling)
int linesize;
float* line_in;
float* line_out;
#if POOLINGDEBUG
FILE* pDumpFile;
#endif
END_MODULE_DECLARE(cnncell_pooling)
enum poolingstate {
......@@ -119,12 +125,6 @@ DEFINE_FUNC(cnncell_pooling_gen_write) {
}
} END_DEFINE_FUNC
#define CONVDEBUG 1
#if CONVDEBUG
static FILE* pDumpFile = NULL;
#endif
enum pooling_method {
CNN_POOLING_MAX = 0,
CNN_POOLING_AVE,
......@@ -134,13 +134,6 @@ enum pooling_method {
DEFINE_FUNC(cnncell_pooling_gen_line) {
int ww, cc;
int lineindex = vget(lineindex);
#if CONVDEBUG
if (strcmp(pobj->data.name, "pooling_165") == 0) {
if (pDumpFile == NULL) {
pDumpFile = fopen("d:/gitwork/pooling_165.txt", "wt");
}
}
#endif
if (pobj->methodfunc == CNN_POOLING_MAX) {
for (ww = 0; ww < pobj->output_w; ww++) {
for (cc = 0; cc < pobj->output_c; cc++) {
......@@ -158,9 +151,8 @@ DEFINE_FUNC(cnncell_pooling_gen_line) {
}
}
}
#if CONVDEBUG
if (pDumpFile != NULL && (strcmp(pobj->data.name, "pooling_165") == 0))
fprintf(pDumpFile, "%d, %d, %d, %f\n", vget(writeline), ww, cc, data_max);
#if POOLINGDEBUG
fprintf(pobj->pDumpFile, "%d, %d, %d, %f\n", vget(writeline), ww, cc, data_max);
#endif
#if 0
/* active function */
......@@ -187,9 +179,8 @@ DEFINE_FUNC(cnncell_pooling_gen_line) {
}
}
data_total /= (pobj->kh * pobj->kw);
#if CONVDEBUG
if (pDumpFile != NULL)
fprintf(pDumpFile, "%d, %d, %d, %f\n", vget(writeline), ww, cc, data_total);
#if POOLINGDEBUG
fprintf(pobj->pDumpFile, "%d, %d, %d, %f\n", vget(writeline), ww, cc, data_total);
#endif
/* active function */
#if 0
......@@ -200,16 +191,11 @@ DEFINE_FUNC(cnncell_pooling_gen_line) {
#endif
/* store it to output buffer */
pobj->line_out[ww * pobj->output_c + cc] = data_total;
#if CONVDEBUG
if (pDumpFile != NULL && (strcmp(pobj->data.name, "pooling_165") == 0))
fprintf(pDumpFile, "%d, %d, %d, %f\n", vget(writeline), ww, cc, data_total);
#endif
}
}
}
#if CONVDEBUG
if (pDumpFile != NULL)
fflush(pDumpFile);
#if POOLINGDEBUG
fflush(pobj->pDumpFile);
#endif
}
END_DEFINE_FUNC
......@@ -336,6 +322,13 @@ MODULE_INIT(cnncell_pooling)
pobj->line_in = (float*)malloc(pobj->kh * pobj->linesize * sizeof(float));
memset(pobj->line_in, 0, pobj->kh* pobj->linesize * sizeof(float));
pobj->line_out = (float*)malloc(pobj->output_w * pobj->output_c * sizeof(float));
#if POOLINGDEBUG
{
char filename[80];
sprintf(filename, "d:/gitwork/debugfile/cnncell_%s.txt", pobj->data.name);
pobj->pDumpFile = fopen(filename, "wt");
}
#endif
PORT_IN(wClk, 1);
PORT_IN(nwReset, 1);
......
......@@ -31,7 +31,7 @@
/*
* Created by HDL4SE @ Tue Aug 3 06:10:17 2021
* Created by HDL4SE @ Tue Aug 3 07:35:57 2021
* Don't edit it.
*/
......@@ -3206,7 +3206,7 @@ GEN_MODULE_INIT
", wDataWrite_11, bDataWriteData_11");
CELL_INST("9AA0D743-5FFB-4649-ACEC-4B4675AE2A57", /* hdl4se_cnn_buf_r4 */
"cnn_buf_11",
"32'h20, 32'h9600",
"32'h20, 32'h5dc00",
"wClk, nwReset, wDataRead_13, wDataReadValid_13, bDataReadData_13, wDataRead_15, wDataReadValid_15"
", bDataReadData_15, wDataRead_19, wDataReadValid_19, bDataReadData_19, wDataRead_23"
", wDataReadValid_23, bDataReadData_23, wDataWriteEnable_11, wDataWrite_11, bDataWriteData_11");
......@@ -3349,7 +3349,7 @@ GEN_MODULE_INIT
", bDataWriteData_26");
CELL_INST("9AA0D743-5FFB-4649-ACEC-4B4675AE2A57", /* hdl4se_cnn_buf_r4 */
"cnn_buf_26",
"32'h20, 32'hc800",
"32'h20, 32'h7d000",
"wClk, nwReset, wDataRead_28, wDataReadValid_28, bDataReadData_28, wDataRead_30, wDataReadValid_30"
", bDataReadData_30, wDataRead_34, wDataReadValid_34, bDataReadData_34, wDataRead_38"
", wDataReadValid_38, bDataReadData_38, wDataWriteEnable_26, wDataWrite_26, bDataWriteData_26");
......@@ -3502,7 +3502,7 @@ GEN_MODULE_INIT
", wDataWrite_42, bDataWriteData_42");
CELL_INST("9AA0D743-5FFB-4649-ACEC-4B4675AE2A57", /* hdl4se_cnn_buf_r4 */
"cnn_buf_42",
"32'h20, 32'h17700",
"32'h20, 32'hea600",
"wClk, nwReset, wDataRead_44, wDataReadValid_44, bDataReadData_44, wDataRead_46, wDataReadValid_46"
", bDataReadData_46, wDataRead_50, wDataReadValid_50, bDataReadData_50, wDataRead_54"
", wDataReadValid_54, bDataReadData_54, wDataWriteEnable_42, wDataWrite_42, bDataWriteData_42");
......@@ -3645,7 +3645,7 @@ GEN_MODULE_INIT
", bDataWriteData_57");
CELL_INST("9AA0D743-5FFB-4649-ACEC-4B4675AE2A57", /* hdl4se_cnn_buf_r4 */
"cnn_buf_57",
"32'h20, 32'h2800",
"32'h20, 32'hfa000",
"wClk, nwReset, wDataRead_67, wDataReadValid_67, bDataReadData_67, wDataRead_69, wDataReadValid_69"
", bDataReadData_69, wDataRead_73, wDataReadValid_73, bDataReadData_73, wDataRead_77"
", wDataReadValid_77, bDataReadData_77, wDataWriteEnable_57, wDataWrite_57, bDataWriteData_57");
......@@ -3788,7 +3788,7 @@ GEN_MODULE_INIT
", bDataWriteData_80");
CELL_INST("9AA0D743-5FFB-4649-ACEC-4B4675AE2A57", /* hdl4se_cnn_buf_r4 */
"cnn_buf_80",
"32'h20, 32'h2800",
"32'h20, 32'hfa000",
"wClk, nwReset, wDataRead_82, wDataReadValid_82, bDataReadData_82, wDataRead_84, wDataReadValid_84"
", bDataReadData_84, wDataRead_88, wDataReadValid_88, bDataReadData_88, wDataRead_92"
", wDataReadValid_92, bDataReadData_92, wDataWriteEnable_80, wDataWrite_80, bDataWriteData_80");
......@@ -3931,7 +3931,7 @@ GEN_MODULE_INIT
", bDataWriteData_95");
CELL_INST("9AA0D743-5FFB-4649-ACEC-4B4675AE2A57", /* hdl4se_cnn_buf_r4 */
"cnn_buf_95",
"32'h20, 32'h2800",
"32'h20, 32'hfa000",
"wClk, nwReset, wDataRead_97, wDataReadValid_97, bDataReadData_97, wDataRead_99, wDataReadValid_99"
", bDataReadData_99, wDataRead_103, wDataReadValid_103, bDataReadData_103, wDataRead_107"
", wDataReadValid_107, bDataReadData_107, wDataWriteEnable_95, wDataWrite_95, bDataWriteData_95");
......@@ -4074,7 +4074,7 @@ GEN_MODULE_INIT
", wDataWriteEnable_110, wDataWrite_110, bDataWriteData_110");
CELL_INST("9AA0D743-5FFB-4649-ACEC-4B4675AE2A57", /* hdl4se_cnn_buf_r4 */
"cnn_buf_110",
"32'h20, 32'h2940",
"32'h20, 32'h101d00",
"wClk, nwReset, wDataRead_120, wDataReadValid_120, bDataReadData_120, wDataRead_122"
", wDataReadValid_122, bDataReadData_122, wDataRead_126, wDataReadValid_126, bDataReadData_126"
", wDataRead_130, wDataReadValid_130, bDataReadData_130, wDataWriteEnable_110, wDataWrite_110"
......@@ -4228,7 +4228,7 @@ GEN_MODULE_INIT
", wDataWrite_134, bDataWriteData_134");
CELL_INST("9AA0D743-5FFB-4649-ACEC-4B4675AE2A57", /* hdl4se_cnn_buf_r4 */
"cnn_buf_134",
"32'h20, 32'h4100",
"32'h20, 32'h196400",
"wClk, nwReset, wDataRead_136, wDataReadValid_136, bDataReadData_136, wDataRead_138"
", wDataReadValid_138, bDataReadData_138, wDataRead_142, wDataReadValid_142, bDataReadData_142"
", wDataRead_146, wDataReadValid_146, bDataReadData_146, wDataWriteEnable_134, wDataWrite_134"
......@@ -4372,7 +4372,7 @@ GEN_MODULE_INIT
", wDataWriteEnable_149, wDataWrite_149, bDataWriteData_149");
CELL_INST("9AA0D743-5FFB-4649-ACEC-4B4675AE2A57", /* hdl4se_cnn_buf_r4 */
"cnn_buf_149",
"32'h20, 32'h4100",
"32'h20, 32'h196400",
"wClk, nwReset, wDataRead_151, wDataReadValid_151, bDataReadData_151, wDataRead_153"
", wDataReadValid_153, bDataReadData_153, wDataRead_157, wDataReadValid_157, bDataReadData_157"
", wDataRead_161, wDataReadValid_161, bDataReadData_161, wDataWriteEnable_149, wDataWrite_149"
......
......@@ -2313,7 +2313,7 @@ module googlenet
, 32'h3, 32'h3, 32'h2, 32'h2, 32'h0
, 32'h0, 32'h0, 32'h0 ) pooling_11( wClk, nwReset, wDataRead_11, wDataReadValid_11, bDataReadData_11, wDataWriteEnable_11
, wDataWrite_11, bDataWriteData_11 );
hdl4se_cnn_buf_r4 #( 32'h20, 32'h9600 ) cnn_buf_11( wClk, nwReset, wDataRead_13, wDataReadValid_13, bDataReadData_13, wDataRead_15
hdl4se_cnn_buf_r4 #( 32'h20, 32'h5dc00 ) cnn_buf_11( wClk, nwReset, wDataRead_13, wDataReadValid_13, bDataReadData_13, wDataRead_15
, wDataReadValid_15, bDataReadData_15, wDataRead_19, wDataReadValid_19, bDataReadData_19
, wDataRead_23, wDataReadValid_23, bDataReadData_23, wDataWriteEnable_11, wDataWrite_11
, bDataWriteData_11 );
......@@ -2407,7 +2407,7 @@ module googlenet
, wDataReadValid_26_1, bDataReadData_26_1, wDataRead_26_2, wDataReadValid_26_2, bDataReadData_26_2
, wDataRead_26_3, wDataReadValid_26_3, bDataReadData_26_3, wDataWriteEnable_26, wDataWrite_26
, bDataWriteData_26 );
hdl4se_cnn_buf_r4 #( 32'h20, 32'hc800 ) cnn_buf_26( wClk, nwReset, wDataRead_28, wDataReadValid_28, bDataReadData_28, wDataRead_30
hdl4se_cnn_buf_r4 #( 32'h20, 32'h7d000 ) cnn_buf_26( wClk, nwReset, wDataRead_28, wDataReadValid_28, bDataReadData_28, wDataRead_30
, wDataReadValid_30, bDataReadData_30, wDataRead_34, wDataReadValid_34, bDataReadData_34
, wDataRead_38, wDataReadValid_38, bDataReadData_38, wDataWriteEnable_26, wDataWrite_26
, bDataWriteData_26 );
......@@ -2507,7 +2507,7 @@ module googlenet
, 32'h3, 32'h3, 32'h2, 32'h2, 32'h0
, 32'h0, 32'h0, 32'h0 ) pooling_42( wClk, nwReset, wDataRead_42, wDataReadValid_42, bDataReadData_42, wDataWriteEnable_42
, wDataWrite_42, bDataWriteData_42 );
hdl4se_cnn_buf_r4 #( 32'h20, 32'h17700 ) cnn_buf_42( wClk, nwReset, wDataRead_44, wDataReadValid_44, bDataReadData_44, wDataRead_46
hdl4se_cnn_buf_r4 #( 32'h20, 32'hea600 ) cnn_buf_42( wClk, nwReset, wDataRead_44, wDataReadValid_44, bDataReadData_44, wDataRead_46
, wDataReadValid_46, bDataReadData_46, wDataRead_50, wDataReadValid_50, bDataReadData_50
, wDataRead_54, wDataReadValid_54, bDataReadData_54, wDataWriteEnable_42, wDataWrite_42
, bDataWriteData_42 );
......@@ -2601,7 +2601,7 @@ module googlenet
, wDataReadValid_57_1, bDataReadData_57_1, wDataRead_57_2, wDataReadValid_57_2, bDataReadData_57_2
, wDataRead_57_3, wDataReadValid_57_3, bDataReadData_57_3, wDataWriteEnable_57, wDataWrite_57
, bDataWriteData_57 );
hdl4se_cnn_buf_r4 #( 32'h20, 32'h2800 ) cnn_buf_57( wClk, nwReset, wDataRead_67, wDataReadValid_67, bDataReadData_67, wDataRead_69
hdl4se_cnn_buf_r4 #( 32'h20, 32'hfa000 ) cnn_buf_57( wClk, nwReset, wDataRead_67, wDataReadValid_67, bDataReadData_67, wDataRead_69
, wDataReadValid_69, bDataReadData_69, wDataRead_73, wDataReadValid_73, bDataReadData_73
, wDataRead_77, wDataReadValid_77, bDataReadData_77, wDataWriteEnable_57, wDataWrite_57
, bDataWriteData_57 );
......@@ -2695,7 +2695,7 @@ module googlenet
, wDataReadValid_80_1, bDataReadData_80_1, wDataRead_80_2, wDataReadValid_80_2, bDataReadData_80_2
, wDataRead_80_3, wDataReadValid_80_3, bDataReadData_80_3, wDataWriteEnable_80, wDataWrite_80
, bDataWriteData_80 );
hdl4se_cnn_buf_r4 #( 32'h20, 32'h2800 ) cnn_buf_80( wClk, nwReset, wDataRead_82, wDataReadValid_82, bDataReadData_82, wDataRead_84
hdl4se_cnn_buf_r4 #( 32'h20, 32'hfa000 ) cnn_buf_80( wClk, nwReset, wDataRead_82, wDataReadValid_82, bDataReadData_82, wDataRead_84
, wDataReadValid_84, bDataReadData_84, wDataRead_88, wDataReadValid_88, bDataReadData_88
, wDataRead_92, wDataReadValid_92, bDataReadData_92, wDataWriteEnable_80, wDataWrite_80
, bDataWriteData_80 );
......@@ -2789,7 +2789,7 @@ module googlenet
, wDataReadValid_95_1, bDataReadData_95_1, wDataRead_95_2, wDataReadValid_95_2, bDataReadData_95_2
, wDataRead_95_3, wDataReadValid_95_3, bDataReadData_95_3, wDataWriteEnable_95, wDataWrite_95
, bDataWriteData_95 );
hdl4se_cnn_buf_r4 #( 32'h20, 32'h2800 ) cnn_buf_95( wClk, nwReset, wDataRead_97, wDataReadValid_97, bDataReadData_97, wDataRead_99
hdl4se_cnn_buf_r4 #( 32'h20, 32'hfa000 ) cnn_buf_95( wClk, nwReset, wDataRead_97, wDataReadValid_97, bDataReadData_97, wDataRead_99
, wDataReadValid_99, bDataReadData_99, wDataRead_103, wDataReadValid_103, bDataReadData_103
, wDataRead_107, wDataReadValid_107, bDataReadData_107, wDataWriteEnable_95, wDataWrite_95
, bDataWriteData_95 );
......@@ -2883,7 +2883,7 @@ module googlenet
, wDataReadValid_110_1, bDataReadData_110_1, wDataRead_110_2, wDataReadValid_110_2, bDataReadData_110_2
, wDataRead_110_3, wDataReadValid_110_3, bDataReadData_110_3, wDataWriteEnable_110, wDataWrite_110
, bDataWriteData_110 );
hdl4se_cnn_buf_r4 #( 32'h20, 32'h2940 ) cnn_buf_110( wClk, nwReset, wDataRead_120, wDataReadValid_120, bDataReadData_120, wDataRead_122
hdl4se_cnn_buf_r4 #( 32'h20, 32'h101d00 ) cnn_buf_110( wClk, nwReset, wDataRead_120, wDataReadValid_120, bDataReadData_120, wDataRead_122
, wDataReadValid_122, bDataReadData_122, wDataRead_126, wDataReadValid_126, bDataReadData_126
, wDataRead_130, wDataReadValid_130, bDataReadData_130, wDataWriteEnable_110, wDataWrite_110
, bDataWriteData_110 );
......@@ -2983,7 +2983,7 @@ module googlenet
, 32'h3, 32'h3, 32'h2, 32'h2, 32'h0
, 32'h0, 32'h0, 32'h0 ) pooling_134( wClk, nwReset, wDataRead_134, wDataReadValid_134, bDataReadData_134, wDataWriteEnable_134
, wDataWrite_134, bDataWriteData_134 );
hdl4se_cnn_buf_r4 #( 32'h20, 32'h4100 ) cnn_buf_134( wClk, nwReset, wDataRead_136, wDataReadValid_136, bDataReadData_136, wDataRead_138
hdl4se_cnn_buf_r4 #( 32'h20, 32'h196400 ) cnn_buf_134( wClk, nwReset, wDataRead_136, wDataReadValid_136, bDataReadData_136, wDataRead_138
, wDataReadValid_138, bDataReadData_138, wDataRead_142, wDataReadValid_142, bDataReadData_142
, wDataRead_146, wDataReadValid_146, bDataReadData_146, wDataWriteEnable_134, wDataWrite_134
, bDataWriteData_134 );
......@@ -3077,7 +3077,7 @@ module googlenet
, wDataReadValid_149_1, bDataReadData_149_1, wDataRead_149_2, wDataReadValid_149_2, bDataReadData_149_2
, wDataRead_149_3, wDataReadValid_149_3, bDataReadData_149_3, wDataWriteEnable_149, wDataWrite_149
, bDataWriteData_149 );
hdl4se_cnn_buf_r4 #( 32'h20, 32'h4100 ) cnn_buf_149( wClk, nwReset, wDataRead_151, wDataReadValid_151, bDataReadData_151, wDataRead_153
hdl4se_cnn_buf_r4 #( 32'h20, 32'h196400 ) cnn_buf_149( wClk, nwReset, wDataRead_151, wDataReadValid_151, bDataReadData_151, wDataRead_153
, wDataReadValid_153, bDataReadData_153, wDataRead_157, wDataReadValid_157, bDataReadData_157
, wDataRead_161, wDataReadValid_161, bDataReadData_161, wDataWriteEnable_149, wDataWrite_149
, bDataWriteData_149 );
......
......@@ -31,7 +31,7 @@
/*
* 由googlenet程序生成
* 生成时间:Mon Aug 2 19:54:05 2021
* 生成时间:Tue Aug 3 15:39:46 2021
* 请不要手工修改。
*/
`include "hdl4secell.v"
......@@ -531,7 +531,7 @@ module googlenet(
wDataWrite_11,
bDataWriteData_11
);
hdl4se_cnn_buf_r4 #(32, 38400)
hdl4se_cnn_buf_r4 #(32, 384000)
cnn_buf_11(
wClk, nwReset,
......@@ -1303,7 +1303,7 @@ module googlenet(
wDataWrite_26,
bDataWriteData_26
);
hdl4se_cnn_buf_r4 #(32, 51200)
hdl4se_cnn_buf_r4 #(32, 512000)
cnn_buf_26(
wClk, nwReset,
......@@ -2120,7 +2120,7 @@ module googlenet(
wDataWrite_42,
bDataWriteData_42
);
hdl4se_cnn_buf_r4 #(32, 96000)
hdl4se_cnn_buf_r4 #(32, 960000)
cnn_buf_42(
wClk, nwReset,
......@@ -2892,7 +2892,7 @@ module googlenet(
wDataWrite_57,
bDataWriteData_57
);
hdl4se_cnn_buf_r4 #(32, 10240)
hdl4se_cnn_buf_r4 #(32, 1024000)
cnn_buf_57(
wClk, nwReset,
......@@ -3664,7 +3664,7 @@ module googlenet(
wDataWrite_80,
bDataWriteData_80
);
hdl4se_cnn_buf_r4 #(32, 10240)
hdl4se_cnn_buf_r4 #(32, 1024000)
cnn_buf_80(
wClk, nwReset,
......@@ -4436,7 +4436,7 @@ module googlenet(
wDataWrite_95,
bDataWriteData_95
);
hdl4se_cnn_buf_r4 #(32, 10240)
hdl4se_cnn_buf_r4 #(32, 1024000)
cnn_buf_95(
wClk, nwReset,
......@@ -5208,7 +5208,7 @@ module googlenet(
wDataWrite_110,
bDataWriteData_110
);
hdl4se_cnn_buf_r4 #(32, 10560)
hdl4se_cnn_buf_r4 #(32, 1056000)
cnn_buf_110(
wClk, nwReset,
......@@ -6025,7 +6025,7 @@ module googlenet(
wDataWrite_134,
bDataWriteData_134
);
hdl4se_cnn_buf_r4 #(32, 16640)
hdl4se_cnn_buf_r4 #(32, 1664000)
cnn_buf_134(
wClk, nwReset,
......@@ -6797,7 +6797,7 @@ module googlenet(
wDataWrite_149,
bDataWriteData_149
);
hdl4se_cnn_buf_r4 #(32, 16640)
hdl4se_cnn_buf_r4 #(32, 1664000)
cnn_buf_149(
wClk, nwReset,
......
......@@ -99,6 +99,18 @@ int main(int argc, char* argv[])
objectCall2(vcdfile, AddSignal, "/top/net", "wDataWrite_11");
objectCall2(vcdfile, AddSignal, "/top/net", "wDataWriteEnable_11");
objectCall2(vcdfile, AddSignal, "/top/net/convolution_13", "wDataRead");
objectCall2(vcdfile, AddSignal, "/top/net/convolution_13", "wDataReadValid");
objectCall2(vcdfile, AddSignal, "/top/net/convolution_13", "bDataReadData");
objectCall2(vcdfile, AddSignal, "/top/net/convolution_13", "wDataWriteEnable");
objectCall2(vcdfile, AddSignal, "/top/net/convolution_13", "wDataWrite");
objectCall2(vcdfile, AddSignal, "/top/net/convolution_13", "bDataWriteData");
objectCall2(vcdfile, AddSignal, "/top/net/convolution_13", "index");
objectCall2(vcdfile, AddSignal, "/top/net/convolution_13", "state");
objectCall2(vcdfile, AddSignal, "/top/net/convolution_13", "writeline");
objectCall2(vcdfile, AddSignal, "/top/net/convolution_13", "readline");
objectCall2(vcdfile, AddSignal, "/top/net/convolution_13", "lineindex");
objectCall2(vcdfile, AddSignal, "/top/net/concat_26", "wDataRead_0");
objectCall2(vcdfile, AddSignal, "/top/net/concat_26", "wDataReadValid_0");
objectCall2(vcdfile, AddSignal, "/top/net/concat_26", "bDataReadData_0");
......@@ -116,27 +128,42 @@ int main(int argc, char* argv[])
objectCall2(vcdfile, AddSignal, "/top/net/concat_26", "bDataWriteData");
objectCall2(vcdfile, AddSignal, "/top/net/concat_26", "index");
objectCall2(vcdfile, AddSignal, "/top/net/convolution_17", "index");
objectCall2(vcdfile, AddSignal, "/top/net/convolution_17", "state");
objectCall2(vcdfile, AddSignal, "/top/net/convolution_13", "index");
objectCall2(vcdfile, AddSignal, "/top/net/convolution_13", "state");
objectCall2(vcdfile, AddSignal, "/top/net", "wDataReadValid_26_1");
objectCall2(vcdfile, AddSignal, "/top/net", "wDataWrite_17");
objectCall2(vcdfile, AddSignal, "/top/net", "wDataWriteEnable_17");
objectCall2(vcdfile, AddSignal, "/top/net", "wDataReadValid_17");
objectCall2(vcdfile, AddSignal, "/top/net", "wDataWrite_15");
objectCall2(vcdfile, AddSignal, "/top/net", "wDataReadValid_15");
objectCall2(vcdfile, AddSignal, "/top/net", "wDataWrite_11");
objectCall2(vcdfile, AddSignal, "/top/net", "wDataReadValid_13");
objectCall2(vcdfile, AddSignal, "/top/net", "bDataReadData_13");
objectCall2(vcdfile, AddSignal, "/top/net", "wDataWriteEnable_13");
objectCall2(vcdfile, AddSignal, "/top/net", "wDataWrite_13");
objectCall2(vcdfile, AddSignal, "/top/net", "wDataReadValid_26_0");
objectCall2(vcdfile, AddSignal, "/top/net", "wDataRead_26_0");
objectCall2(vcdfile, AddSignal, "/top/net", "wDataWriteEnable_26");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "wDataRead_0");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "wDataReadValid_0");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "bDataReadData_0");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "wDataRead_1");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "wDataReadValid_1");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "bDataReadData_1");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "wDataRead_2");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "wDataReadValid_2");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "bDataReadData_2");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "wDataRead_3");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "wDataReadValid_3");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "bDataReadData_3");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "wDataWriteEnable");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "wDataWrite");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "bDataWriteData");
objectCall2(vcdfile, AddSignal, "/top/net/concat_41", "index");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "wDataRead_0");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "wDataReadValid_0");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "bDataReadData_0");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "wDataRead_1");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "wDataReadValid_1");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "bDataReadData_1");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "wDataRead_2");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "wDataReadValid_2");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "bDataReadData_2");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "wDataRead_3");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "wDataReadValid_3");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "bDataReadData_3");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "wDataWriteEnable");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "wDataWrite");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "bDataWriteData");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "wDataWriteEnable_0");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "wDataWriteEnable_1");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "wDataWriteEnable_2");
objectCall2(vcdfile, AddSignal, "/top/net/cnn_buf_26", "wDataWriteEnable_3");
objectCall1(vcdfile, SetTopModule, topmodule);
objectCall0(vcdfile, StartRecord);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册