Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
饶先宏
hdl4se
提交
a33968b0
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 搜索 >>
提交
a33968b0
编写于
8月 27, 2021
作者:
饶先宏
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
202108279738
上级
80357606
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
278 addition
and
37 deletion
+278
-37
examples/hdl4se_riscv/de1/alu/mulsu.qip
examples/hdl4se_riscv/de1/alu/mulsu.qip
+4
-0
examples/hdl4se_riscv/de1/alu/mulsu.v
examples/hdl4se_riscv/de1/alu/mulsu.v
+109
-0
examples/hdl4se_riscv/de1/alu/mulsu_bb.v
examples/hdl4se_riscv/de1/alu/mulsu_bb.v
+84
-0
examples/hdl4se_riscv/de1/de1_risc.cr.mti
examples/hdl4se_riscv/de1/de1_risc.cr.mti
+7
-0
examples/hdl4se_riscv/de1/de1_risc.mpf
examples/hdl4se_riscv/de1/de1_risc.mpf
+21
-19
examples/hdl4se_riscv/de1/de1_riscv.qsf
examples/hdl4se_riscv/de1/de1_riscv.qsf
+2
-1
examples/hdl4se_riscv/de1/div.qip
examples/hdl4se_riscv/de1/div.qip
+0
-0
examples/hdl4se_riscv/de1/mulsu.qip
examples/hdl4se_riscv/de1/mulsu.qip
+0
-0
examples/hdl4se_riscv/de1/regfile.qip
examples/hdl4se_riscv/de1/regfile.qip
+0
-0
examples/hdl4se_riscv/de1/regfile/regfile.v
examples/hdl4se_riscv/de1/regfile/regfile.v
+3
-3
examples/hdl4se_riscv/de1/regfile/regfile_bb.v
examples/hdl4se_riscv/de1/regfile/regfile_bb.v
+2
-2
examples/hdl4se_riscv/de1/vsim.wlf
examples/hdl4se_riscv/de1/vsim.wlf
+0
-0
examples/hdl4se_riscv/hdl4se_riscv_sim/hdl4se_riscv_core_v2.c
...ples/hdl4se_riscv/hdl4se_riscv_sim/hdl4se_riscv_core_v2.c
+17
-5
examples/hdl4se_riscv/verilog/riscv_core.v
examples/hdl4se_riscv/verilog/riscv_core.v
+29
-7
未找到文件。
examples/hdl4se_riscv/de1/alu/mulsu.qip
0 → 100644
浏览文件 @
a33968b0
set_global_assignment -name IP_TOOL_NAME "LPM_MULT"
set_global_assignment -name IP_TOOL_VERSION "13.1"
set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) "mulsu.v"]
set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "mulsu_bb.v"]
examples/hdl4se_riscv/de1/alu/mulsu.v
0 → 100644
浏览文件 @
a33968b0
// megafunction wizard: %LPM_MULT%
// GENERATION: STANDARD
// VERSION: WM1.0
// MODULE: lpm_mult
// ============================================================
// File Name: mulsu.v
// Megafunction Name(s):
// lpm_mult
//
// Simulation Library Files(s):
// lpm
// ============================================================
// ************************************************************
// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
//
// 13.1.0 Build 162 10/23/2013 SJ Full Version
// ************************************************************
//Copyright (C) 1991-2013 Altera Corporation
//Your use of Altera Corporation's design tools, logic functions
//and other software and tools, and its AMPP partner logic
//functions, and any output files from any of the foregoing
//(including device programming or simulation files), and any
//associated documentation or information are expressly subject
//to the terms and conditions of the Altera Program License
//Subscription Agreement, Altera MegaCore Function License
//Agreement, or other applicable license agreement, including,
//without limitation, that your use is for the sole purpose of
//programming logic devices manufactured by Altera and sold by
//Altera or its authorized distributors. Please refer to the
//applicable agreement for further details.
// synopsys translate_off
`timescale
1
ps
/
1
ps
// synopsys translate_on
module
mulsu
(
dataa
,
datab
,
result
);
input
[
31
:
0
]
dataa
;
input
[
39
:
0
]
datab
;
output
[
71
:
0
]
result
;
wire
[
71
:
0
]
sub_wire0
;
wire
[
71
:
0
]
result
=
sub_wire0
[
71
:
0
];
lpm_mult
lpm_mult_component
(
.
dataa
(
dataa
),
.
datab
(
datab
),
.
result
(
sub_wire0
),
.
aclr
(
1'b0
),
.
clken
(
1'b1
),
.
clock
(
1'b0
),
.
sum
(
1'b0
));
defparam
lpm_mult_component
.
lpm_hint
=
"MAXIMIZE_SPEED=5"
,
lpm_mult_component
.
lpm_representation
=
"SIGNED"
,
lpm_mult_component
.
lpm_type
=
"LPM_MULT"
,
lpm_mult_component
.
lpm_widtha
=
32
,
lpm_mult_component
.
lpm_widthb
=
40
,
lpm_mult_component
.
lpm_widthp
=
72
;
endmodule
// ============================================================
// CNX file retrieval info
// ============================================================
// Retrieval info: PRIVATE: AutoSizeResult NUMERIC "1"
// Retrieval info: PRIVATE: B_isConstant NUMERIC "0"
// Retrieval info: PRIVATE: ConstantB NUMERIC "0"
// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone V"
// Retrieval info: PRIVATE: LPM_PIPELINE NUMERIC "0"
// Retrieval info: PRIVATE: Latency NUMERIC "0"
// Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
// Retrieval info: PRIVATE: SignedMult NUMERIC "1"
// Retrieval info: PRIVATE: USE_MULT NUMERIC "1"
// Retrieval info: PRIVATE: ValidConstant NUMERIC "0"
// Retrieval info: PRIVATE: WidthA NUMERIC "32"
// Retrieval info: PRIVATE: WidthB NUMERIC "40"
// Retrieval info: PRIVATE: WidthP NUMERIC "72"
// Retrieval info: PRIVATE: aclr NUMERIC "0"
// Retrieval info: PRIVATE: clken NUMERIC "0"
// Retrieval info: PRIVATE: new_diagram STRING "1"
// Retrieval info: PRIVATE: optimize NUMERIC "0"
// Retrieval info: LIBRARY: lpm lpm.lpm_components.all
// Retrieval info: CONSTANT: LPM_HINT STRING "MAXIMIZE_SPEED=5"
// Retrieval info: CONSTANT: LPM_REPRESENTATION STRING "SIGNED"
// Retrieval info: CONSTANT: LPM_TYPE STRING "LPM_MULT"
// Retrieval info: CONSTANT: LPM_WIDTHA NUMERIC "32"
// Retrieval info: CONSTANT: LPM_WIDTHB NUMERIC "40"
// Retrieval info: CONSTANT: LPM_WIDTHP NUMERIC "72"
// Retrieval info: USED_PORT: dataa 0 0 32 0 INPUT NODEFVAL "dataa[31..0]"
// Retrieval info: USED_PORT: datab 0 0 40 0 INPUT NODEFVAL "datab[39..0]"
// Retrieval info: USED_PORT: result 0 0 72 0 OUTPUT NODEFVAL "result[71..0]"
// Retrieval info: CONNECT: @dataa 0 0 32 0 dataa 0 0 32 0
// Retrieval info: CONNECT: @datab 0 0 40 0 datab 0 0 40 0
// Retrieval info: CONNECT: result 0 0 72 0 @result 0 0 72 0
// Retrieval info: GEN_FILE: TYPE_NORMAL mulsu.v TRUE
// Retrieval info: GEN_FILE: TYPE_NORMAL mulsu.inc FALSE
// Retrieval info: GEN_FILE: TYPE_NORMAL mulsu.cmp FALSE
// Retrieval info: GEN_FILE: TYPE_NORMAL mulsu.bsf FALSE
// Retrieval info: GEN_FILE: TYPE_NORMAL mulsu_inst.v FALSE
// Retrieval info: GEN_FILE: TYPE_NORMAL mulsu_bb.v TRUE
// Retrieval info: LIB_FILE: lpm
examples/hdl4se_riscv/de1/alu/mulsu_bb.v
0 → 100644
浏览文件 @
a33968b0
// megafunction wizard: %LPM_MULT%VBB%
// GENERATION: STANDARD
// VERSION: WM1.0
// MODULE: lpm_mult
// ============================================================
// File Name: mulsu.v
// Megafunction Name(s):
// lpm_mult
//
// Simulation Library Files(s):
// lpm
// ============================================================
// ************************************************************
// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
//
// 13.1.0 Build 162 10/23/2013 SJ Full Version
// ************************************************************
//Copyright (C) 1991-2013 Altera Corporation
//Your use of Altera Corporation's design tools, logic functions
//and other software and tools, and its AMPP partner logic
//functions, and any output files from any of the foregoing
//(including device programming or simulation files), and any
//associated documentation or information are expressly subject
//to the terms and conditions of the Altera Program License
//Subscription Agreement, Altera MegaCore Function License
//Agreement, or other applicable license agreement, including,
//without limitation, that your use is for the sole purpose of
//programming logic devices manufactured by Altera and sold by
//Altera or its authorized distributors. Please refer to the
//applicable agreement for further details.
module
mulsu
(
dataa
,
datab
,
result
);
input
[
31
:
0
]
dataa
;
input
[
39
:
0
]
datab
;
output
[
71
:
0
]
result
;
endmodule
// ============================================================
// CNX file retrieval info
// ============================================================
// Retrieval info: PRIVATE: AutoSizeResult NUMERIC "1"
// Retrieval info: PRIVATE: B_isConstant NUMERIC "0"
// Retrieval info: PRIVATE: ConstantB NUMERIC "0"
// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone V"
// Retrieval info: PRIVATE: LPM_PIPELINE NUMERIC "0"
// Retrieval info: PRIVATE: Latency NUMERIC "0"
// Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
// Retrieval info: PRIVATE: SignedMult NUMERIC "1"
// Retrieval info: PRIVATE: USE_MULT NUMERIC "1"
// Retrieval info: PRIVATE: ValidConstant NUMERIC "0"
// Retrieval info: PRIVATE: WidthA NUMERIC "32"
// Retrieval info: PRIVATE: WidthB NUMERIC "40"
// Retrieval info: PRIVATE: WidthP NUMERIC "72"
// Retrieval info: PRIVATE: aclr NUMERIC "0"
// Retrieval info: PRIVATE: clken NUMERIC "0"
// Retrieval info: PRIVATE: new_diagram STRING "1"
// Retrieval info: PRIVATE: optimize NUMERIC "0"
// Retrieval info: LIBRARY: lpm lpm.lpm_components.all
// Retrieval info: CONSTANT: LPM_HINT STRING "MAXIMIZE_SPEED=5"
// Retrieval info: CONSTANT: LPM_REPRESENTATION STRING "SIGNED"
// Retrieval info: CONSTANT: LPM_TYPE STRING "LPM_MULT"
// Retrieval info: CONSTANT: LPM_WIDTHA NUMERIC "32"
// Retrieval info: CONSTANT: LPM_WIDTHB NUMERIC "40"
// Retrieval info: CONSTANT: LPM_WIDTHP NUMERIC "72"
// Retrieval info: USED_PORT: dataa 0 0 32 0 INPUT NODEFVAL "dataa[31..0]"
// Retrieval info: USED_PORT: datab 0 0 40 0 INPUT NODEFVAL "datab[39..0]"
// Retrieval info: USED_PORT: result 0 0 72 0 OUTPUT NODEFVAL "result[71..0]"
// Retrieval info: CONNECT: @dataa 0 0 32 0 dataa 0 0 32 0
// Retrieval info: CONNECT: @datab 0 0 40 0 datab 0 0 40 0
// Retrieval info: CONNECT: result 0 0 72 0 @result 0 0 72 0
// Retrieval info: GEN_FILE: TYPE_NORMAL mulsu.v TRUE
// Retrieval info: GEN_FILE: TYPE_NORMAL mulsu.inc FALSE
// Retrieval info: GEN_FILE: TYPE_NORMAL mulsu.cmp FALSE
// Retrieval info: GEN_FILE: TYPE_NORMAL mulsu.bsf FALSE
// Retrieval info: GEN_FILE: TYPE_NORMAL mulsu_inst.v FALSE
// Retrieval info: GEN_FILE: TYPE_NORMAL mulsu_bb.v TRUE
// Retrieval info: LIB_FILE: lpm
examples/hdl4se_riscv/de1/de1_risc.cr.mti
浏览文件 @
a33968b0
...
...
@@ -232,6 +232,13 @@ Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
Top level modules:
div_s
} {} {}} D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/alu/mulsu.v {1 {vlog -work work D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/alu/mulsu.v
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module mulsu
Top level modules:
mulsu
} {} {}} D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/de1_riscv.v {1 {vlog -work work D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/de1_riscv.v
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module de1_riscv
...
...
examples/hdl4se_riscv/de1/de1_risc.mpf
浏览文件 @
a33968b0
...
...
@@ -448,33 +448,35 @@ ConcurrentFileLimit = 40
Project_Version = 6
Project_DefaultLib = work
Project_SortMethod = unused
Project_Files_Count = 1
3
Project_Files_Count = 1
4
Project_File_0 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/de1_riscv_test.v
Project_File_P_0 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level}
last_compile 1629979729 cover_fsm 0 cover_branch 0 vlog_noload 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 10 dont_compile 0 cover_expr
0 cover_stmt 0
Project_File_P_0 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level}
cover_branch 0 cover_fsm 0 last_compile 1629979729 vlog_noload 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 10 cover_expr 0 dont_compile
0 cover_stmt 0
Project_File_1 = C:/altera/13.1/quartus/eda/sim_lib/220model.v
Project_File_P_1 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 cover_fsm 0
cover_branch 0 vlog_noload 0 last_compile 1382637203 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 11 cover_expr 0 dont_compile
0 cover_stmt 0
Project_File_P_1 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 cover_fsm 0
last_compile 1382637203 vlog_noload 0 cover_branch 0 folder {Top Level} vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 11 dont_compile 0 cover_expr
0 cover_stmt 0
Project_File_2 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/alu/suber.v
Project_File_P_2 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0
cover_branch 0 folder {Top Level} last_compile 1629976037 cover_fsm 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 5 cover_expr 0 dont_compile
0 cover_stmt 0
Project_File_P_2 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0
last_compile 1629976037 folder {Top Level} cover_branch 0 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 5 dont_compile 0 cover_expr
0 cover_stmt 0
Project_File_3 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/alu/mult.v
Project_File_P_3 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0
cover_branch 0 folder {Top Level} last_compile 1629976037 cover_fsm 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 3 cover_expr 0 dont_compile
0 cover_stmt 0
Project_File_P_3 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0
last_compile 1629976037 folder {Top Level} cover_branch 0 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 3 dont_compile 0 cover_expr
0 cover_stmt 0
Project_File_4 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/ram/ram8kb.v
Project_File_P_4 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level}
cover_branch 0 cover_fsm 0 last_compile 1629987192 vlog_noload 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 7 cover_expr 0 dont_compile
0 cover_stmt 0
Project_File_P_4 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level}
last_compile 1629987192 cover_fsm 0 cover_branch 0 vlog_noload 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 7 dont_compile 0 cover_expr
0 cover_stmt 0
Project_File_5 = D:/gitwork/hdl4se/examples/hdl4se_riscv/verilog/riscv_core.v
Project_File_P_5 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0 cover_branch 0 folder {Top Level} last_compile 16
29987943
cover_fsm 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 9 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_P_5 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0 cover_branch 0 folder {Top Level} last_compile 16
30021006
cover_fsm 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 9 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_6 = C:/altera/13.1/quartus/eda/sim_lib/altera_mf.v
Project_File_P_6 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 cover_fsm 0
cover_branch 0 vlog_noload 0 last_compile 1382637282 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 12 cover_expr 0 dont_compile
0 cover_stmt 0
Project_File_P_6 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 cover_fsm 0
last_compile 1382637282 vlog_noload 0 cover_branch 0 folder {Top Level} vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 12 dont_compile 0 cover_expr
0 cover_stmt 0
Project_File_7 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/alu/div_s.v
Project_File_P_7 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0 cover_branch 0 folder {Top Level} last_compile 1629976037 cover_fsm 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 2 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_8 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/de1_riscv.v
Project_File_P_8 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} last_compile 1629977359 cover_fsm 0 cover_branch 0 vlog_noload 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 6 dont_compile 0 cover_expr 0 cover_stmt 0
Project_File_9 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/alu/adder.v
Project_File_P_9 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0 cover_branch 0 folder {Top Level} last_compile 1629976037 cover_fsm 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 0 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_10 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/regfile/regfile.v
Project_File_P_10 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0 last_compile 1629890486 folder {Top Level} cover_branch 0 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 8 dont_compile 0 cover_expr 0 cover_stmt 0
Project_File_11 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/alu/div.v
Project_File_P_11 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0 cover_branch 0 folder {Top Level} last_compile 1629976037 cover_fsm 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 1 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_12 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/alu/mult_s.v
Project_File_P_12 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0 cover_branch 0 folder {Top Level} last_compile 1629976037 cover_fsm 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 4 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_P_7 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0 last_compile 1629976037 folder {Top Level} cover_branch 0 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 2 dont_compile 0 cover_expr 0 cover_stmt 0
Project_File_8 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/alu/mulsu.v
Project_File_P_8 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} cover_branch 0 cover_fsm 0 last_compile 1630013728 vlog_noload 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 13 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_9 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/de1_riscv.v
Project_File_P_9 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 folder {Top Level} cover_branch 0 cover_fsm 0 last_compile 1629977359 vlog_noload 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 cover_optlevel 3 vlog_showsource 0 vlog_hazard 0 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 6 cover_expr 0 dont_compile 0 cover_stmt 0
Project_File_10 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/alu/adder.v
Project_File_P_10 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0 last_compile 1629976037 folder {Top Level} cover_branch 0 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 0 dont_compile 0 cover_expr 0 cover_stmt 0
Project_File_11 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/regfile/regfile.v
Project_File_P_11 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0 last_compile 1630014534 folder {Top Level} cover_branch 0 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 8 dont_compile 0 cover_expr 0 cover_stmt 0
Project_File_12 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/alu/div.v
Project_File_P_12 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0 last_compile 1629976037 folder {Top Level} cover_branch 0 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 1 dont_compile 0 cover_expr 0 cover_stmt 0
Project_File_13 = D:/gitwork/hdl4se/examples/hdl4se_riscv/de1/alu/mult_s.v
Project_File_P_13 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat 0 vlog_nodebug 0 vlog_noload 0 last_compile 1629976037 folder {Top Level} cover_branch 0 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 vlog_hazard 0 vlog_showsource 0 cover_optlevel 3 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 4 dont_compile 0 cover_expr 0 cover_stmt 0
Project_Sim_Count = 0
Project_Folder_Count = 0
Echo_Compile_Output = 0
...
...
examples/hdl4se_riscv/de1/de1_riscv.qsf
浏览文件 @
a33968b0
...
...
@@ -503,4 +503,5 @@ set_global_assignment -name QIP_FILE alu/div.qip
set_global_assignment -name QIP_FILE alu/div_s.qip
set_global_assignment -name QIP_FILE alu/adder.qip
set_global_assignment -name QIP_FILE alu/suber.qip
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
\ No newline at end of file
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
set_global_assignment -name QIP_FILE alu/mulsu.qip
\ No newline at end of file
examples/hdl4se_riscv/de1/div.qip
0 → 100644
浏览文件 @
a33968b0
examples/hdl4se_riscv/de1/mulsu.qip
0 → 100644
浏览文件 @
a33968b0
examples/hdl4se_riscv/de1/regfile.qip
0 → 100644
浏览文件 @
a33968b0
examples/hdl4se_riscv/de1/regfile/regfile.v
浏览文件 @
a33968b0
...
...
@@ -96,7 +96,7 @@ module regfile (
altsyncram_component
.
numwords_a
=
32
,
altsyncram_component
.
operation_mode
=
"SINGLE_PORT"
,
altsyncram_component
.
outdata_aclr_a
=
"NONE"
,
altsyncram_component
.
outdata_reg_a
=
"
CLOCK0
"
,
altsyncram_component
.
outdata_reg_a
=
"
UNREGISTERED
"
,
altsyncram_component
.
power_up_uninitialized
=
"FALSE"
,
altsyncram_component
.
read_during_write_mode_port_a
=
"NEW_DATA_NO_NBE_READ"
,
altsyncram_component
.
widthad_a
=
5
,
...
...
@@ -134,7 +134,7 @@ endmodule
// Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_PORT_A NUMERIC "3"
// Retrieval info: PRIVATE: RegAddr NUMERIC "1"
// Retrieval info: PRIVATE: RegData NUMERIC "1"
// Retrieval info: PRIVATE: RegOutput NUMERIC "
1
"
// Retrieval info: PRIVATE: RegOutput NUMERIC "
0
"
// Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
// Retrieval info: PRIVATE: SingleClock NUMERIC "1"
// Retrieval info: PRIVATE: UseDQRAM NUMERIC "1"
...
...
@@ -152,7 +152,7 @@ endmodule
// Retrieval info: CONSTANT: NUMWORDS_A NUMERIC "32"
// Retrieval info: CONSTANT: OPERATION_MODE STRING "SINGLE_PORT"
// Retrieval info: CONSTANT: OUTDATA_ACLR_A STRING "NONE"
// Retrieval info: CONSTANT: OUTDATA_REG_A STRING "
CLOCK0
"
// Retrieval info: CONSTANT: OUTDATA_REG_A STRING "
UNREGISTERED
"
// Retrieval info: CONSTANT: POWER_UP_UNINITIALIZED STRING "FALSE"
// Retrieval info: CONSTANT: READ_DURING_WRITE_MODE_PORT_A STRING "NEW_DATA_NO_NBE_READ"
// Retrieval info: CONSTANT: WIDTHAD_A NUMERIC "5"
...
...
examples/hdl4se_riscv/de1/regfile/regfile_bb.v
浏览文件 @
a33968b0
...
...
@@ -84,7 +84,7 @@ endmodule
// Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_PORT_A NUMERIC "3"
// Retrieval info: PRIVATE: RegAddr NUMERIC "1"
// Retrieval info: PRIVATE: RegData NUMERIC "1"
// Retrieval info: PRIVATE: RegOutput NUMERIC "
1
"
// Retrieval info: PRIVATE: RegOutput NUMERIC "
0
"
// Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
// Retrieval info: PRIVATE: SingleClock NUMERIC "1"
// Retrieval info: PRIVATE: UseDQRAM NUMERIC "1"
...
...
@@ -102,7 +102,7 @@ endmodule
// Retrieval info: CONSTANT: NUMWORDS_A NUMERIC "32"
// Retrieval info: CONSTANT: OPERATION_MODE STRING "SINGLE_PORT"
// Retrieval info: CONSTANT: OUTDATA_ACLR_A STRING "NONE"
// Retrieval info: CONSTANT: OUTDATA_REG_A STRING "
CLOCK0
"
// Retrieval info: CONSTANT: OUTDATA_REG_A STRING "
UNREGISTERED
"
// Retrieval info: CONSTANT: POWER_UP_UNINITIALIZED STRING "FALSE"
// Retrieval info: CONSTANT: READ_DURING_WRITE_MODE_PORT_A STRING "NEW_DATA_NO_NBE_READ"
// Retrieval info: CONSTANT: WIDTHAD_A NUMERIC "5"
...
...
examples/hdl4se_riscv/de1/vsim.wlf
浏览文件 @
a33968b0
无法预览此类型文件
examples/hdl4se_riscv/hdl4se_riscv_sim/hdl4se_riscv_core_v2.c
浏览文件 @
a33968b0
...
...
@@ -308,16 +308,28 @@ void riscv_core_exec_alu_inst(MODULE_DATA_TYPE* pobj, unsigned int pc, unsigned
rst
=
s1
>>
32
;
}
break
;
case
4
:
{
//div
*
(
int
*
)
&
rst
=
*
(
int
*
)
&
rs1
/
*
(
int
*
)
&
rs2
;
if
(
rs2
==
0
)
rst
=
0xffffffff
;
else
*
(
int
*
)
&
rst
=
*
(
int
*
)
&
rs1
/
*
(
int
*
)
&
rs2
;
}
break
;
case
5
:
{
//divu
rst
=
rs1
/
rs2
;
if
(
rs2
==
0
)
rst
=
0xffffffff
;
else
rst
=
rs1
/
rs2
;
}
break
;
case
6
:
{
//rem
*
(
int
*
)
&
rst
=
*
(
int
*
)
&
rs1
%
*
(
int
*
)
&
rs2
;
if
(
rs2
==
0
)
rst
=
rs1
;
else
*
(
int
*
)
&
rst
=
*
(
int
*
)
&
rs1
%
*
(
int
*
)
&
rs2
;
}
break
;
case
7
:
{
//remu
rst
=
rs1
%
rs2
;
if
(
rs2
==
0
)
rst
=
rs1
;
else
rst
=
rs1
%
rs2
;
}
break
;
}
...
...
@@ -790,7 +802,7 @@ MODULE_INIT(riscv_core)
PORT_IN
(
bReadData
,
32
);
GPORT_OUT
(
regno
,
5
,
riscv_core_reg_wr_sig
);
GPORT_OUT
(
regena
,
4
,
riscv_core_reg_wr_sig
);
GPORT_OUT
(
regwrdata
,
3
1
,
riscv_core_reg_wr_sig
);
GPORT_OUT
(
regwrdata
,
3
2
,
riscv_core_reg_wr_sig
);
GPORT_OUT
(
regwren
,
1
,
riscv_core_reg_wr_sig
);
PORT_IN
(
regrddata
,
32
);
GREG
(
pc
,
32
,
riscv_core_reg_gen_pc
);
...
...
examples/hdl4se_riscv/verilog/riscv_core.v
浏览文件 @
a33968b0
...
...
@@ -96,13 +96,21 @@ module riscv_core(
wire
[
31
:
0
]
sub_result
;
wire
[
63
:
0
]
mul_result
;
wire
[
63
:
0
]
muls_result
;
wire
[
71
:
0
]
mulsu_result
;
wire
[
31
:
0
]
div_result_r
,
mod_result_r
,
divs_result_r
,
mods_result_r
;
wire
[
31
:
0
]
div_result
,
mod_result
,
divs_result
,
mods_result
;
adder
add
(
rs1
,
rs2
,
add_result
);
suber
sub
(
rs1
,
rs2
,
sub_result
);
mult
mul
(
rs1
,
rs2
,
mul_result
);
mult_s
mul_s
(
rs1
,
rs2
,
muls_result
);
div
div
(
rs1
,
rs2
,
div_result
,
mod_result
);
div_s
divs
(
rs1
,
rs2
,
divs_result
,
mods_result
);
mulsu
mul_su
(
rs1
,
{
8'b0
,
rs2
}
,
mulsu_result
);
div
div
(
rs2
,
rs1
,
div_result_r
,
mod_result_r
);
div_s
divs
(
rs2
,
rs1
,
divs_result_r
,
mods_result_r
);
assign
div_result
=
(
rs2
==
0
)
?
32'hffffffff
:
div_result_r
;
assign
divs_result
=
(
rs2
==
0
)
?
32'hffffffff
:
divs_result_r
;
assign
mod_result
=
(
rs2
==
0
)
?
rs1
:
mod_result_r
;
assign
mods_result
=
(
rs2
==
0
)
?
rs1
:
mods_result_r
;
/* cond */
always
@
(
rs1
or
rs2
or
rs1_s
or
rs2_s
or
func3
)
...
...
@@ -199,6 +207,8 @@ module riscv_core(
end
endcase
end
end
else
begin
write
<=
0
;
end
//DEFINE_FUNC(riscv_core_gen_state, "state, instr, nwReset") {
...
...
@@ -374,22 +384,34 @@ module riscv_core(
dstvalue
<=
muls_result
[
63
:
32
];
end
2
:
begin
//mulhsu
dstvalue
<=
muls
_result
[
63
:
32
];
//?
dstvalue
<=
muls
u_result
[
63
:
32
];
end
3
:
begin
//mulhu
dstvalue
<=
mul_result
[
63
:
32
];
end
4
:
begin
//div
dstvalue
<=
divs_result
;
if
(
rs2
==
0
)
dstvalue
<=
32'hffffffff
;
else
dstvalue
<=
divs_result
;
end
5
:
begin
//divu
dstvalue
<=
div_result
;
if
(
rs2
==
0
)
dstvalue
<=
32'hffffffff
;
else
dstvalue
<=
div_result
;
end
6
:
begin
//rem
dstvalue
<=
mods_result
;
if
(
rs2
==
0
)
dstvalue
<=
rs1
;
else
dstvalue
<=
mods_result
;
end
7
:
begin
//remu
dstvalue
<=
mod_result
;
if
(
rs2
==
0
)
dstvalue
<=
rs1
;
else
dstvalue
<=
mod_result
;
end
endcase
end
else
begin
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录