Compare commits
24
Commits
e7fff9f3dc
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d2ba06b255
|
||
|
|
fe53955748
|
||
|
|
de1f346f64
|
||
|
|
c894488c44
|
||
|
|
74a15cf038
|
||
|
|
00b2087860
|
||
|
|
38fa35fccd
|
||
|
|
cc98bfbf02
|
||
|
|
f8ea90e41d
|
||
|
|
704286f0e6
|
||
|
|
ef6bd3aec9
|
||
|
|
8f9ec010ac
|
||
|
|
b046ad7db0
|
||
|
|
8b48084fa5
|
||
|
|
973b9260b6
|
||
|
|
5eb78e92e9
|
||
|
|
b52f01c3be
|
||
|
|
9648db6e77
|
||
|
|
a647305bd9
|
||
|
|
fb97155731
|
||
|
|
d962a1b557
|
||
|
|
91a5090528
|
||
|
|
2f652705cc
|
||
|
|
59f7f372f6
|
No files matched your search
@@ -41,7 +41,7 @@ Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb
|
|||||||
Top level modules:
|
Top level modules:
|
||||||
control_unit
|
control_unit
|
||||||
|
|
||||||
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/mips.sv {2 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/mips.sv
|
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/mips.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/mips.sv
|
||||||
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
||||||
-- Compiling module rom
|
-- Compiling module rom
|
||||||
-- Compiling module ram
|
-- Compiling module ram
|
||||||
@@ -52,9 +52,6 @@ Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb
|
|||||||
-- Compiling module asu
|
-- Compiling module asu
|
||||||
-- Compiling module lu
|
-- Compiling module lu
|
||||||
-- Compiling module alu
|
-- Compiling module alu
|
||||||
** Warning: ** while parsing file included at /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/mips.sv(1)
|
|
||||||
** while parsing file included at assignment2.sv(9)
|
|
||||||
** at alu.sv(25): (vlog-2182) 'asu_flags[2]' might be read before written in always_comb or always @* block.
|
|
||||||
-- Compiling module shifter
|
-- Compiling module shifter
|
||||||
-- Compiling module sign_extender
|
-- Compiling module sign_extender
|
||||||
-- Compiling module seven_seg
|
-- Compiling module seven_seg
|
||||||
@@ -64,6 +61,7 @@ Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb
|
|||||||
|
|
||||||
Top level modules:
|
Top level modules:
|
||||||
shifter
|
shifter
|
||||||
|
seven_seg_4digit
|
||||||
mips_tb
|
mips_tb
|
||||||
|
|
||||||
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu.sv
|
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu.sv
|
||||||
@@ -88,7 +86,7 @@ Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb
|
|||||||
Top level modules:
|
Top level modules:
|
||||||
shifter_tb
|
shifter_tb
|
||||||
|
|
||||||
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/assignment2.sv {2 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/assignment2.sv
|
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/assignment2.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/assignment2.sv
|
||||||
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
||||||
-- Compiling module rom
|
-- Compiling module rom
|
||||||
-- Compiling module ram
|
-- Compiling module ram
|
||||||
@@ -99,8 +97,6 @@ Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb
|
|||||||
-- Compiling module asu
|
-- Compiling module asu
|
||||||
-- Compiling module lu
|
-- Compiling module lu
|
||||||
-- Compiling module alu
|
-- Compiling module alu
|
||||||
** Warning: ** while parsing file included at /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/assignment2.sv(9)
|
|
||||||
** at alu.sv(25): (vlog-2182) 'asu_flags[2]' might be read before written in always_comb or always @* block.
|
|
||||||
-- Compiling module shifter
|
-- Compiling module shifter
|
||||||
-- Compiling module sign_extender
|
-- Compiling module sign_extender
|
||||||
-- Compiling module seven_seg
|
-- Compiling module seven_seg
|
||||||
@@ -109,6 +105,7 @@ Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb
|
|||||||
|
|
||||||
Top level modules:
|
Top level modules:
|
||||||
shifter
|
shifter
|
||||||
|
seven_seg_4digit
|
||||||
assignment2
|
assignment2
|
||||||
|
|
||||||
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_tb.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_tb.sv
|
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_tb.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_tb.sv
|
||||||
@@ -135,6 +132,16 @@ Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb
|
|||||||
Top level modules:
|
Top level modules:
|
||||||
lu_tb
|
lu_tb
|
||||||
|
|
||||||
|
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu_tb.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu_tb.sv
|
||||||
|
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
||||||
|
-- Compiling module asu
|
||||||
|
-- Compiling module lu
|
||||||
|
-- Compiling module alu
|
||||||
|
-- Compiling module alu_tb
|
||||||
|
|
||||||
|
Top level modules:
|
||||||
|
alu_tb
|
||||||
|
|
||||||
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/sign_extender.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/sign_extender.sv
|
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/sign_extender.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/sign_extender.sv
|
||||||
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
||||||
-- Compiling module sign_extender
|
-- Compiling module sign_extender
|
||||||
@@ -142,17 +149,19 @@ Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb
|
|||||||
Top level modules:
|
Top level modules:
|
||||||
sign_extender
|
sign_extender
|
||||||
|
|
||||||
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu_tb.sv {2 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu_tb.sv
|
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/gatereg.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/gatereg.sv
|
||||||
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
||||||
-- Compiling module asu
|
-- Compiling module gatereg
|
||||||
-- Compiling module lu
|
|
||||||
-- Compiling module alu
|
|
||||||
** Warning: ** while parsing file included at /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu_tb.sv(1)
|
|
||||||
** at alu.sv(25): (vlog-2182) 'asu_flags[2]' might be read before written in always_comb or always @* block.
|
|
||||||
-- Compiling module alu_tb
|
|
||||||
|
|
||||||
Top level modules:
|
Top level modules:
|
||||||
alu_tb
|
gatereg
|
||||||
|
|
||||||
|
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/hazard_unit.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/hazard_unit.sv
|
||||||
|
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
||||||
|
-- Compiling module hazard_unit
|
||||||
|
|
||||||
|
Top level modules:
|
||||||
|
hazard_unit
|
||||||
|
|
||||||
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_counter.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_counter.sv
|
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_counter.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_counter.sv
|
||||||
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
||||||
@@ -161,12 +170,11 @@ Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb
|
|||||||
Top level modules:
|
Top level modules:
|
||||||
instruction_counter
|
instruction_counter
|
||||||
|
|
||||||
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu.sv {2 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu.sv
|
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu.sv
|
||||||
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
||||||
-- Compiling module asu
|
-- Compiling module asu
|
||||||
-- Compiling module lu
|
-- Compiling module lu
|
||||||
-- Compiling module alu
|
-- Compiling module alu
|
||||||
** Warning: /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu.sv(25): (vlog-2182) 'asu_flags[2]' might be read before written in always_comb or always @* block.
|
|
||||||
|
|
||||||
Top level modules:
|
Top level modules:
|
||||||
alu
|
alu
|
||||||
@@ -180,14 +188,6 @@ Top level modules:
|
|||||||
rom
|
rom
|
||||||
ByteIM
|
ByteIM
|
||||||
|
|
||||||
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_4digit.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_4digit.sv
|
|
||||||
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
|
||||||
-- Compiling module seven_seg
|
|
||||||
-- Compiling module seven_seg_4digit
|
|
||||||
|
|
||||||
Top level modules:
|
|
||||||
seven_seg_4digit
|
|
||||||
|
|
||||||
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier_tb.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier_tb.sv
|
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier_tb.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier_tb.sv
|
||||||
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
||||||
-- Compiling module instruction_classifier
|
-- Compiling module instruction_classifier
|
||||||
@@ -196,6 +196,14 @@ Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb
|
|||||||
Top level modules:
|
Top level modules:
|
||||||
instruction_classifier_tb
|
instruction_classifier_tb
|
||||||
|
|
||||||
|
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_4digit.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_4digit.sv
|
||||||
|
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
||||||
|
-- Compiling module seven_seg
|
||||||
|
-- Compiling module seven_seg_4digit
|
||||||
|
|
||||||
|
Top level modules:
|
||||||
|
seven_seg_4digit
|
||||||
|
|
||||||
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/register_file.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/register_file.sv
|
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/register_file.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/register_file.sv
|
||||||
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
||||||
-- Compiling module register_file
|
-- Compiling module register_file
|
||||||
@@ -203,4 +211,24 @@ Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb
|
|||||||
Top level modules:
|
Top level modules:
|
||||||
register_file
|
register_file
|
||||||
|
|
||||||
|
} {} {}} /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/assignment3.sv {1 {vlog -work work -sv -stats=none /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/assignment3.sv
|
||||||
|
Model Technology ModelSim - Intel FPGA Edition vlog 2020.1 Compiler 2020.02 Feb 28 2020
|
||||||
|
-- Compiling module rom
|
||||||
|
-- Compiling module ram
|
||||||
|
-- Compiling module register_file
|
||||||
|
-- Compiling module instruction_counter
|
||||||
|
-- Compiling module instruction_classifier
|
||||||
|
-- Compiling module control_unit
|
||||||
|
-- Compiling module asu
|
||||||
|
-- Compiling module lu
|
||||||
|
-- Compiling module alu
|
||||||
|
-- Compiling module shifter
|
||||||
|
-- Compiling module sign_extender
|
||||||
|
-- Compiling module gatereg
|
||||||
|
-- Compiling module assignment3
|
||||||
|
|
||||||
|
Top level modules:
|
||||||
|
shifter
|
||||||
|
assignment3
|
||||||
|
|
||||||
} {} {}}
|
} {} {}}
|
||||||
+36
-30
@@ -220,7 +220,7 @@ Resolution = ps
|
|||||||
UserTimeUnit = default
|
UserTimeUnit = default
|
||||||
|
|
||||||
; Default run length
|
; Default run length
|
||||||
RunLength = 1 ns
|
RunLength = 1 us
|
||||||
|
|
||||||
; Maximum iterations that can be run without advancing simulation time
|
; Maximum iterations that can be run without advancing simulation time
|
||||||
IterationLimit = 5000
|
IterationLimit = 5000
|
||||||
@@ -410,51 +410,57 @@ ConcurrentFileLimit = 40
|
|||||||
Project_Version = 6
|
Project_Version = 6
|
||||||
Project_DefaultLib = work
|
Project_DefaultLib = work
|
||||||
Project_SortMethod = unused
|
Project_SortMethod = unused
|
||||||
Project_Files_Count = 22
|
Project_Files_Count = 25
|
||||||
Project_File_0 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/shifter.sv
|
Project_File_0 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/shifter.sv
|
||||||
Project_File_P_0 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1790228042 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 19 dont_compile 0 cover_expr 0 cover_stmt 0
|
Project_File_P_0 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1790228042 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 19 dont_compile 0 cover_expr 0 cover_stmt 0
|
||||||
Project_File_1 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/rom.sv
|
Project_File_1 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/rom.sv
|
||||||
Project_File_P_1 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 last_compile 1792107144 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 15 cover_expr 0 dont_compile 0 cover_stmt 0
|
Project_File_P_1 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 last_compile 1792112234 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 15 dont_compile 0 cover_expr 0 cover_stmt 0
|
||||||
Project_File_2 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier.sv
|
Project_File_2 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier.sv
|
||||||
Project_File_P_2 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1790228042 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_P_2 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1790228042 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_3 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg.sv
|
Project_File_3 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg.sv
|
||||||
Project_File_P_3 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1790228042 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 16 dont_compile 0 cover_expr 0 cover_stmt 0
|
Project_File_P_3 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1790228042 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 16 dont_compile 0 cover_expr 0 cover_stmt 0
|
||||||
Project_File_4 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ram.sv
|
Project_File_4 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ram.sv
|
||||||
Project_File_P_4 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1792039197 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 13 dont_compile 0 cover_expr 0 cover_stmt 0
|
Project_File_P_4 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1792473740 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 13 dont_compile 0 cover_expr 0 cover_stmt 0
|
||||||
Project_File_5 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/control_unit.sv
|
Project_File_5 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/control_unit.sv
|
||||||
Project_File_P_5 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1792040117 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_P_5 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1792112234 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_6 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/mips.sv
|
Project_File_6 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/mips.sv
|
||||||
Project_File_P_6 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1792104861 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_P_6 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 vlog_noload 0 folder {Top Level} last_compile 1792115823 cover_fsm 0 cover_branch 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 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_7 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu.sv
|
Project_File_7 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu.sv
|
||||||
Project_File_P_7 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1790228118 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_P_7 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1790228118 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_8 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/lu.sv
|
Project_File_8 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/lu.sv
|
||||||
Project_File_P_8 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1790228042 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_8 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1790228042 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_9 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/shifter_tb.sv
|
Project_File_9 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/shifter_tb.sv
|
||||||
Project_File_P_9 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1789513270 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 20 dont_compile 0 cover_expr 0 cover_stmt 0
|
Project_File_P_9 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1789513270 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 20 dont_compile 0 cover_expr 0 cover_stmt 0
|
||||||
Project_File_10 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/assignment2.sv
|
Project_File_10 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/assignment2.sv
|
||||||
Project_File_P_10 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1792106709 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_P_10 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1792119882 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_11 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_tb.sv
|
Project_File_11 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_tb.sv
|
||||||
Project_File_P_11 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1788418794 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 18 dont_compile 0 cover_expr 0 cover_stmt 0
|
Project_File_P_11 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1788418794 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 18 dont_compile 0 cover_expr 0 cover_stmt 0
|
||||||
Project_File_12 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu_tb.sv
|
Project_File_12 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu_tb.sv
|
||||||
Project_File_P_12 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1789513270 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_File_P_12 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1789513270 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_File_13 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/lu_tb.sv
|
Project_File_13 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/lu_tb.sv
|
||||||
Project_File_P_13 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1788926090 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_P_13 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1788926090 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_14 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/sign_extender.sv
|
Project_File_14 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/sign_extender.sv
|
||||||
Project_File_P_14 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1792038654 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 21 dont_compile 0 cover_expr 0 cover_stmt 0
|
Project_File_P_14 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1792644107 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 21 cover_expr 0 dont_compile 0 cover_stmt 0
|
||||||
Project_File_15 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu_tb.sv
|
Project_File_15 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu_tb.sv
|
||||||
Project_File_P_15 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1789355084 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_P_15 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1789355084 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_16 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_counter.sv
|
Project_File_16 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/gatereg.sv
|
||||||
Project_File_P_16 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1791854498 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 9 dont_compile 0 cover_expr 0 cover_stmt 0
|
Project_File_P_16 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 vlog_noload 0 folder {Top Level} last_compile 1793848262 cover_fsm 0 cover_branch 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 23 dont_compile 0 cover_expr 0 cover_stmt 0
|
||||||
Project_File_17 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu.sv
|
Project_File_17 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/hazard_unit.sv
|
||||||
Project_File_P_17 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1792036226 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_P_17 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1794101042 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 24 cover_expr 0 dont_compile 0 cover_stmt 0
|
||||||
Project_File_18 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ByteIM.sv
|
Project_File_18 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_counter.sv
|
||||||
Project_File_P_18 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1792106811 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_P_18 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 vlog_noload 0 folder {Top Level} last_compile 1792113810 cover_fsm 0 cover_branch 0 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 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_19 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_4digit.sv
|
Project_File_19 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu.sv
|
||||||
Project_File_P_19 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1791866874 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 17 dont_compile 0 cover_expr 0 cover_stmt 0
|
Project_File_P_19 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1792115823 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 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_20 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier_tb.sv
|
Project_File_20 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ByteIM.sv
|
||||||
Project_File_P_20 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1789355084 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_P_20 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 last_compile 1793848949 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_21 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/register_file.sv
|
Project_File_21 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_4digit.sv
|
||||||
Project_File_P_21 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1792035553 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 14 dont_compile 0 cover_expr 0 cover_stmt 0
|
Project_File_P_21 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_fsm 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1792119097 cover_excludedefault 0 vlog_enable0In 0 vlog_disableopt 0 cover_covercells 0 voptflow 1 vlog_showsource 0 vlog_hazard 0 cover_optlevel 3 toggle - vlog_0InOptions {} ood 0 cover_noshort 0 vlog_upper 0 compile_to work vlog_options {} compile_order 17 cover_expr 0 dont_compile 0 cover_stmt 0
|
||||||
|
Project_File_22 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier_tb.sv
|
||||||
|
Project_File_P_22 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1789355084 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 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_23 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/register_file.sv
|
||||||
|
Project_File_P_23 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 cover_branch 0 vlog_noload 0 folder {Top Level} last_compile 1792112234 cover_fsm 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 14 dont_compile 0 cover_expr 0 cover_stmt 0
|
||||||
|
Project_File_24 = /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/assignment3.sv
|
||||||
|
Project_File_P_24 = cover_toggle 0 file_type systemverilog group_id 0 cover_exttoggle 0 cover_nofec 0 cover_cond 0 vlog_1995compat SV vlog_nodebug 0 vlog_noload 0 folder {Top Level} last_compile 1793848882 cover_fsm 0 cover_branch 0 vlog_enable0In 0 cover_excludedefault 0 vlog_disableopt 0 cover_covercells 0 cover_optlevel 3 vlog_hazard 0 vlog_showsource 0 voptflow 1 ood 0 vlog_0InOptions {} toggle - vlog_options {} compile_to work vlog_upper 0 cover_noshort 0 compile_order 22 dont_compile 0 cover_expr 0 cover_stmt 0
|
||||||
Project_Sim_Count = 0
|
Project_Sim_Count = 0
|
||||||
Project_Folder_Count = 0
|
Project_Folder_Count = 0
|
||||||
Echo_Compile_Output = 0
|
Echo_Compile_Output = 0
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
`include "rom.sv"
|
||||||
|
|
||||||
|
module ByteIM #(parameter m=5,n=2) (
|
||||||
|
input logic [m-1:0] Ad,
|
||||||
|
output logic [(2**n)*8-1:0] Dout );
|
||||||
|
|
||||||
|
// 2**n byte wide words
|
||||||
|
// m bit wide byte address
|
||||||
|
// 2**m bytes of memory
|
||||||
|
// 2**(m-n) memory words
|
||||||
|
// 2**(n+3) bit wide words
|
||||||
|
// Reads the whole word that contains the addressed byte
|
||||||
|
ROM #(m-n,2**(n+3)) wordrom(Ad[m-1:n],Dout)
|
||||||
|
endmodule
|
||||||
+17
-12
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
// flags[0:0] = Cout
|
// flags[0:0] = Cout
|
||||||
// flags[1:1] = Overflow
|
// flags[1:1] = Overflow
|
||||||
|
// flags[2:2] = Zero
|
||||||
module alu #(parameter width=2)(input logic [3:0] op,
|
module alu #(parameter width=2)(input logic [3:0] op,
|
||||||
input logic [2**width-1:0] A, input logic [2**width-1:0] B,
|
input logic [2**width-1:0] A, input logic [2**width-1:0] B,
|
||||||
output logic [2**width-1:0] OUT_1, output logic[2:0] flags
|
output logic [2**width-1:0] OUT_1, output logic[2:0] flags
|
||||||
@@ -15,26 +16,30 @@ module alu #(parameter width=2)(input logic [3:0] op,
|
|||||||
logic [2**width-1:0] asu_out;
|
logic [2**width-1:0] asu_out;
|
||||||
logic [2:0] asu_flags;
|
logic [2:0] asu_flags;
|
||||||
|
|
||||||
asu #(width) adder_unit(asu_op[op[1]], A, B, asu_out, asu_flags[0], asu_flags[1]);
|
assign asu_op = op[1];
|
||||||
|
logic [0:0] asu_cout_flag;
|
||||||
|
asu #(width) adder_unit(asu_op, A, B, asu_out, asu_flags[0], asu_cout_flag);
|
||||||
|
|
||||||
logic [2**width-1:0] lu_out;
|
logic [2**width-1:0] lu_out;
|
||||||
lu #(width) logic_unit(op[1:0], A, B, lu_out);
|
lu #(width) logic_unit(op[1:0], A, B, lu_out);
|
||||||
|
|
||||||
|
assign asu_flags[1] = asu_cout_flag ^ asu_flags[0];
|
||||||
always_comb begin
|
always_comb begin
|
||||||
case (op)
|
case (op)
|
||||||
4'b0000: begin OUT_1 = asu_out; flags = asu_flags; end
|
4'b0000: begin OUT_1 = asu_out; end
|
||||||
4'b0001: begin OUT_1 = asu_out; flags = asu_flags; end
|
4'b0001: begin OUT_1 = asu_out; end
|
||||||
4'b0010: begin OUT_1 = asu_out; flags = asu_flags; end
|
4'b0010: begin OUT_1 = asu_out; end
|
||||||
4'b0011: begin OUT_1 = asu_out; flags = asu_flags; end
|
4'b0011: begin OUT_1 = asu_out; end
|
||||||
4'b0100: begin OUT_1 = lu_out; flags = asu_flags; end
|
4'b0100: begin OUT_1 = lu_out; end
|
||||||
4'b0101: begin OUT_1 = lu_out; flags = asu_flags; end
|
4'b0101: begin OUT_1 = lu_out; end
|
||||||
4'b0110: begin OUT_1 = lu_out; flags = asu_flags; end
|
4'b0110: begin OUT_1 = lu_out; end
|
||||||
4'b0111: begin OUT_1 = lu_out; flags = asu_flags; end
|
4'b0111: begin OUT_1 = lu_out; end
|
||||||
4'b1010: begin OUT_1 = (asu_out[2**width-1] ^ asu_flags[1]) & {{(width-1){1'b0}}, 1'b1}; flags = asu_flags; end
|
4'b1010: begin OUT_1 = (asu_out[2**width-1] ^ asu_flags[1]) & {{(width-1){1'b0}}, 1'b1}; end
|
||||||
4'b1011: begin OUT_1 = ~asu_flags[0] & {{(width-1){1'b0}}, 1'b1}; flags = asu_flags; end
|
4'b1011: begin OUT_1 = ~asu_flags[0] & {{(width-1){1'b0}}, 1'b1}; end
|
||||||
default: begin OUT_1 = {(2**width){1'b0}}; flags = asu_flags; end
|
default: begin OUT_1 = {(2**width){1'b0}}; end
|
||||||
endcase
|
endcase
|
||||||
asu_flags[2] = OUT_1 == 0;
|
asu_flags[2] = OUT_1 == 0;
|
||||||
|
flags = asu_flags;
|
||||||
end
|
end
|
||||||
endmodule
|
endmodule
|
||||||
`endif
|
`endif
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
`include "asu.v"
|
||||||
|
`include "lu.v"
|
||||||
|
|
||||||
|
// flags[0:0] = Cout
|
||||||
|
// flags[1:1] = Overflow
|
||||||
|
module alu #(width=8)(input logic [3:0] op,
|
||||||
|
input logic [width-1:0] A, input logic [width-1:0] B.
|
||||||
|
output logic [width-1:0] OUT_1, output logic flags[1:0]);
|
||||||
|
|
||||||
|
logic [width-1:0] asu_out;
|
||||||
|
logic [1:0] asu_flags;
|
||||||
|
logic [0:0] asu_op;
|
||||||
|
asu #(width) adder_unit(asu_op, A, B, asu_out, asu_flags[0], asu_flags[1]);
|
||||||
|
|
||||||
|
logic [width-1:0] lu_out;
|
||||||
|
lu #(width) logic_unit(op[1:0], A, B, lu_out);
|
||||||
|
|
||||||
|
// Cout = asu_flags[0]
|
||||||
|
// Overflow = asu_flags[0] ^ asu_flags[1]
|
||||||
|
endmodule
|
||||||
+25
-17
@@ -13,7 +13,9 @@
|
|||||||
|
|
||||||
|
|
||||||
module assignment2 #(width=5, ramsz=9, romsz=10) (
|
module assignment2 #(width=5, ramsz=9, romsz=10) (
|
||||||
input logic [0:0] clk,
|
input logic [0:0] clk, input logic [0:0] rst
|
||||||
|
`ifdef QUARTUS_SYNTH
|
||||||
|
,
|
||||||
input logic [4:0] HID_Register,
|
input logic [4:0] HID_Register,
|
||||||
input logic [0:0] HID_PC,
|
input logic [0:0] HID_PC,
|
||||||
input logic [0:0] HID_Hi_Low,
|
input logic [0:0] HID_Hi_Low,
|
||||||
@@ -22,13 +24,14 @@ module assignment2 #(width=5, ramsz=9, romsz=10) (
|
|||||||
output logic[7:0] out_seg_1,
|
output logic[7:0] out_seg_1,
|
||||||
output logic[7:0] out_seg_2,
|
output logic[7:0] out_seg_2,
|
||||||
output logic[7:0] out_seg_3
|
output logic[7:0] out_seg_3
|
||||||
|
`endif
|
||||||
);
|
);
|
||||||
// Intermediate for displaying high / low of PC or Register
|
// Intermediate for displaying high / low of PC or Register
|
||||||
logic[15:0] PC_Reg_Display;
|
logic[15:0] PC_Reg_Display;
|
||||||
|
|
||||||
// Program / Instruction Counter Intermediates
|
// Program / Instruction Counter Intermediates
|
||||||
logic [romsz-1:0] pc_addr;
|
logic [2**width-1:0] pc_addr;
|
||||||
logic [romsz-1:0] pc_addr_write;
|
logic [2**width-1:0] pc_addr_write;
|
||||||
logic [0:0] pc_we;
|
logic [0:0] pc_we;
|
||||||
logic [2**width-1:0] instruction;
|
logic [2**width-1:0] instruction;
|
||||||
|
|
||||||
@@ -49,16 +52,16 @@ module assignment2 #(width=5, ramsz=9, romsz=10) (
|
|||||||
logic [0:0] rd_we;
|
logic [0:0] rd_we;
|
||||||
logic [31:0] regs_out [32];
|
logic [31:0] regs_out [32];
|
||||||
|
|
||||||
// ALU intermeduates
|
// ALU intermediates
|
||||||
logic [2**width-1:0] rd_alu;
|
logic [2**width-1:0] rd_alu;
|
||||||
logic [2**width-1:0] rt_alu;
|
logic [2**width-1:0] rt_alu;
|
||||||
|
|
||||||
instruction_counter #(width) PC (clk, pc_we, pc_addr_write, pc_addr);
|
instruction_counter #(width) PC (clk, rst, pc_we, pc_addr_write, pc_addr);
|
||||||
|
|
||||||
rom #(romsz, 2**width) ROM (pc_addr, instruction);
|
rom #(romsz, width) ROM (pc_addr, instruction);
|
||||||
|
|
||||||
logic [2**width-1:0] rd_mem;
|
logic [2**width-1:0] rd_mem;
|
||||||
ram #(ramsz, 2**width) RAM (clk, rd_alu, M2W, rt, rd_mem);
|
ram #(ramsz, width) RAM (clk, rst, rd_alu, M2W, rt, rd_mem);
|
||||||
|
|
||||||
control_unit CONTROL_UNIT (instruction[31:26], instruction[5:0],
|
control_unit CONTROL_UNIT (instruction[31:26], instruction[5:0],
|
||||||
M2R, M2W, B, ALU_FN, ALU_SRC, RDST, RW
|
M2R, M2W, B, ALU_FN, ALU_SRC, RDST, RW
|
||||||
@@ -67,32 +70,36 @@ module assignment2 #(width=5, ramsz=9, romsz=10) (
|
|||||||
|
|
||||||
register_file #(width, 5) REGS (
|
register_file #(width, 5) REGS (
|
||||||
clk, rd_we,
|
clk, rd_we,
|
||||||
instruction[20:16], rd,
|
(RDST) ? instruction[15:11] : instruction[20:16], rd,
|
||||||
(RDST) ? instruction[15:11] : instruction[20:16], rt,
|
|
||||||
instruction[25:21], rs,
|
instruction[25:21], rs,
|
||||||
|
instruction[20:16], rt,
|
||||||
regs_out
|
regs_out
|
||||||
);
|
);
|
||||||
// Always use sign-extension
|
// Always use sign-extension
|
||||||
logic [2**width-1:0] rt_imm;
|
logic [2**width-1:0] rt_imm;
|
||||||
sign_extender #(4, width) SIGNEXT(1'b1, instruction[15:0], rt_imm);
|
sign_extender #(4, width) SIGNEXT(1'b1, instruction[15:0], rt_imm);
|
||||||
// TODO:
|
|
||||||
// - ALU srcB
|
|
||||||
// - PCBranch (rel jump of 4-byte words)
|
|
||||||
|
|
||||||
alu #(width) ALU (ALU_FN, rs, rt_alu, rd_alu, flags[1:0]);
|
alu #(width) ALU (ALU_FN, rs, rt_alu, rd_alu, flags);
|
||||||
assign rt_alu = (ALU_SRC) ? (rt_imm) : (rt);
|
assign rt_alu = (ALU_SRC) ? (rt_imm) : (rt);
|
||||||
|
|
||||||
assign pc_we = B & flags[2];
|
assign pc_we = B & flags[2];
|
||||||
assign pc_addr_write = (rt_imm << 2) + pc_addr;
|
assign pc_addr_write = (rt_imm << 2) + pc_addr;
|
||||||
assign rd_we = RW;
|
assign rd_we = RW;
|
||||||
assign rd = (M2R) ? rd_alu : rd_mem;
|
assign rd = (M2R) ? rd_mem : rd_alu;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
`ifdef QUARTUS_SYNTH
|
||||||
// Temporary Test output
|
// Temporary Test output
|
||||||
// assign PC_Reg_Display = 16'hC342;
|
// assign PC_Reg_Display = 16'hC342;
|
||||||
|
// assign PC_Reg_Display = (HID_Hi_Low) ? regs_out[HID_Register][31:16] : regs_out[HID_Register][15:0];
|
||||||
assign PC_Reg_Display = (HID_Hi_Low) ? regs_out[HID_Register][31:16] : regs_out[HID_Register][15:0];
|
always_comb begin
|
||||||
|
if (HID_PC == 1'b1) begin
|
||||||
|
PC_Reg_Display = (HID_Hi_Low) ? pc_addr[31:16] : pc_addr[15:0];
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
PC_Reg_Display = (HID_Hi_Low) ? regs_out[HID_Register][31:16] : regs_out[HID_Register][15:0];
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
seven_seg_4digit display (
|
seven_seg_4digit display (
|
||||||
.num(PC_Reg_Display),
|
.num(PC_Reg_Display),
|
||||||
@@ -101,6 +108,7 @@ module assignment2 #(width=5, ramsz=9, romsz=10) (
|
|||||||
.segments2(out_seg_2),
|
.segments2(out_seg_2),
|
||||||
.segments3(out_seg_3)
|
.segments3(out_seg_3)
|
||||||
);
|
);
|
||||||
|
`endif // code for board test outputs only
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
`endif
|
`endif
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
`include "rom.sv"
|
||||||
|
`include "ram.sv"
|
||||||
|
`include "instruction_counter.sv"
|
||||||
|
`include "instruction_classifier.sv"
|
||||||
|
`include "alu.sv"
|
||||||
|
|
||||||
|
|
||||||
|
module assignment2 #(width=5, ramsz=9, romsz=10) (input logic [0:0] clk);
|
||||||
|
|
||||||
|
logic [romsz-1:0] pc_addr;
|
||||||
|
logic [0:0] pc_we;
|
||||||
|
logic [2**width-1:0] instruction;
|
||||||
|
|
||||||
|
instruction_counter pc #(romsz)(clk, pc_we, pc_addr, pc_addr);
|
||||||
|
ROM rom #(romsz, 2**width)();
|
||||||
|
RAM ram #(ramsz, 2**width)();
|
||||||
|
alu alu #(width)();
|
||||||
|
|
||||||
|
endmodule
|
||||||
@@ -0,0 +1,95 @@
|
|||||||
|
`ifndef ASS_3_SV
|
||||||
|
`define ASS_3_SV
|
||||||
|
|
||||||
|
`include "rom.sv"
|
||||||
|
`include "ram.sv"
|
||||||
|
`include "register_file.sv"
|
||||||
|
`include "instruction_counter.sv"
|
||||||
|
`include "control_unit.sv"
|
||||||
|
`include "alu.sv"
|
||||||
|
`include "shifter.sv"
|
||||||
|
`include "sign_extender.sv"
|
||||||
|
`include "gatereg.sv"
|
||||||
|
|
||||||
|
module assignment3 #(width=5, romsz=9, ramsz=10)(
|
||||||
|
input logic [0:0] clk, input logic [0:0] rst
|
||||||
|
);
|
||||||
|
logic [31:0] regs_out [32];
|
||||||
|
logic [2**width-1:0] pc_addr, pc_addr_2;
|
||||||
|
logic [2**width-1:0] pc_addr_write;
|
||||||
|
logic [0:0] pc_we;
|
||||||
|
// TODO: Verify if we need a clk gating on pc_addr
|
||||||
|
instruction_counter #(width) PC (clk, rst, pc_we, pc_addr_write, pc_addr);
|
||||||
|
gatereg #(width, 2) gate_pc_addr_1(clk, rst, 1'b1, pc_addr, pc_addr_2);
|
||||||
|
|
||||||
|
|
||||||
|
logic [2**width-1:0] rom_rd;
|
||||||
|
logic [2**width-1:0] rom_addr;
|
||||||
|
logic [2**width-1:0] instruction, instruction_1;
|
||||||
|
rom #(romsz, width) ROM (rom_addr[romsz-1:0], rom_rd);
|
||||||
|
gatereg #(width, 1) gate_pc_addr(clk, rst, 1'b1, pc_addr, rom_addr);
|
||||||
|
gatereg #(width, 1) gate_instruction(clk, rst, 1'b1, rom_rd, instruction);
|
||||||
|
gatereg #(width, 1) gate_instruction_1(clk, rst, 1'b1, instruction, instruction_1);
|
||||||
|
|
||||||
|
|
||||||
|
logic [0:0] cu_m2r, cu_m2w, cu_b, cu_alu_src, cu_rdst, cu_rw;
|
||||||
|
logic [3:0] cu_alu_fn, ALU_FN;
|
||||||
|
logic [0:0] B, MEM_WE, RDST, ALU_SRC, REG_WE, REGW_MEM_OR_RD;
|
||||||
|
control_unit CONTROL_UNIT (instruction[31:26], instruction[5:0],
|
||||||
|
cu_m2r, cu_m2w, cu_b, cu_alu_fn, cu_alu_src, cu_rdst, cu_rw
|
||||||
|
);
|
||||||
|
gatereg #(0, 1) gate_cu_rdst (clk, rst, 1'b1, cu_rdst, RDST);
|
||||||
|
gatereg #(0, 1) gate_cu_alu_src (clk, rst, 1'b1, cu_alu_src, ALU_SRC);
|
||||||
|
gatereg #(2, 1) gate_cu_alu_fn (clk, rst, 1'b1, cu_alu_fn, ALU_FN);
|
||||||
|
|
||||||
|
gatereg #(0, 2) gate_cu_b (clk, rst, 1'b1, cu_b, B);
|
||||||
|
gatereg #(0, 2) gate_cu_m2w (clk, rst, 1'b1, cu_m2w, MEM_WE);
|
||||||
|
|
||||||
|
gatereg #(0, 3) gate_cu_rw (clk, rst, 1'b1, cu_rw, REG_WE);
|
||||||
|
gatereg #(0, 3) gate_cu_m2r (clk, rst, 1'b1, cu_m2r, REGW_MEM_OR_RD);
|
||||||
|
|
||||||
|
logic [2**width-1:0] regf_rs, regf_rs_1;
|
||||||
|
logic [2**width-1:0] regf_rt, regf_rt_1, regf_rt_2;
|
||||||
|
logic [7:0] regf_a3, regf_a3_2;
|
||||||
|
logic [2**width-1:0] rd, rd_mem, rd_alu;
|
||||||
|
assign rd = (REGW_MEM_OR_RD) ? rd_mem : rd_alu;
|
||||||
|
assign regf_a3 = (RDST) ? instruction_1[15:11] : instruction_1[20:16];
|
||||||
|
// TODO: Connect inputs
|
||||||
|
gatereg #(3, 2) gate_regf_a3 (clk, rst, 1'b1, regf_a3, regf_a3_2);
|
||||||
|
register_file #(width, 5) REGS (
|
||||||
|
~clk, REG_WE,
|
||||||
|
regf_a3_2[4:0], rd,
|
||||||
|
instruction[25:21], regf_rs,
|
||||||
|
instruction[20:16], regf_rt,
|
||||||
|
regs_out
|
||||||
|
);
|
||||||
|
gatereg #(width, 1) gate_regf_rs(clk, rst, 1'b1, regf_rs, regf_rs_1);
|
||||||
|
gatereg #(width, 1) gate_regf_rt(clk, rst, 1'b1, regf_rt, regf_rt_1);
|
||||||
|
gatereg #(width, 1) gate_regf_rt_1(clk, rst, 1'b1, regf_rt_1, regf_rt_2);
|
||||||
|
|
||||||
|
logic [2**width-1:0] sign_ext_imm, rt_imm;
|
||||||
|
sign_extender #(4, width) SIGNEXT(1'b1, instruction[15:0], sign_ext_imm);
|
||||||
|
gatereg #(width, 1) gate_sign_ext_imm(clk, rst, 1'b1, sign_ext_imm, rt_imm);
|
||||||
|
|
||||||
|
|
||||||
|
logic [2**width-1:0] alu_out, alu_out_1, alu_out_2;
|
||||||
|
logic [3:0] alu_flags, alu_flags_1;
|
||||||
|
alu #(width) ALU (ALU_FN, regf_rs_1, (ALU_SRC) ? rt_imm : regf_rt_1, alu_out, alu_flags);
|
||||||
|
gatereg #(width, 1) gate_alu_out (clk, rst, 1'b1, alu_out, alu_out_1);
|
||||||
|
gatereg #(width, 1) gate_alu_out_1 (clk, rst, 1'b1, alu_out_1, alu_out_2);
|
||||||
|
gatereg #(width, 1) gate_alu_flags (clk, rst, 1'b1, alu_flags, alu_flags_1);
|
||||||
|
assign rd_alu = alu_out_2;
|
||||||
|
|
||||||
|
logic [2**width-1:0] new_pc_addr, new_pc_addr_1;
|
||||||
|
assign new_pc_addr = (rt_imm << 2) + pc_addr_2;
|
||||||
|
gatereg #(width, 1) gate_new_pc_addr (clk, rst, 1'b1, new_pc_addr, new_pc_addr_1);
|
||||||
|
|
||||||
|
|
||||||
|
assign pc_addr_write = new_pc_addr_1;
|
||||||
|
assign pc_we = B & alu_flags_1[2];
|
||||||
|
logic [2**width-1:0] mem_out, mem_out_1;
|
||||||
|
ram #(ramsz, width) RAM (clk, rst, alu_out_1, MEM_WE, regf_rt_2, mem_out);
|
||||||
|
gatereg #(width, 1) gate_mem_out (clk, rst, 1'b1, mem_out, mem_out_1);
|
||||||
|
assign rd_mem = mem_out_1;
|
||||||
|
endmodule
|
||||||
|
`endif
|
||||||
@@ -0,0 +1,95 @@
|
|||||||
|
`ifndef ASS_3_SV
|
||||||
|
`define ASS_3_SV
|
||||||
|
|
||||||
|
`include "rom.sv"
|
||||||
|
`include "ram.sv"
|
||||||
|
`include "register_file.sv"
|
||||||
|
`include "instruction_counter.sv"
|
||||||
|
`include "control_unit.sv"
|
||||||
|
`include "alu.sv"
|
||||||
|
`include "shifter.sv"
|
||||||
|
`include "sign_extender.sv"
|
||||||
|
`include "gatereg.sv"
|
||||||
|
|
||||||
|
module assignment3 #(width=5, romsz=9, ramsz=10)(
|
||||||
|
input logic [0:0] clk, input logic [0:0] rst
|
||||||
|
);
|
||||||
|
logic [31:0] regs_out [32];
|
||||||
|
logic [2**width-1:0] pc_addr, pc_addr_2;
|
||||||
|
logic [2**width-1:0] pc_addr_write;
|
||||||
|
logic [0:0] pc_we;
|
||||||
|
// TODO: Verify if we need a clk gating on pc_addr
|
||||||
|
instruction_counter #(width) PC (clk, rst, pc_we, pc_addr_write, pc_addr);
|
||||||
|
gatereg #(width, 2) gate_pc_addr_1(clk, rst, 1'b1, pc_addr, pc_addr_2);
|
||||||
|
|
||||||
|
|
||||||
|
logic [2**width-1:0] rom_rd;
|
||||||
|
logic [2**width-1:0] rom_addr;
|
||||||
|
logic [2**width-1:0] instruction, instruction_1;
|
||||||
|
rom #(romsz, width) ROM (rom_addr[romsz-1:0], rom_rd);
|
||||||
|
gatereg #(width, 1) gate_pc_addr(clk, rst, 1'b1, pc_addr, rom_addr);
|
||||||
|
gatereg #(width, 1) gate_instruction(clk, rst, 1'b1, rom_rd, instruction);
|
||||||
|
gatereg #(width, 1) gate_instruction_1(clk, rst, 1'b1, instruction, instruction_1);
|
||||||
|
|
||||||
|
|
||||||
|
logic [0:0] cu_m2r, cu_m2w, cu_b, cu_alu_src, cu_rdst, cu_rw;
|
||||||
|
logic [3:0] cu_alu_fn, ALU_FN;
|
||||||
|
logic [0:0] B, MEM_WE, RDST, ALU_SRC, REG_WE, REGW_MEM_OR_RD;
|
||||||
|
control_unit CONTROL_UNIT (instruction[31:26], instruction[5:0],
|
||||||
|
cu_m2r, cu_m2w, cu_b, cu_alu_fn, cu_alu_src, cu_rdst, cu_rw
|
||||||
|
);
|
||||||
|
gatereg #(0, 1) gate_cu_rdst (clk, rst, 1'b1, cu_rdst, RDST);
|
||||||
|
gatereg #(0, 1) gate_cu_alu_src (clk, rst, 1'b1, cu_alu_src, ALU_SRC);
|
||||||
|
gatereg #(2, 1) gate_cu_alu_fn (clk, rst, 1'b1, cu_alu_fn, ALU_FN);
|
||||||
|
|
||||||
|
gatereg #(0, 2) gate_cu_b (clk, rst, 1'b1, cu_b, B);
|
||||||
|
gatereg #(0, 2) gate_cu_m2w (clk, rst, 1'b1, cu_m2w, MEM_WE);
|
||||||
|
|
||||||
|
gatereg #(0, 3) gate_cu_rw (clk, rst, 1'b1, cu_rw, REG_WE);
|
||||||
|
gatereg #(0, 3) gate_cu_m2r (clk, rst, 1'b1, cu_m2r, REGW_MEM_OR_RD);
|
||||||
|
|
||||||
|
logic [2**width-1:0] regf_rs, regf_rs_1;
|
||||||
|
logic [2**width-1:0] regf_rt, regf_rt_1, regf_rt_2;
|
||||||
|
logic [7:0] regf_a3, regf_a3_2;
|
||||||
|
logic [2**width-1:0] rd, rd_mem, rd_alu;
|
||||||
|
assign rd = (REGW_MEM_OR_RD) ? rd_mem : rd_alu;
|
||||||
|
assign regf_a3 = (RDST) ? instruction_1[15:11] : instruction_1[20:16];
|
||||||
|
// TODO: Connect inputs
|
||||||
|
gatereg #(3, 2) gate_regf_a3 (clk, rst, 1'b1, regf_a3, regf_a3_2);
|
||||||
|
register_file #(width, 5) REGS (
|
||||||
|
~clk, REG_WE,
|
||||||
|
regf_a3_2[4:0], rd,
|
||||||
|
instruction[25:21], regf_rs,
|
||||||
|
instruction[20:16], regf_rt,
|
||||||
|
regs_out
|
||||||
|
);
|
||||||
|
gatereg #(width, 1) gate_regf_rs(clk, rst, 1'b1, regf_rs, regf_rs_1);
|
||||||
|
gatereg #(width, 1) gate_regf_rt(clk, rst, 1'b1, regf_rt, regf_rt_1);
|
||||||
|
gatereg #(width, 1) gate_regf_rt_1(clk, rst, 1'b1, regf_rt_1, regf_rt_2);
|
||||||
|
|
||||||
|
logic [2**width-1:0] sign_ext_imm, rt_imm;
|
||||||
|
sign_extender #(4, width) SIGNEXT(1'b1, instruction[15:0], sign_ext_imm);
|
||||||
|
gatereg #(width, 1) gate_sign_ext_imm(clk, rst, 1'b1, sign_ext_imm, rt_imm);
|
||||||
|
|
||||||
|
|
||||||
|
logic [2**width-1:0] alu_out, alu_out_1, alu_out_2;
|
||||||
|
logic [3:0] alu_flags, alu_flags_1;
|
||||||
|
alu #(width) ALU (ALU_FN, regf_rs_1, (ALU_SRC) ? rt_imm : regf_rt_1, alu_out, alu_flags);
|
||||||
|
gatereg #(width, 1) gate_alu_out (clk, rst, 1'b1, alu_out, alu_out_1);
|
||||||
|
gatereg #(width, 1) gate_alu_out_1 (clk, rst, 1'b1, alu_out_1, alu_out_2);
|
||||||
|
gatereg #(width, 1) gate_alu_flags (clk, rst, 1'b1, alu_flags, alu_flags_1);
|
||||||
|
assign rd_alu = alu_out_2;
|
||||||
|
|
||||||
|
logic [2**width-1:0] new_pc_addr, new_pc_addr_1;
|
||||||
|
assign new_pc_addr = (rt_imm << 2) + pc_addr_2;
|
||||||
|
gatereg #(width, 1) gate_new_pc_addr (clk, rst, 1'b1, new_pc_addr, new_pc_addr_1);
|
||||||
|
|
||||||
|
|
||||||
|
assign pc_addr_write = new_pc_addr_1;
|
||||||
|
assign pc_we = B & alu_flags_1[2];
|
||||||
|
logic [2**width-1:0] mem_out, mem_out_1;
|
||||||
|
ram #(ramsz, width) RAM (clk, rst, alu_out_1, MEM_WE, regf_rt_2, mem_out);
|
||||||
|
gatereg #(width, 1) gate_mem_out (clk, rst, 1'b1, mem_out, mem_out_1);
|
||||||
|
assign rd_mem = mem_out_1;
|
||||||
|
endmodule
|
||||||
|
`endif
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
module asu #(width=8)(input logic [0:0] op,
|
||||||
|
input logic[width-1:0] A, input logic[width-1:0] B,
|
||||||
|
output logic[width-1:0] OUT_1, output logic[0:0] COUT, output logic[0:0] OUT_CIN);
|
||||||
|
|
||||||
|
logic [width-1:0] operand;
|
||||||
|
always_comb begin
|
||||||
|
// A + (sub) ? B : -B
|
||||||
|
// Adds an extra bit to all operands to calculate the carry bit. Not optimal for hardware synthesis
|
||||||
|
operand = (B ^ {(width){op}});
|
||||||
|
{COUT, OUT_1} = A + operand + {{(width-1){1'b0}}, op};
|
||||||
|
end
|
||||||
|
|
||||||
|
// Need to do this outside of the always_comb block because parameter-based bitslicing/indexing isn't supported?
|
||||||
|
// Cin for width-2'th bit to later be xor'ed with COUT to determine if a signed overflow occured for the MIPS architecture
|
||||||
|
assign OUT_CIN = A[width-1] ^ operand[width-1] ^ OUT_1[width-1];
|
||||||
|
endmodule
|
||||||
@@ -23,13 +23,13 @@ module control_unit (
|
|||||||
instruction_classifier CLASSIFIER (op, TYPE_R, TYPE_B1, TYPE_J, TYPE_B2, TYPE_I, TYPE_F, TYPE_M);
|
instruction_classifier CLASSIFIER (op, TYPE_R, TYPE_B1, TYPE_J, TYPE_B2, TYPE_I, TYPE_F, TYPE_M);
|
||||||
|
|
||||||
always_comb begin
|
always_comb begin
|
||||||
M2R = TYPE_M & op[3];
|
M2R = TYPE_M & ~((op & 6'b001000) >> 3);
|
||||||
M2W = TYPE_M & ~op[3];
|
M2W = TYPE_M & ((op & 6'b001000) >> 3);
|
||||||
B = TYPE_B1 | TYPE_B2 | TYPE_J;
|
B = TYPE_B1 | TYPE_B2 | TYPE_J;
|
||||||
ALU_FN = (func & {(6){TYPE_R}}) | ( {4'b0000, op[1:0]} & {(6){TYPE_I}});
|
ALU_FN = (func & {(4){TYPE_R}}) | ( {2'b00, (op & 6'b000011)} & {(4){TYPE_I}}) | (4'b0010 & {4{TYPE_B1 | TYPE_B2}});
|
||||||
ALU_SRC = TYPE_B1 | TYPE_B2 | TYPE_I | TYPE_M;
|
ALU_SRC = TYPE_I | TYPE_M;
|
||||||
RDST = TYPE_I; // Imm ops store back into rt
|
RDST = TYPE_R; // Imm ops store back into rt
|
||||||
RW = TYPE_R | TYPE_I | (TYPE_M & op[3]); // All ALU R-type ops, Addi/Addiu ops, and memory loads
|
RW = TYPE_R | TYPE_I | M2R;
|
||||||
end
|
end
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
module gatereg #(width, ndelay=1)(
|
||||||
|
input logic [0:0] clk, input logic [0:0] rst, input logic [0:0] en,
|
||||||
|
input logic [2**width-1:0] in, output logic [2**width-1:0] out
|
||||||
|
);
|
||||||
|
logic [2**width-1:0] hold_value[ndelay];
|
||||||
|
|
||||||
|
assign out = hold_value[ndelay-1];
|
||||||
|
always_ff @( posedge clk ) begin
|
||||||
|
if (rst) begin
|
||||||
|
for (integer i = 0; i < ndelay; ++i) begin
|
||||||
|
hold_value[i] <= {(2**width){1'b0}};
|
||||||
|
end
|
||||||
|
end else if (en) begin
|
||||||
|
hold_value[0] <= in;
|
||||||
|
for (integer i = 1; i < ndelay; ++i) begin
|
||||||
|
hold_value[i] <= hold_value[i-1];
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
endmodule
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
`ifndef HAZARD_SV
|
||||||
|
`define HAZARD_SV
|
||||||
|
|
||||||
|
module hazard_unit (
|
||||||
|
// (I)Decode/EXecute stage
|
||||||
|
input logic idex_MemRead,
|
||||||
|
input logic [4:0] idex_Rt,
|
||||||
|
input logic [4:0] idex_Rs,
|
||||||
|
|
||||||
|
// EXecute/MEMory stage
|
||||||
|
input logic exmem_RegWrite,
|
||||||
|
input logic [4:0] exmem_Rd,
|
||||||
|
|
||||||
|
// MEMory/WriteBack stage
|
||||||
|
input logic memwb_RegWrite,
|
||||||
|
input logic [4:0] memwb_Rd,
|
||||||
|
|
||||||
|
// (I)Fetch/(I)Decode stage
|
||||||
|
input logic [4:0] ifid_Rs,
|
||||||
|
input logic [4:0] ifid_Rt,
|
||||||
|
|
||||||
|
// branch / jump control
|
||||||
|
input logic branch_taken,
|
||||||
|
input logic jump_taken,
|
||||||
|
|
||||||
|
// outputs
|
||||||
|
output logic [1:0] forwardA,
|
||||||
|
output logic [1:0] forwardB,
|
||||||
|
output logic stallF, // Stall OC register
|
||||||
|
output logic stallD, // Stall Instruction Memory
|
||||||
|
output logic flushE, // Flush ALU inputs
|
||||||
|
output logic flushD // Flush
|
||||||
|
);
|
||||||
|
|
||||||
|
// Forwarding encoding:
|
||||||
|
// 00 = no forwarding
|
||||||
|
// 01 = forward from MEM/WB
|
||||||
|
// 10 = forward from EX/MEM
|
||||||
|
|
||||||
|
always_comb begin
|
||||||
|
// defaults
|
||||||
|
forwardA = 2'b00;
|
||||||
|
forwardB = 2'b00;
|
||||||
|
stallF = 1'b0;
|
||||||
|
stallD = 1'b0;
|
||||||
|
flushE = 1'b0;
|
||||||
|
flushD = 1'b0;
|
||||||
|
|
||||||
|
// Forwarding for ALU src A
|
||||||
|
if (exmem_RegWrite && (exmem_Rd != 5'd0) && (exmem_Rd == idex_Rs))
|
||||||
|
forwardA = 2'b10;
|
||||||
|
else if (memwb_RegWrite && (memwb_Rd != 5'd0) && (memwb_Rd == idex_Rs))
|
||||||
|
forwardA = 2'b01;
|
||||||
|
|
||||||
|
// Forwarding for ALU src B
|
||||||
|
if (exmem_RegWrite && (exmem_Rd != 5'd0) && (exmem_Rd == idex_Rt))
|
||||||
|
forwardB = 2'b10;
|
||||||
|
else if (memwb_RegWrite && (memwb_Rd != 5'd0) && (memwb_Rd == idex_Rt))
|
||||||
|
forwardB = 2'b01;
|
||||||
|
|
||||||
|
// -------------------------
|
||||||
|
// Load-use hazard stall
|
||||||
|
// if instruction in EX is a load and
|
||||||
|
// next instruction uses its result
|
||||||
|
// -------------------------
|
||||||
|
if (idex_MemRead &&
|
||||||
|
((idex_Rt == ifid_Rs) || (idex_Rt == ifid_Rt))) begin
|
||||||
|
stallF = 1'b1;
|
||||||
|
stallD = 1'b1;
|
||||||
|
flushE = 1'b1; // insert bubble into EX
|
||||||
|
end
|
||||||
|
|
||||||
|
// -------------------------
|
||||||
|
// Control hazard flush
|
||||||
|
// branch/jump resolved in EX
|
||||||
|
// -------------------------
|
||||||
|
if (branch_taken || jump_taken) begin
|
||||||
|
flushD = 1'b1; // flush wrong instruction in decode
|
||||||
|
flushE = 1'b1; // flush wrong instruction in execute
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
`endif
|
||||||
@@ -2,14 +2,17 @@
|
|||||||
`define INSTRUCTION_COUNTER_H
|
`define INSTRUCTION_COUNTER_H
|
||||||
|
|
||||||
module instruction_counter #(parameter width=5)(
|
module instruction_counter #(parameter width=5)(
|
||||||
input logic [0:0] clk, input logic [0:0] we,
|
input logic [0:0] clk, input logic [0:0] rst, input logic [0:0] we,
|
||||||
input logic [2**width-1:0] W,
|
input logic [2**width-1:0] W,
|
||||||
output logic [2**width-1:0] addr
|
output logic [2**width-1:0] addr
|
||||||
);
|
);
|
||||||
|
|
||||||
logic [2**width-1:0] pc;
|
logic [2**width-1:0] pc;
|
||||||
always_ff @(posedge clk) begin
|
|
||||||
if (we) begin
|
always_ff @(posedge clk or posedge rst) begin
|
||||||
|
if (rst) begin
|
||||||
|
pc <= {(2**width){1'b0}};
|
||||||
|
end else if (we) begin
|
||||||
pc <= W;
|
pc <= W;
|
||||||
end else begin
|
end else begin
|
||||||
pc <= pc + 4;
|
pc <= pc + 4;
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
module lu #(width=8) (
|
||||||
|
input logic [1:0] op,
|
||||||
|
input logic [width-1:0] A, input logic [width-1:0] B,
|
||||||
|
output logic [width-1:0] OUT_1);
|
||||||
|
|
||||||
|
always_comb begin
|
||||||
|
if (op == 2'b00) OUT_1 = A & B;
|
||||||
|
else if (op == 2'b01) OUT_1 = A | B;
|
||||||
|
else if (op == 2'b10) OUT_1 = A ^ B;
|
||||||
|
else if (op == 2'b10) OUT_1 = ~(A | B);
|
||||||
|
end
|
||||||
|
endmodule
|
||||||
+55
-27
@@ -1,76 +1,101 @@
|
|||||||
`include "assignment2.sv"
|
`include "assignment2.sv"
|
||||||
|
|
||||||
|
`timescale 1us/10ns
|
||||||
|
|
||||||
`define PRINT_REGISTERS(regs)\
|
`define PRINT_REGISTERS(regs)\
|
||||||
$display("\tt0-t8: \t0x%0x 0x%0x 0x%0x 0x%0x 0x%0x 0x%0x 0x%0x 0x%0x\n\ts0-s8: \t0x%0x 0x%0x 0x%0x 0x%0x 0x%0x 0x%0x 0x%0x 0x%0x\n",\
|
$display("\tt0-t8: \t0x%0x 0x%0x 0x%0x 0x%0x 0x%0x 0x%0x 0x%0x 0x%0x\n\ts0-s8: \t0x%0x 0x%0x 0x%0x 0x%0x 0x%0x 0x%0x 0x%0x 0x%0x\n",\
|
||||||
regs[8], regs[9], regs[10], regs[11], regs[12], regs[13], regs[14], regs[15], \
|
regs[8], regs[9], regs[10], regs[11], regs[12], regs[13], regs[14], regs[15], \
|
||||||
regs[16], regs[17], regs[18], regs[19], regs[20], regs[21], regs[22], regs[23] \
|
regs[16], regs[17], regs[18], regs[19], regs[20], regs[21], regs[22], regs[23] \
|
||||||
);
|
);
|
||||||
`define TEST_CHECK(cond) if (cond) begin end else begin \
|
`define TEST_CHECK(cond) if (cond) begin end else begin \
|
||||||
$display("Check %s failed\n", `"cond`"); \
|
$display("Check %s failed", `"cond`"); \
|
||||||
`PRINT_REGISTERS(CPU.REGS.regs); \
|
`PRINT_REGISTERS(CPU.REGS.regs); \
|
||||||
num_errors += 1; \
|
num_errors += 1; \
|
||||||
end
|
end
|
||||||
|
|
||||||
module mips_tb(input logic [0:0] clk);
|
module mips_tb();
|
||||||
assignment2 #(5) CPU (clk);
|
logic [0:0] clk;
|
||||||
|
logic [0:0] rst;
|
||||||
|
assignment2 #(5) CPU (clk, rst);
|
||||||
|
|
||||||
|
initial clk = 0;
|
||||||
|
initial rst = 0;
|
||||||
|
always #1 clk = ~clk;
|
||||||
|
|
||||||
integer num_errors = 0;
|
integer num_errors = 0;
|
||||||
initial begin
|
initial begin
|
||||||
|
rst = 1;
|
||||||
|
#2;
|
||||||
|
rst = 0;
|
||||||
|
#2;
|
||||||
|
|
||||||
|
$dumpfile("output.vcd");
|
||||||
|
$dumpvars(0, clk);
|
||||||
|
$dumpvars(1, CPU.REGS);
|
||||||
|
$dumpvars(2, CPU.ROM);
|
||||||
|
$dumpvars(3, CPU.PC);
|
||||||
|
$dumpvars(4, CPU.pc_addr);
|
||||||
|
$dumpvars(5, CPU.CONTROL_UNIT);
|
||||||
|
$dumpvars(5, CPU.instruction);
|
||||||
|
$dumpvars(5, CPU.ALU);
|
||||||
|
$dumpvars(6, CPU.flags);
|
||||||
|
|
||||||
// Zero out lower registers
|
// Zero out lower registers
|
||||||
$display("Beginning MIPS tests");
|
$display("Beginning MIPS tests");
|
||||||
assign num_errors = 0;
|
|
||||||
|
|
||||||
for (integer N = 1; N < 32; ++N)
|
|
||||||
CPU.REGS.regs[N] = 32'd0;
|
|
||||||
|
|
||||||
// Check R-type / initialise
|
// Check R-type / initialise
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[8] == 32'd0);
|
`TEST_CHECK(CPU.REGS.regs[8] == 32'd0);
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[9] == (CPU.REGS.regs[8] + 32'd7));
|
`TEST_CHECK(CPU.REGS.regs[9] == (CPU.REGS.regs[8] + 32'd7));
|
||||||
|
|
||||||
// Check load-store
|
// Check load-store
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.RAM.mem[0] == CPU.REGS.regs[9]);
|
`TEST_CHECK(CPU.RAM.mem[0] == CPU.REGS.regs[9]);
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[10] == CPU.RAM.mem[0]);
|
`TEST_CHECK(CPU.REGS.regs[10] == CPU.RAM.mem[0]);
|
||||||
|
|
||||||
// Check arithmetic
|
// Check arithmetic
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[11] == (CPU.REGS.regs[9] + CPU.REGS.regs[10]));
|
`TEST_CHECK(CPU.REGS.regs[11] == (CPU.REGS.regs[9] + CPU.REGS.regs[10]));
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[12] == (CPU.REGS.regs[9] - CPU.REGS.regs[11]));
|
`TEST_CHECK(CPU.REGS.regs[12] == (CPU.REGS.regs[9] - CPU.REGS.regs[11]));
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[13] == (CPU.REGS.regs[9] + 3));
|
`TEST_CHECK(CPU.REGS.regs[13] == (CPU.REGS.regs[9] + 3));
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[14] == (CPU.REGS.regs[12] + CPU.REGS.regs[13]));
|
`TEST_CHECK(CPU.REGS.regs[14] == (CPU.REGS.regs[12] + CPU.REGS.regs[13]));
|
||||||
|
|
||||||
// Check logic instructions
|
// Check logic instructions
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[16] == (CPU.REGS.regs[9] & CPU.REGS.regs[13]));
|
`TEST_CHECK(CPU.REGS.regs[16] == (CPU.REGS.regs[9] & CPU.REGS.regs[13]));
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[17] == (CPU.REGS.regs[9] | CPU.REGS.regs[13]));
|
`TEST_CHECK(CPU.REGS.regs[17] == (CPU.REGS.regs[9] | CPU.REGS.regs[13]));
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[18] == (CPU.REGS.regs[9] ^ CPU.REGS.regs[13]));
|
`TEST_CHECK(CPU.REGS.regs[18] == (CPU.REGS.regs[9] ^ CPU.REGS.regs[13]));
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[19] == ( ~(CPU.REGS.regs[9] | CPU.REGS.regs[13]) ));
|
`TEST_CHECK(CPU.REGS.regs[19] == ( ~(CPU.REGS.regs[9] | CPU.REGS.regs[13]) ));
|
||||||
|
|
||||||
// Check SLT instructions
|
// Check SLT instructions
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[20] == $signed(CPU.REGS.regs[12]) < $signed(CPU.REGS.regs[14]));
|
`TEST_CHECK(CPU.REGS.regs[20] == $signed(CPU.REGS.regs[12]) < $signed(CPU.REGS.regs[14]));
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[21] == $unsigned(CPU.REGS.regs[12]) < $unsigned(CPU.REGS.regs[14]));
|
`TEST_CHECK(CPU.REGS.regs[21] == $unsigned(CPU.REGS.regs[12]) < $unsigned(CPU.REGS.regs[14]));
|
||||||
|
|
||||||
// Check loop branching
|
// Check loop branching
|
||||||
|
#2;
|
||||||
for (integer N = 1; N < 11; ++N) begin
|
for (integer N = 1; N < 11; ++N) begin
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[0] == 32'(N));
|
`TEST_CHECK(CPU.REGS.regs[8] == 32'(N));
|
||||||
#1;
|
|
||||||
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[22] == $unsigned(CPU.REGS.regs[8]) < $unsigned(CPU.REGS.regs[13]));
|
`TEST_CHECK(CPU.REGS.regs[22] == $unsigned(CPU.REGS.regs[8]) < $unsigned(CPU.REGS.regs[13]));
|
||||||
|
if (N < 10)
|
||||||
|
#2;
|
||||||
|
#2;
|
||||||
end
|
end
|
||||||
|
|
||||||
// Final state check
|
// Final state check
|
||||||
#1;
|
#2;
|
||||||
`TEST_CHECK(CPU.REGS.regs[8] == 32'd10);
|
`TEST_CHECK(CPU.REGS.regs[8] == 32'd10);
|
||||||
`TEST_CHECK(CPU.REGS.regs[9] == 32'd7);
|
`TEST_CHECK(CPU.REGS.regs[9] == 32'd7);
|
||||||
`TEST_CHECK(CPU.REGS.regs[10] == 32'd7);
|
`TEST_CHECK(CPU.REGS.regs[10] == 32'd7);
|
||||||
@@ -89,7 +114,10 @@ module mips_tb(input logic [0:0] clk);
|
|||||||
`TEST_CHECK(CPU.REGS.regs[22] == 32'd0);
|
`TEST_CHECK(CPU.REGS.regs[22] == 32'd0);
|
||||||
`TEST_CHECK(CPU.REGS.regs[23] == 32'd0);
|
`TEST_CHECK(CPU.REGS.regs[23] == 32'd0);
|
||||||
|
|
||||||
if (num_errors == 0) $display("\x1b[38;5;10mAll MIPS tests passing\x1b[m");
|
if (num_errors == 0) begin $display("\x1b[38;5;10mAll MIPS tests passing\x1b[m");
|
||||||
else $display("\x1b[38;5;9m%0d MIPS test(s) failing\x1b[m", num_errors);
|
end else begin $display("\x1b[38;5;9m%0d MIPS test(s) failing\x1b[m", num_errors); end
|
||||||
|
|
||||||
|
$dumpflush;
|
||||||
|
$finish;
|
||||||
end
|
end
|
||||||
endmodule
|
endmodule
|
||||||
+10
-13
@@ -2,25 +2,22 @@
|
|||||||
`define RAM_H
|
`define RAM_H
|
||||||
|
|
||||||
module ram #(addrwidth=9, datawidth=5)(
|
module ram #(addrwidth=9, datawidth=5)(
|
||||||
input logic [0:0] clk,
|
input logic [0:0] clk, input logic [0:0] rst,
|
||||||
input logic [2**addrwidth-1:0] addr,
|
input logic [addrwidth-1:0] addr,
|
||||||
input logic [0:0] we,
|
input logic [0:0] we,
|
||||||
input logic [datawidth-1:0] data_in,
|
input logic [2**datawidth-1:0] data_in,
|
||||||
output logic [datawidth-1:0] data_out
|
output logic [2**datawidth-1:0] data_out
|
||||||
);
|
);
|
||||||
|
|
||||||
// TODO: Make this byte-sized, NOT word-sized!
|
// TODO: Make this byte-sized, NOT word-sized!
|
||||||
logic [2**datawidth-1:0] mem[(2**(addrwidth+$clog2(datawidth)-3))-1:0];
|
logic [2**datawidth-1:0] mem[0:255];
|
||||||
|
|
||||||
// NOTE: Possible issue with assignments still pending by end of initial block
|
|
||||||
initial begin
|
|
||||||
for (integer ADDR = 0; ADDR < 2**(addrwidth+$clog2(datawidth)-3); ++ADDR) begin
|
|
||||||
mem[ADDR] <= 8'b0;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
always_ff @(posedge clk) begin
|
always_ff @(posedge clk) begin
|
||||||
if (we) begin
|
if (rst) begin
|
||||||
|
for (integer ADDR = 0; ADDR < 256; ADDR = ADDR + 1) begin
|
||||||
|
mem[ADDR] <= 32'b0;
|
||||||
|
end
|
||||||
|
end else if (we) begin
|
||||||
mem[addr] <= data_in;
|
mem[addr] <= data_in;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ module register_file #(parameter width=5, parameter nregs=5)(
|
|||||||
logic [2**width-1:0] regs[2**nregs];
|
logic [2**width-1:0] regs[2**nregs];
|
||||||
|
|
||||||
initial begin
|
initial begin
|
||||||
regs[0] = {(2**width){1'b0}};
|
for (integer N = 0; N < (2**nregs); ++N)
|
||||||
|
regs[N] = 32'd0;
|
||||||
end
|
end
|
||||||
|
|
||||||
always_ff @(posedge clk) begin
|
always_ff @(posedge clk) begin
|
||||||
|
|||||||
+5
-5
@@ -3,19 +3,19 @@
|
|||||||
|
|
||||||
module rom #(parameter m=7,p=4) (
|
module rom #(parameter m=7,p=4) (
|
||||||
input logic [m-1:0] Ad,
|
input logic [m-1:0] Ad,
|
||||||
output logic [p-1:0] Dout
|
output logic [2**p-1:0] Dout
|
||||||
);
|
);
|
||||||
|
|
||||||
logic [p-1:0] mem[2**m-1:0];
|
logic [2**p-1:0] mem[2**m];
|
||||||
assign Dout = mem[Ad];
|
assign Dout = mem[Ad>>2]; // Because word-size versus byte size hack
|
||||||
|
|
||||||
//Load the program in memory
|
//Load the program in memory
|
||||||
// The machine code stored in text file program.dat written in Hex format
|
// The machine code stored in text file program.dat written in Hex format
|
||||||
initial begin
|
initial begin
|
||||||
`ifdef QUARTUS_SYNTH
|
`ifdef QUARTUS_SYNTH
|
||||||
$readmemh("../../asm/bin/ELEC4720-2026s2-Ass-02-Demo.txt",mem); //$readmemb for binary
|
$readmemh("../../asm/bin/ELEC4720-2026s2-Ass-02-Demo.hex", mem, 0, 2**m-1); //$readmemb for binary
|
||||||
`else
|
`else
|
||||||
$readmemh("../asm/bin/ELEC4720-2026s2-Ass-02-Demo.txt",mem); //$readmemb for binary
|
$readmemh("./asm/bin/ELEC4720-2026s2-Ass-02-Demo.hex", mem, 0, 2**m-1); //$readmemb for binary
|
||||||
`endif
|
`endif
|
||||||
end
|
end
|
||||||
endmodule // end rom module
|
endmodule // end rom module
|
||||||
|
|||||||
+5
-5
@@ -3,19 +3,19 @@
|
|||||||
|
|
||||||
module rom #(parameter m=7,p=4) (
|
module rom #(parameter m=7,p=4) (
|
||||||
input logic [m-1:0] Ad,
|
input logic [m-1:0] Ad,
|
||||||
output logic [p-1:0] Dout
|
output logic [2**p-1:0] Dout
|
||||||
);
|
);
|
||||||
|
|
||||||
logic [p-1:0] mem[2**m-1:0];
|
logic [2**p-1:0] mem[2**m];
|
||||||
assign Dout = mem[Ad];
|
assign Dout = mem[Ad>>2]; // Because word-size versus byte size hack
|
||||||
|
|
||||||
//Load the program in memory
|
//Load the program in memory
|
||||||
// The machine code stored in text file program.dat written in Hex format
|
// The machine code stored in text file program.dat written in Hex format
|
||||||
initial begin
|
initial begin
|
||||||
`ifdef QUARTUS_SYNTH
|
`ifdef QUARTUS_SYNTH
|
||||||
$readmemh("../../asm/bin/ELEC4720-2026s2-Ass-02-Demo.txt",mem); //$readmemb for binary
|
$readmemh("../../asm/bin/ELEC4720-2026s2-Ass-02-Demo.hex", mem, 0, 2**m-1); //$readmemb for binary
|
||||||
`else
|
`else
|
||||||
$readmemh("./asm/bin/ELEC4720-2026s2-Ass-02-Demo.txt",mem); //$readmemb for binary
|
$readmemh("./asm/bin/ELEC4720-2026s2-Ass-02-Demo.hex", mem, 0, 2**m-1); //$readmemb for binary
|
||||||
`endif
|
`endif
|
||||||
end
|
end
|
||||||
endmodule // end rom module
|
endmodule // end rom module
|
||||||
|
|||||||
@@ -13,28 +13,28 @@ module seven_seg_4digit (
|
|||||||
// Rightmost digit
|
// Rightmost digit
|
||||||
seven_seg digit0 (
|
seven_seg digit0 (
|
||||||
.num(num[3:0]),
|
.num(num[3:0]),
|
||||||
.rbi_inv(1'b0),
|
.rbi_inv(1'b1),
|
||||||
.segments(segments0)
|
.segments(segments0)
|
||||||
);
|
);
|
||||||
|
|
||||||
// Second digit from right
|
// Second digit from right
|
||||||
seven_seg digit1 (
|
seven_seg digit1 (
|
||||||
.num(num[7:4]),
|
.num(num[7:4]),
|
||||||
.rbi_inv(1'b0),
|
.rbi_inv(1'b1),
|
||||||
.segments(segments1)
|
.segments(segments1)
|
||||||
);
|
);
|
||||||
|
|
||||||
// Third digit from right
|
// Third digit from right
|
||||||
seven_seg digit2 (
|
seven_seg digit2 (
|
||||||
.num(num[11:8]),
|
.num(num[11:8]),
|
||||||
.rbi_inv(1'b0),
|
.rbi_inv(1'b1),
|
||||||
.segments(segments2)
|
.segments(segments2)
|
||||||
);
|
);
|
||||||
|
|
||||||
// Leftmost digit
|
// Leftmost digit
|
||||||
seven_seg digit3 (
|
seven_seg digit3 (
|
||||||
.num(num[15:12]),
|
.num(num[15:12]),
|
||||||
.rbi_inv(1'b0),
|
.rbi_inv(1'b1),
|
||||||
.segments(segments3)
|
.segments(segments3)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
`ifndef SHIFTER_H_SV
|
||||||
|
`define SHIFTER_H_SV
|
||||||
|
module shifter #(width=8)(input logic [2:0] op,
|
||||||
|
input logic[width-1:0] A, input logic[width-1:0] C, input logic[$clog2(width)-1:0] B,
|
||||||
|
output logic[width-1:0] OUT_1);
|
||||||
|
|
||||||
|
always_comb begin
|
||||||
|
case (op)
|
||||||
|
3'b000: OUT_1 = A << C;
|
||||||
|
3'b001: OUT_1 = A >> C;
|
||||||
|
3'b011: OUT_1 = $signed(A) >>> C;
|
||||||
|
3'b100: OUT_1 = A << B;
|
||||||
|
3'b101: OUT_1 = A >> B;
|
||||||
|
3'b111: OUT_1 = $signed(A) >>> B;
|
||||||
|
default:OUT_1 = A;
|
||||||
|
endcase
|
||||||
|
end
|
||||||
|
endmodule
|
||||||
|
`endif
|
||||||
@@ -6,12 +6,11 @@ module sign_extender #(in_width=4, out_width=5)(
|
|||||||
input logic [2**in_width-1:0] val,
|
input logic [2**in_width-1:0] val,
|
||||||
output logic [2**out_width-1:0] ext_val
|
output logic [2**out_width-1:0] ext_val
|
||||||
);
|
);
|
||||||
always_comb begin
|
logic [0:0] msb;
|
||||||
if (op) begin
|
assign msb = (val >> (in_width-1)) & 1'b1;
|
||||||
ext_val = { {(2**(out_width-in_width)){val[2**in_width-1]}}, val};
|
assign ext_val = op
|
||||||
end else begin
|
? { {(2**out_width - 2**in_width){msb}}, val }
|
||||||
ext_val = ({{(2**(out_width-in_width)){1'b0}}, val});
|
: { {(2**out_width - 2**in_width){1'b0}}, val };
|
||||||
end
|
|
||||||
end
|
|
||||||
endmodule
|
endmodule
|
||||||
`endif
|
`endif
|
||||||
+1
-1108
File diff suppressed because it is too large.
Load diff
Binary file not shown.
+254
-179
@@ -11,32 +11,32 @@ cModel Technology
|
|||||||
d/home/oliver/intelFPGA/20.1/modelsim_ase/bin
|
d/home/oliver/intelFPGA/20.1/modelsim_ase/bin
|
||||||
valu
|
valu
|
||||||
Z0 DXx6 sv_std 3 std 0 22 VYECXdT12H8WgbUP_5Y6:3
|
Z0 DXx6 sv_std 3 std 0 22 VYECXdT12H8WgbUP_5Y6:3
|
||||||
Z1 !s110 1792107153
|
Z1 !s110 1793848891
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 meV@F]8El[fjh_ULLA@iR2
|
!s100 KP25E<`D0[YGcmY_0OYR>3
|
||||||
Z2 !s11b Dg1SIo80bB@j0V0VzS_@n1
|
Z2 !s11b Dg1SIo80bB@j0V0VzS_@n1
|
||||||
I<0ZXcWH[]FIo]cjVef19`2
|
I9jL53QmOM7UI;=OA3U@eg3
|
||||||
Z3 VDg1SIo80bB@j0V0VzS_@n1
|
Z3 VDg1SIo80bB@j0V0VzS_@n1
|
||||||
S1
|
S1
|
||||||
Z4 d/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim
|
Z4 d/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim
|
||||||
w1792036226
|
Z5 w1792115823
|
||||||
8alu.sv
|
8alu.sv
|
||||||
Falu.sv
|
Falu.sv
|
||||||
!i122 90
|
!i122 215
|
||||||
L0 9 31
|
L0 10 35
|
||||||
Z5 OV;L;2020.1;71
|
Z6 OV;L;2020.1;71
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
Z6 !s108 1792107152.000000
|
Z7 !s108 1793848891.000000
|
||||||
Z7 !s107 seven_seg.sv|seven_seg_4digit.sv|sign_extender.sv|shifter.sv|lu.sv|asu.sv|alu.sv|instruction_classifier.sv|control_unit.sv|instruction_counter.sv|register_file.sv|ram.sv|rom.sv|assignment2.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/mips.sv|
|
Z8 !s107 gatereg.sv|sign_extender.sv|shifter.sv|lu.sv|asu.sv|alu.sv|instruction_classifier.sv|control_unit.sv|instruction_counter.sv|register_file.sv|ram.sv|rom.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/assignment3.sv|
|
||||||
Z8 !s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/mips.sv|
|
Z9 !s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/assignment3.sv|
|
||||||
!i113 1
|
!i113 1
|
||||||
Z9 o-work work -sv
|
Z10 o-work work -sv
|
||||||
Z10 tCvgOpt 0
|
Z11 tCvgOpt 0
|
||||||
valu_tb
|
valu_tb
|
||||||
R0
|
R0
|
||||||
Z11 !s110 1792107152
|
Z12 !s110 1793848695
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 8=>8o`KV]hRM]V8AV?S[C1
|
!s100 8=>8o`KV]hRM]V8AV?S[C1
|
||||||
R2
|
R2
|
||||||
@@ -44,46 +44,71 @@ Iz[VXe9HJ@koSDFNR185;i1
|
|||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
Z12 w1789355084
|
Z13 w1789355084
|
||||||
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu_tb.sv
|
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu_tb.sv
|
||||||
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu_tb.sv
|
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu_tb.sv
|
||||||
!i122 79
|
!i122 190
|
||||||
L0 3 214
|
L0 3 214
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R6
|
Z14 !s108 1793848695.000000
|
||||||
!s107 lu.sv|asu.sv|alu.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu_tb.sv|
|
!s107 lu.sv|asu.sv|alu.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu_tb.sv|
|
||||||
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu_tb.sv|
|
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/alu_tb.sv|
|
||||||
!i113 1
|
!i113 1
|
||||||
R9
|
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vassignment2
|
vassignment2
|
||||||
R0
|
R0
|
||||||
R1
|
R12
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 GJCIM_l8Wa[9;0<RIgA[E0
|
!s100 H2eJB`][V_?PYNI3VTRV10
|
||||||
R2
|
R2
|
||||||
I7i7cEGK6dmN[?gYSA`MeR3
|
IXC<TonD>N5]eBIk8QocLJ3
|
||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
w1792106709
|
w1792119882
|
||||||
8assignment2.sv
|
8assignment2.sv
|
||||||
Fassignment2.sv
|
Fassignment2.sv
|
||||||
!i122 90
|
!i122 201
|
||||||
L0 15 91
|
L0 15 99
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
|
R14
|
||||||
|
Z15 !s107 seven_seg.sv|seven_seg_4digit.sv|sign_extender.sv|shifter.sv|lu.sv|asu.sv|alu.sv|instruction_classifier.sv|control_unit.sv|instruction_counter.sv|register_file.sv|ram.sv|rom.sv|assignment2.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/mips.sv|
|
||||||
|
Z16 !s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/mips.sv|
|
||||||
|
!i113 1
|
||||||
|
R10
|
||||||
|
R11
|
||||||
|
vassignment3
|
||||||
|
R0
|
||||||
|
R1
|
||||||
|
!i10b 1
|
||||||
|
!s100 K6T8de>1WT94z3K=N1kLg0
|
||||||
|
R2
|
||||||
|
IMP2VlhaonMhKfg0_Nm3;Y0
|
||||||
|
R3
|
||||||
|
S1
|
||||||
|
R4
|
||||||
|
w1793848882
|
||||||
|
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/assignment3.sv
|
||||||
|
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/assignment3.sv
|
||||||
|
!i122 215
|
||||||
|
L0 14 81
|
||||||
R6
|
R6
|
||||||
|
r1
|
||||||
|
!s85 0
|
||||||
|
31
|
||||||
R7
|
R7
|
||||||
R8
|
R8
|
||||||
!i113 1
|
|
||||||
R9
|
R9
|
||||||
|
!i113 1
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vasu
|
vasu
|
||||||
R0
|
R0
|
||||||
R1
|
R1
|
||||||
@@ -97,21 +122,21 @@ R4
|
|||||||
w1790228118
|
w1790228118
|
||||||
8asu.sv
|
8asu.sv
|
||||||
Fasu.sv
|
Fasu.sv
|
||||||
!i122 90
|
!i122 215
|
||||||
L0 4 21
|
L0 4 21
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R6
|
|
||||||
R7
|
R7
|
||||||
R8
|
R8
|
||||||
!i113 1
|
|
||||||
R9
|
R9
|
||||||
|
!i113 1
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vasu_tb
|
vasu_tb
|
||||||
R0
|
R0
|
||||||
R11
|
R12
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 ?AMT1ejDgW=83T_P=nh4G1
|
!s100 ?AMT1ejDgW=83T_P=nh4G1
|
||||||
R2
|
R2
|
||||||
@@ -119,24 +144,24 @@ IcS>Hk9oO:RGFmfdUY9[i90
|
|||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
Z13 w1789513270
|
Z17 w1789513270
|
||||||
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu_tb.sv
|
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu_tb.sv
|
||||||
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu_tb.sv
|
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu_tb.sv
|
||||||
!i122 82
|
!i122 193
|
||||||
L0 3 120
|
L0 3 120
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R6
|
R14
|
||||||
!s107 asu.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu_tb.sv|
|
!s107 asu.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu_tb.sv|
|
||||||
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu_tb.sv|
|
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/asu_tb.sv|
|
||||||
!i113 1
|
!i113 1
|
||||||
R9
|
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vByteIM
|
vByteIM
|
||||||
R0
|
R0
|
||||||
R11
|
Z18 !s110 1793848955
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 ]V5Di195@?V=P`Y?PM;U=0
|
!s100 ]V5Di195@?V=P`Y?PM;U=0
|
||||||
R2
|
R2
|
||||||
@@ -144,47 +169,97 @@ Ie:hP;^zFCE^LSAOVoDF6C3
|
|||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
w1792106811
|
w1793848949
|
||||||
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ByteIM.sv
|
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ByteIM.sv
|
||||||
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ByteIM.sv
|
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ByteIM.sv
|
||||||
!i122 83
|
!i122 218
|
||||||
L0 3 12
|
L0 3 12
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R6
|
Z19 !s108 1793848955.000000
|
||||||
!s107 rom.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ByteIM.sv|
|
Z20 !s107 rom.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ByteIM.sv|
|
||||||
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ByteIM.sv|
|
Z21 !s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ByteIM.sv|
|
||||||
!i113 1
|
!i113 1
|
||||||
R9
|
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
n@byte@i@m
|
n@byte@i@m
|
||||||
vcontrol_unit
|
vcontrol_unit
|
||||||
R0
|
R0
|
||||||
R1
|
R1
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 8=J_D2S47^DbodSznO_Zc3
|
!s100 Un]HJ_Po@5PR5RoPMSiFc3
|
||||||
R2
|
R2
|
||||||
ICLPRW`?<4jEk;O<a<:JfD1
|
IN9L1dbI=^fl9KlmLIEFaZ0
|
||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
w1792040117
|
Z22 w1792112234
|
||||||
8control_unit.sv
|
8control_unit.sv
|
||||||
Fcontrol_unit.sv
|
Fcontrol_unit.sv
|
||||||
!i122 90
|
!i122 215
|
||||||
L0 5 31
|
L0 5 31
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R6
|
|
||||||
R7
|
R7
|
||||||
R8
|
R8
|
||||||
!i113 1
|
|
||||||
R9
|
R9
|
||||||
|
!i113 1
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
|
vgatereg
|
||||||
|
R0
|
||||||
|
R1
|
||||||
|
!i10b 1
|
||||||
|
!s100 7OH6NXT3_@J5T^khK_kBU1
|
||||||
|
R2
|
||||||
|
IfbEO5[]8TkZIHMTR<?J]83
|
||||||
|
R3
|
||||||
|
S1
|
||||||
|
R4
|
||||||
|
w1793848262
|
||||||
|
8gatereg.sv
|
||||||
|
Fgatereg.sv
|
||||||
|
!i122 215
|
||||||
|
L0 1 21
|
||||||
|
R6
|
||||||
|
r1
|
||||||
|
!s85 0
|
||||||
|
31
|
||||||
|
R7
|
||||||
|
R8
|
||||||
|
R9
|
||||||
|
!i113 1
|
||||||
|
R10
|
||||||
|
R11
|
||||||
|
vhazard_unit
|
||||||
|
R0
|
||||||
|
!s110 1794101117
|
||||||
|
!i10b 1
|
||||||
|
!s100 ><l_]:mHBZjao@Tb^efhX3
|
||||||
|
R2
|
||||||
|
I]mMhh?P4LT8XTN71OE2:z2
|
||||||
|
R3
|
||||||
|
S1
|
||||||
|
R4
|
||||||
|
w1794101042
|
||||||
|
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/hazard_unit.sv
|
||||||
|
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/hazard_unit.sv
|
||||||
|
!i122 219
|
||||||
|
L0 4 80
|
||||||
|
R6
|
||||||
|
r1
|
||||||
|
!s85 0
|
||||||
|
31
|
||||||
|
!s108 1794101117.000000
|
||||||
|
!s107 /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/hazard_unit.sv|
|
||||||
|
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/hazard_unit.sv|
|
||||||
|
!i113 1
|
||||||
|
R10
|
||||||
|
R11
|
||||||
vinstruction_classifier
|
vinstruction_classifier
|
||||||
R0
|
R0
|
||||||
R1
|
R1
|
||||||
@@ -195,24 +270,24 @@ I[MC9A^:kRAc`nk8<MdaKg2
|
|||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
Z14 w1790228042
|
Z23 w1790228042
|
||||||
8instruction_classifier.sv
|
8instruction_classifier.sv
|
||||||
Finstruction_classifier.sv
|
Finstruction_classifier.sv
|
||||||
!i122 90
|
!i122 215
|
||||||
L0 3 18
|
L0 3 18
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R6
|
|
||||||
R7
|
R7
|
||||||
R8
|
R8
|
||||||
!i113 1
|
|
||||||
R9
|
R9
|
||||||
|
!i113 1
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vinstruction_classifier_tb
|
vinstruction_classifier_tb
|
||||||
R0
|
R0
|
||||||
R11
|
R12
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 UcoUK1il@9RM[8`l`mYQh2
|
!s100 UcoUK1il@9RM[8`l`mYQh2
|
||||||
R2
|
R2
|
||||||
@@ -220,46 +295,46 @@ I;:>eJ6i8o;@kY_?aVJn:d3
|
|||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
R12
|
R13
|
||||||
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier_tb.sv
|
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier_tb.sv
|
||||||
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier_tb.sv
|
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier_tb.sv
|
||||||
!i122 86
|
!i122 197
|
||||||
L0 2 51
|
L0 2 51
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R6
|
R14
|
||||||
!s107 instruction_classifier.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier_tb.sv|
|
!s107 instruction_classifier.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier_tb.sv|
|
||||||
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier_tb.sv|
|
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/instruction_classifier_tb.sv|
|
||||||
!i113 1
|
!i113 1
|
||||||
R9
|
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vinstruction_counter
|
vinstruction_counter
|
||||||
R0
|
R0
|
||||||
R1
|
R1
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 Gl3QY26LJ15Q7EONh4SzK3
|
!s100 `Y=MBPBYNS6?lYoGX6gKQ3
|
||||||
R2
|
R2
|
||||||
I1hlbD0fJDW[G]0]A8ceHA0
|
In<Vi_TenOEn@V0998749H1
|
||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
w1791854498
|
w1792113810
|
||||||
8instruction_counter.sv
|
8instruction_counter.sv
|
||||||
Finstruction_counter.sv
|
Finstruction_counter.sv
|
||||||
!i122 90
|
!i122 215
|
||||||
L0 4 17
|
L0 4 20
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R6
|
|
||||||
R7
|
R7
|
||||||
R8
|
R8
|
||||||
!i113 1
|
|
||||||
R9
|
R9
|
||||||
|
!i113 1
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vlu
|
vlu
|
||||||
R0
|
R0
|
||||||
R1
|
R1
|
||||||
@@ -270,24 +345,24 @@ IObN^<8?MCaP;K@UKCVaP^1
|
|||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
R14
|
R23
|
||||||
8lu.sv
|
8lu.sv
|
||||||
Flu.sv
|
Flu.sv
|
||||||
!i122 90
|
!i122 215
|
||||||
Z15 L0 3 16
|
Z24 L0 3 16
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R6
|
|
||||||
R7
|
R7
|
||||||
R8
|
R8
|
||||||
!i113 1
|
|
||||||
R9
|
R9
|
||||||
|
!i113 1
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vlu_tb
|
vlu_tb
|
||||||
R0
|
R0
|
||||||
R11
|
R12
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 AE_liX6DCD[3>b;K6Wgf72
|
!s100 AE_liX6DCD[3>b;K6Wgf72
|
||||||
R2
|
R2
|
||||||
@@ -298,121 +373,121 @@ R4
|
|||||||
w1788926090
|
w1788926090
|
||||||
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/lu_tb.sv
|
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/lu_tb.sv
|
||||||
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/lu_tb.sv
|
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/lu_tb.sv
|
||||||
!i122 89
|
!i122 200
|
||||||
L0 3 58
|
L0 3 58
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R6
|
R14
|
||||||
!s107 lu.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/lu_tb.sv|
|
!s107 lu.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/lu_tb.sv|
|
||||||
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/lu_tb.sv|
|
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/lu_tb.sv|
|
||||||
!i113 1
|
!i113 1
|
||||||
R9
|
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vmips_tb
|
vmips_tb
|
||||||
R0
|
R0
|
||||||
R1
|
R12
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 [;3LLg]jz>CL@TZ0g[C5g2
|
!s100 e[AQZIQL1WhhBkg43KN<21
|
||||||
R2
|
R2
|
||||||
ImO]Pc4zj;o69UAilj_VEd3
|
IjhKJIgZdj`E=HnkaeNg780
|
||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
w1792104861
|
R5
|
||||||
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/mips.sv
|
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/mips.sv
|
||||||
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/mips.sv
|
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/mips.sv
|
||||||
!i122 90
|
!i122 201
|
||||||
L0 14 82
|
L0 16 108
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R6
|
R14
|
||||||
R7
|
R15
|
||||||
R8
|
R16
|
||||||
!i113 1
|
!i113 1
|
||||||
R9
|
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vram
|
vram
|
||||||
R0
|
R0
|
||||||
R1
|
R1
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 a80AX>=1K`e^Xe^?2?j331
|
!s100 dZKNfO2TYfeLbPoNKW=hB0
|
||||||
R2
|
R2
|
||||||
I9H<bBYRWPh>SjRizgnUC41
|
IDZl^==D[@o2_3Ol@OIBJh0
|
||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
w1792039197
|
w1792473740
|
||||||
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ram.sv
|
8ram.sv
|
||||||
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ram.sv
|
Fram.sv
|
||||||
!i122 91
|
!i122 215
|
||||||
L0 4 26
|
L0 4 23
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
Z16 !s108 1792107153.000000
|
R7
|
||||||
!s107 /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ram.sv|
|
R8
|
||||||
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/ram.sv|
|
|
||||||
!i113 1
|
|
||||||
R9
|
R9
|
||||||
|
!i113 1
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vregister_file
|
vregister_file
|
||||||
R0
|
R0
|
||||||
R1
|
R1
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 FhA1A;hJHXYBBj3k;<@TW0
|
!s100 TM=bHR22b5BF7BGjf7QYh2
|
||||||
R2
|
R2
|
||||||
I7[zSLUT47VibC4BZ`m8FC1
|
I4OUYbMgQ4IJBD?0blX]Lm2
|
||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
w1792035553
|
R22
|
||||||
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/register_file.sv
|
8register_file.sv
|
||||||
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/register_file.sv
|
Fregister_file.sv
|
||||||
!i122 92
|
!i122 215
|
||||||
L0 4 24
|
L0 4 25
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R16
|
R7
|
||||||
!s107 /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/register_file.sv|
|
R8
|
||||||
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/register_file.sv|
|
|
||||||
!i113 1
|
|
||||||
R9
|
R9
|
||||||
|
!i113 1
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vrom
|
vrom
|
||||||
R0
|
R0
|
||||||
R1
|
R18
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 WU3`[b3K8gX:gOXzLkih[1
|
!s100 zLh]ZiD;FcdhG3I]1fk3P2
|
||||||
R2
|
R2
|
||||||
INYZO14fR4zIzAHU<HO=jM1
|
I8o3_6E:`aQh^;J7VVYZIJ2
|
||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
w1792107144
|
R22
|
||||||
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/rom.sv
|
8rom.sv
|
||||||
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/rom.sv
|
From.sv
|
||||||
!i122 93
|
!i122 218
|
||||||
L0 4 18
|
L0 4 18
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R16
|
R19
|
||||||
!s107 /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/rom.sv|
|
R20
|
||||||
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/rom.sv|
|
R21
|
||||||
!i113 1
|
!i113 1
|
||||||
R9
|
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vseven_seg
|
vseven_seg
|
||||||
R0
|
R0
|
||||||
R1
|
Z25 !s110 1793848696
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 ^3LXNA>i`]oD>7BNB:Rd?3
|
!s100 ^3LXNA>i`]oD>7BNB:Rd?3
|
||||||
R2
|
R2
|
||||||
@@ -420,49 +495,49 @@ IedFU7?nB5ZOibY?bC8=L41
|
|||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
R14
|
R23
|
||||||
8seven_seg.sv
|
8seven_seg.sv
|
||||||
Fseven_seg.sv
|
Fseven_seg.sv
|
||||||
!i122 96
|
!i122 207
|
||||||
L0 3 23
|
L0 3 23
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R16
|
Z26 !s108 1793848696.000000
|
||||||
Z17 !s107 seven_seg.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_tb.sv|
|
Z27 !s107 seven_seg.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_tb.sv|
|
||||||
Z18 !s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_tb.sv|
|
Z28 !s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_tb.sv|
|
||||||
!i113 1
|
!i113 1
|
||||||
R9
|
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vseven_seg_4digit
|
vseven_seg_4digit
|
||||||
R0
|
R0
|
||||||
R1
|
R25
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 MRn_YTIW^S4cR39n=0RMi0
|
!s100 kl;BlN=e=UfChCC`DZJA01
|
||||||
R2
|
R2
|
||||||
IYaD1MHdmne1KMOgV5M^f70
|
IS1jLgB;Q?W`6]WHX6bTgl1
|
||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
w1791866874
|
w1792119097
|
||||||
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_4digit.sv
|
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_4digit.sv
|
||||||
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_4digit.sv
|
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_4digit.sv
|
||||||
!i122 95
|
!i122 206
|
||||||
L0 5 37
|
L0 5 37
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R16
|
R26
|
||||||
!s107 seven_seg.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_4digit.sv|
|
!s107 seven_seg.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_4digit.sv|
|
||||||
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_4digit.sv|
|
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_4digit.sv|
|
||||||
!i113 1
|
!i113 1
|
||||||
R9
|
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vseven_seg_tb
|
vseven_seg_tb
|
||||||
R0
|
R0
|
||||||
R1
|
R25
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 jPijM2]zTRBV8TFdD?Q`I1
|
!s100 jPijM2]zTRBV8TFdD?Q`I1
|
||||||
R2
|
R2
|
||||||
@@ -473,18 +548,18 @@ R4
|
|||||||
w1788418794
|
w1788418794
|
||||||
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_tb.sv
|
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_tb.sv
|
||||||
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_tb.sv
|
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/seven_seg_tb.sv
|
||||||
!i122 96
|
!i122 207
|
||||||
L0 3 66
|
L0 3 66
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R16
|
R26
|
||||||
R17
|
R27
|
||||||
R18
|
R28
|
||||||
!i113 1
|
!i113 1
|
||||||
R9
|
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vshifter
|
vshifter
|
||||||
R0
|
R0
|
||||||
R1
|
R1
|
||||||
@@ -495,24 +570,24 @@ IzJzhQo`olGLa0f4lM55A42
|
|||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
R14
|
R23
|
||||||
8shifter.sv
|
8shifter.sv
|
||||||
Fshifter.sv
|
Fshifter.sv
|
||||||
!i122 98
|
!i122 215
|
||||||
R15
|
R24
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R16
|
R7
|
||||||
Z19 !s107 shifter.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/shifter_tb.sv|
|
R8
|
||||||
Z20 !s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/shifter_tb.sv|
|
|
||||||
!i113 1
|
|
||||||
R9
|
R9
|
||||||
|
!i113 1
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vshifter_tb
|
vshifter_tb
|
||||||
R0
|
R0
|
||||||
R1
|
R25
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 TiConQ4:_WTd:PLNNG`Po3
|
!s100 TiConQ4:_WTd:PLNNG`Po3
|
||||||
R2
|
R2
|
||||||
@@ -520,43 +595,43 @@ Ia6ohf92lD=P<P]lDi667i2
|
|||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
R13
|
R17
|
||||||
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/shifter_tb.sv
|
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/shifter_tb.sv
|
||||||
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/shifter_tb.sv
|
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/shifter_tb.sv
|
||||||
!i122 98
|
!i122 209
|
||||||
L0 2 76
|
L0 2 76
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R16
|
R26
|
||||||
R19
|
!s107 shifter.sv|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/shifter_tb.sv|
|
||||||
R20
|
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/shifter_tb.sv|
|
||||||
!i113 1
|
!i113 1
|
||||||
R9
|
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
vsign_extender
|
vsign_extender
|
||||||
R0
|
R0
|
||||||
R1
|
R1
|
||||||
!i10b 1
|
!i10b 1
|
||||||
!s100 aKV[]M4PV<7m9ohWC7JSA0
|
!s100 dXL[XDH1LfSe`PJjMiOTD2
|
||||||
R2
|
R2
|
||||||
I6?e[:9@XB<KdO1NP<2VSz0
|
I0BX4cd5>`EdI:oOG868Jh2
|
||||||
R3
|
R3
|
||||||
S1
|
S1
|
||||||
R4
|
R4
|
||||||
w1792038654
|
w1792644107
|
||||||
8/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/sign_extender.sv
|
8sign_extender.sv
|
||||||
F/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/sign_extender.sv
|
Fsign_extender.sv
|
||||||
!i122 99
|
!i122 215
|
||||||
L0 4 13
|
L0 4 12
|
||||||
R5
|
R6
|
||||||
r1
|
r1
|
||||||
!s85 0
|
!s85 0
|
||||||
31
|
31
|
||||||
R16
|
R7
|
||||||
!s107 /home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/sign_extender.sv|
|
R8
|
||||||
!s90 -reportprogress|300|-work|work|-sv|-stats=none|/home/oliver/Documents/FPGA_Dev/FPGA_Uni/ModelSim/sign_extender.sv|
|
|
||||||
!i113 1
|
|
||||||
R9
|
R9
|
||||||
|
!i113 1
|
||||||
R10
|
R10
|
||||||
|
R11
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -121,4 +121,10 @@ set_location_assignment PIN_AC24 -to out_seg_3[5]
|
|||||||
set_location_assignment PIN_AC23 -to out_seg_3[6]
|
set_location_assignment PIN_AC23 -to out_seg_3[6]
|
||||||
|
|
||||||
|
|
||||||
|
set_location_assignment PIN_AC9 -to rst[0]
|
||||||
|
set_instance_assignment -name IO_STANDARD "1.2 V" -to rst[0]
|
||||||
|
set_location_assignment PIN_F7 -to out_seg_0[0]
|
||||||
|
set_location_assignment PIN_F6 -to out_seg_1[0]
|
||||||
|
set_location_assignment PIN_G6 -to out_seg_2[0]
|
||||||
|
set_location_assignment PIN_G7 -to out_seg_3[0]
|
||||||
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
|
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loaded 100 of 290 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user