Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
饶先宏
hdl4se
提交
c3a88b94
H
hdl4se
项目概览
饶先宏
/
hdl4se
通知
12
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hdl4se
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c3a88b94
编写于
8月 03, 2021
作者:
饶先宏
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
202108031837
上级
90a27b52
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
136 addition
and
133 deletion
+136
-133
examples/hdl4secnn/cnn/cnn/cnn.c
examples/hdl4secnn/cnn/cnn/cnn.c
+1
-1
examples/hdl4secnn/cnn/cnn/cnn_convolution.c
examples/hdl4secnn/cnn/cnn/cnn_convolution.c
+14
-18
examples/hdl4secnn/cnn/cnn/cnn_pooling.c
examples/hdl4secnn/cnn/cnn/cnn_pooling.c
+10
-20
examples/hdl4secnn/cnn/cnncell/cnncell_convolution.c
examples/hdl4secnn/cnn/cnncell/cnncell_convolution.c
+15
-18
examples/hdl4secnn/cnn/cnncell/cnncell_pooling.c
examples/hdl4secnn/cnn/cnncell/cnncell_pooling.c
+19
-26
examples/hdl4secnn/googlenet/verilog/googlenet.c
examples/hdl4secnn/googlenet/verilog/googlenet.c
+10
-10
examples/hdl4secnn/googlenet/verilog/googlenet.docx
examples/hdl4secnn/googlenet/verilog/googlenet.docx
+0
-0
examples/hdl4secnn/googlenet/verilog/googlenet.dump.v
examples/hdl4secnn/googlenet/verilog/googlenet.dump.v
+9
-9
examples/hdl4secnn/googlenet/verilog/googlenet.v
examples/hdl4secnn/googlenet/verilog/googlenet.v
+10
-10
examples/hdl4secnn/googlenet/verilog/main.c
examples/hdl4secnn/googlenet/verilog/main.c
+48
-21
未找到文件。
examples/hdl4secnn/cnn/cnn/cnn.c
浏览文件 @
c3a88b94
...
...
@@ -644,7 +644,7 @@ int node_setup_buf(cnn_layer_node* node, FILE* pCodeFile)
}
fprintf
(
pCodeFile
,
"
\t
hdl4se_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
,
"
\t
cnn_buf_%d(
\n
"
,
node
->
layer_info
->
layer_index
);
fprintf
(
pCodeFile
,
"
\t\t
wClk, nwReset,
\n
"
);
fprintf
(
pCodeFile
,
"
\n
"
);
...
...
examples/hdl4secnn/cnn/cnn/cnn_convolution.c
浏览文件 @
c3a88b94
...
...
@@ -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
;
}
...
...
examples/hdl4secnn/cnn/cnn/cnn_pooling.c
浏览文件 @
c3a88b94
...
...
@@ -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
;
}
...
...
examples/hdl4secnn/cnn/cnncell/cnncell_convolution.c
浏览文件 @
c3a88b94
...
...
@@ -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
);
...
...
examples/hdl4secnn/cnn/cnncell/cnncell_pooling.c
浏览文件 @
c3a88b94
...
...
@@ -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
);
...
...
examples/hdl4secnn/googlenet/verilog/googlenet.c
浏览文件 @
c3a88b94
...
...
@@ -31,7 +31,7 @@
/*
* Created by HDL4SE @ Tue Aug 3 0
6:10:1
7 2021
* Created by HDL4SE @ Tue Aug 3 0
7:35:5
7 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'h
96
00"
,
"32'h20, 32'h
5dc
00"
,
"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'h
c8
00"
,
"32'h20, 32'h
7d0
00"
,
"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'h
177
00"
,
"32'h20, 32'h
ea6
00"
,
"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'h
28
00"
,
"32'h20, 32'h
fa0
00"
,
"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'h
28
00"
,
"32'h20, 32'h
fa0
00"
,
"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'h
28
00"
,
"32'h20, 32'h
fa0
00"
,
"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'h
294
0"
,
"32'h20, 32'h
101d0
0"
,
"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'h
41
00"
,
"32'h20, 32'h
1964
00"
,
"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'h
41
00"
,
"32'h20, 32'h
1964
00"
,
"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"
...
...
examples/hdl4secnn/googlenet/verilog/googlenet.docx
0 → 100644
浏览文件 @
c3a88b94
文件已添加
examples/hdl4secnn/googlenet/verilog/googlenet.dump.v
浏览文件 @
c3a88b94
...
...
@@ -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'h
96
00
)
cnn_buf_11
(
wClk
,
nwReset
,
wDataRead_13
,
wDataReadValid_13
,
bDataReadData_13
,
wDataRead_15
hdl4se_cnn_buf_r4
#(
32'h20
,
32'h
5dc
00
)
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'h
c8
00
)
cnn_buf_26
(
wClk
,
nwReset
,
wDataRead_28
,
wDataReadValid_28
,
bDataReadData_28
,
wDataRead_30
hdl4se_cnn_buf_r4
#(
32'h20
,
32'h
7d0
00
)
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'h
177
00
)
cnn_buf_42
(
wClk
,
nwReset
,
wDataRead_44
,
wDataReadValid_44
,
bDataReadData_44
,
wDataRead_46
hdl4se_cnn_buf_r4
#(
32'h20
,
32'h
ea6
00
)
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'h
28
00
)
cnn_buf_57
(
wClk
,
nwReset
,
wDataRead_67
,
wDataReadValid_67
,
bDataReadData_67
,
wDataRead_69
hdl4se_cnn_buf_r4
#(
32'h20
,
32'h
fa0
00
)
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'h
28
00
)
cnn_buf_80
(
wClk
,
nwReset
,
wDataRead_82
,
wDataReadValid_82
,
bDataReadData_82
,
wDataRead_84
hdl4se_cnn_buf_r4
#(
32'h20
,
32'h
fa0
00
)
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'h
28
00
)
cnn_buf_95
(
wClk
,
nwReset
,
wDataRead_97
,
wDataReadValid_97
,
bDataReadData_97
,
wDataRead_99
hdl4se_cnn_buf_r4
#(
32'h20
,
32'h
fa0
00
)
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'h
294
0
)
cnn_buf_110
(
wClk
,
nwReset
,
wDataRead_120
,
wDataReadValid_120
,
bDataReadData_120
,
wDataRead_122
hdl4se_cnn_buf_r4
#(
32'h20
,
32'h
101d0
0
)
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'h
41
00
)
cnn_buf_134
(
wClk
,
nwReset
,
wDataRead_136
,
wDataReadValid_136
,
bDataReadData_136
,
wDataRead_138
hdl4se_cnn_buf_r4
#(
32'h20
,
32'h
1964
00
)
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'h
41
00
)
cnn_buf_149
(
wClk
,
nwReset
,
wDataRead_151
,
wDataReadValid_151
,
bDataReadData_151
,
wDataRead_153
hdl4se_cnn_buf_r4
#(
32'h20
,
32'h
1964
00
)
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
);
...
...
examples/hdl4secnn/googlenet/verilog/googlenet.v
浏览文件 @
c3a88b94
...
...
@@ -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
,
38400
0
)
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
,
51200
0
)
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
,
96000
0
)
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
,
10240
00
)
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
,
10240
00
)
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
,
10240
00
)
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
,
10560
00
)
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
,
16640
00
)
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
,
16640
00
)
cnn_buf_149
(
wClk
,
nwReset
,
...
...
examples/hdl4secnn/googlenet/verilog/main.c
浏览文件 @
c3a88b94
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录