Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
饶先宏
hdl4se
提交
bc2e6006
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 搜索 >>
提交
bc2e6006
编写于
8月 05, 2021
作者:
饶先宏
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
202108051334
上级
70a13ee1
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
10 addition
and
5 deletion
+10
-5
examples/hdl4secnn/googlenet/verilog/main.c
examples/hdl4secnn/googlenet/verilog/main.c
+2
-2
hdl4sesim/src/hdl4sesim.c
hdl4sesim/src/hdl4sesim.c
+8
-3
未找到文件。
examples/hdl4secnn/googlenet/verilog/main.c
浏览文件 @
bc2e6006
...
...
@@ -142,12 +142,12 @@ int main(int argc, char* argv[])
if
(
clocks
==
2
)
objectCall1
(
sim
,
SetReset
,
1
);
clocks
++
;
if
((
clocks
&
0xFFF
)
==
0
)
{
if
((
clocks
&
0x
3
FFF
)
==
0
)
{
time_t
thistime
=
time
(
NULL
);
printf
(
"clocks: %lld, TSPD=%lfcps, LSPD=%lfcps
\n
"
,
clocks
,
(
double
)
clocks
/
(
double
)(
thistime
-
starttime
),
4096
.
0
/
(
double
)(
thistime
-
lasttime
));
4096
.
0
*
4
/
(
double
)(
thistime
-
lasttime
));
lasttime
=
time
(
NULL
);
}
}
while
(
running
);
...
...
hdl4sesim/src/hdl4sesim.c
浏览文件 @
bc2e6006
...
...
@@ -197,9 +197,11 @@ static int hdl4sesim_collect_module(HOBJECT module, sHDL4SESim* pobj)
static
int
hdl4sesim_hdl4se_simulator_SetTopModule
(
HOBJECT
object
,
HOBJECT
topmodule
)
{
sHDL4SESim
*
pobj
;
void
*
a
[
1024
];
pobj
=
(
sHDL4SESim
*
)
objectThis
(
object
);
objectQueryInterface
(
topmodule
,
IID_HDL4SEMODULE
,
(
const
void
**
)
&
pobj
->
topmodule
);
hdl4semoduleTraversal
(
pobj
->
topmodule
,
hdl4sesim_collect_module
,
pobj
);
/*连接topmodule到sim模块,0.wClk, 1.nwReset*/
hdl4se_module_ConnectInput
(
&
pobj
->
topmodule
->
data
,
0
,
object
,
0
);
hdl4se_module_ConnectInput
(
&
pobj
->
topmodule
->
data
,
1
,
object
,
1
);
...
...
@@ -224,9 +226,12 @@ static int hdl4sesim_hdl4se_simulator_ClkTick(HOBJECT object)
for
(
i
=
0
;
i
<
pobj
->
singlethreadmodules
.
itemcount
;
i
++
)
{
hdl4se_module_ClkTick
(
&
((
IHDL4SEModuleVar
*
)(
pobj
->
singlethreadmodules
.
array
[
i
]))
->
data
);
}
//#pragma omp parallel for num_threads(4)
#pragma omp parallel for num_threads(2)
//for (i = 0; i < pobj->multithreadmodules.itemcount; i++) {
for
(
i
=
0
;
i
<
pobj
->
multithreadmodules
.
itemcount
;
i
++
)
{
hdl4se_module_ClkTick
(
&
((
IHDL4SEModuleVar
*
)(
pobj
->
multithreadmodules
.
array
[
i
]))
->
data
);
// int j = i / 16 + (i % 16) * 16;
// if (j < pobj->multithreadmodules.itemcount)
hdl4se_module_ClkTick
(
&
((
IHDL4SEModuleVar
*
)(
pobj
->
multithreadmodules
.
array
[
i
]))
->
data
);
}
return
0
;
}
...
...
@@ -243,7 +248,7 @@ static int hdl4sesim_hdl4se_simulator_Setup(HOBJECT object)
for
(
i
=
0
;
i
<
pobj
->
singlethreadmodules
.
itemcount
;
i
++
)
{
hdl4se_module_Setup
(
&
((
IHDL4SEModuleVar
*
)(
pobj
->
singlethreadmodules
.
array
[
i
]))
->
data
);
}
//#pragma omp parallel for num_threads(4
)
#pragma omp parallel for num_threads(2
)
for
(
i
=
0
;
i
<
pobj
->
multithreadmodules
.
itemcount
;
i
++
)
{
hdl4se_module_Setup
(
&
((
IHDL4SEModuleVar
*
)(
pobj
->
multithreadmodules
.
array
[
i
]))
->
data
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录