├── .gitignore ├── Modules ├── EX │ ├── ALU.v │ ├── ALU_control.v │ ├── EX.v │ ├── left_shift.v │ └── status_reg.v ├── ID │ ├── ID.v │ ├── reg_file.v │ └── sign_extend.v ├── IF │ ├── IF.v │ └── inst_mem.v ├── MEM │ ├── br_control.v │ └── data_mem.v ├── WB │ └── write_back.v └── common │ ├── dff.v │ ├── mux2.v │ └── mux4.v ├── README.md ├── TEST ├── ALU_control_tb.sv ├── ALU_tb.sv ├── EX_tb.sv ├── ID_tb.sv ├── IF_tb.sv ├── TOP_tb.sv ├── control_tb.sv ├── data_mem_tb.sv ├── inst_mem_tb.sv ├── reg_file_tb.sv ├── sign_extend_tb.sv └── write_back_tb.sv ├── TOP ├── PipelineCPU.v ├── PipelineDatapath.v ├── PipelineTOP.v ├── SingleCycleCPU.v ├── SingleCycleDatapath.v ├── SingleCycleTOP.v └── control.v ├── common.vh ├── data ├── bubble_sort │ ├── 0 │ │ ├── bubble_sort.asm │ │ ├── data_mem.txt │ │ └── inst_mem.txt │ ├── Pipeline │ │ ├── bubble_sort.asm │ │ ├── data_mem.txt │ │ ├── data_mem_py_sorted.txt │ │ ├── data_mem_tb_sorted.txt │ │ └── inst_mem.txt │ └── SingleCycle │ │ ├── bubble_sort.asm │ │ ├── data_mem.txt │ │ ├── data_mem_py_sorted.txt │ │ ├── data_mem_tb_sorted.txt │ │ └── inst_mem.txt ├── factorial │ ├── Pipeline │ │ ├── data_mem.txt │ │ ├── factorial.asm │ │ └── inst_mem.txt │ └── SingleCycle │ │ ├── data_mem.txt │ │ ├── factorial.asm │ │ └── inst_mem.txt └── test │ ├── data_mem.txt │ └── inst_mem.txt ├── files.bat ├── pics ├── Hierarchy.png ├── Hierarchy.vsdx ├── TOP.png ├── TOP.vsdx ├── TOP_Pipeline.png └── TOP_Pipeline.vsdx └── py ├── compare.py ├── file_str_replace.py ├── legv8_asm.py └── random_gen.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/.gitignore -------------------------------------------------------------------------------- /Modules/EX/ALU.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/EX/ALU.v -------------------------------------------------------------------------------- /Modules/EX/ALU_control.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/EX/ALU_control.v -------------------------------------------------------------------------------- /Modules/EX/EX.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/EX/EX.v -------------------------------------------------------------------------------- /Modules/EX/left_shift.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/EX/left_shift.v -------------------------------------------------------------------------------- /Modules/EX/status_reg.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/EX/status_reg.v -------------------------------------------------------------------------------- /Modules/ID/ID.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/ID/ID.v -------------------------------------------------------------------------------- /Modules/ID/reg_file.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/ID/reg_file.v -------------------------------------------------------------------------------- /Modules/ID/sign_extend.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/ID/sign_extend.v -------------------------------------------------------------------------------- /Modules/IF/IF.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/IF/IF.v -------------------------------------------------------------------------------- /Modules/IF/inst_mem.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/IF/inst_mem.v -------------------------------------------------------------------------------- /Modules/MEM/br_control.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/MEM/br_control.v -------------------------------------------------------------------------------- /Modules/MEM/data_mem.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/MEM/data_mem.v -------------------------------------------------------------------------------- /Modules/WB/write_back.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/WB/write_back.v -------------------------------------------------------------------------------- /Modules/common/dff.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/common/dff.v -------------------------------------------------------------------------------- /Modules/common/mux2.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/common/mux2.v -------------------------------------------------------------------------------- /Modules/common/mux4.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/Modules/common/mux4.v -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/README.md -------------------------------------------------------------------------------- /TEST/ALU_control_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TEST/ALU_control_tb.sv -------------------------------------------------------------------------------- /TEST/ALU_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TEST/ALU_tb.sv -------------------------------------------------------------------------------- /TEST/EX_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TEST/EX_tb.sv -------------------------------------------------------------------------------- /TEST/ID_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TEST/ID_tb.sv -------------------------------------------------------------------------------- /TEST/IF_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TEST/IF_tb.sv -------------------------------------------------------------------------------- /TEST/TOP_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TEST/TOP_tb.sv -------------------------------------------------------------------------------- /TEST/control_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TEST/control_tb.sv -------------------------------------------------------------------------------- /TEST/data_mem_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TEST/data_mem_tb.sv -------------------------------------------------------------------------------- /TEST/inst_mem_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TEST/inst_mem_tb.sv -------------------------------------------------------------------------------- /TEST/reg_file_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TEST/reg_file_tb.sv -------------------------------------------------------------------------------- /TEST/sign_extend_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TEST/sign_extend_tb.sv -------------------------------------------------------------------------------- /TEST/write_back_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TEST/write_back_tb.sv -------------------------------------------------------------------------------- /TOP/PipelineCPU.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TOP/PipelineCPU.v -------------------------------------------------------------------------------- /TOP/PipelineDatapath.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TOP/PipelineDatapath.v -------------------------------------------------------------------------------- /TOP/PipelineTOP.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TOP/PipelineTOP.v -------------------------------------------------------------------------------- /TOP/SingleCycleCPU.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TOP/SingleCycleCPU.v -------------------------------------------------------------------------------- /TOP/SingleCycleDatapath.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TOP/SingleCycleDatapath.v -------------------------------------------------------------------------------- /TOP/SingleCycleTOP.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TOP/SingleCycleTOP.v -------------------------------------------------------------------------------- /TOP/control.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/TOP/control.v -------------------------------------------------------------------------------- /common.vh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/common.vh -------------------------------------------------------------------------------- /data/bubble_sort/0/bubble_sort.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/bubble_sort/0/bubble_sort.asm -------------------------------------------------------------------------------- /data/bubble_sort/0/data_mem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/bubble_sort/0/data_mem.txt -------------------------------------------------------------------------------- /data/bubble_sort/0/inst_mem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/bubble_sort/0/inst_mem.txt -------------------------------------------------------------------------------- /data/bubble_sort/Pipeline/bubble_sort.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/bubble_sort/Pipeline/bubble_sort.asm -------------------------------------------------------------------------------- /data/bubble_sort/Pipeline/data_mem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/bubble_sort/Pipeline/data_mem.txt -------------------------------------------------------------------------------- /data/bubble_sort/Pipeline/data_mem_py_sorted.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/bubble_sort/Pipeline/data_mem_py_sorted.txt -------------------------------------------------------------------------------- /data/bubble_sort/Pipeline/data_mem_tb_sorted.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/bubble_sort/Pipeline/data_mem_tb_sorted.txt -------------------------------------------------------------------------------- /data/bubble_sort/Pipeline/inst_mem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/bubble_sort/Pipeline/inst_mem.txt -------------------------------------------------------------------------------- /data/bubble_sort/SingleCycle/bubble_sort.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/bubble_sort/SingleCycle/bubble_sort.asm -------------------------------------------------------------------------------- /data/bubble_sort/SingleCycle/data_mem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/bubble_sort/SingleCycle/data_mem.txt -------------------------------------------------------------------------------- /data/bubble_sort/SingleCycle/data_mem_py_sorted.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/bubble_sort/SingleCycle/data_mem_py_sorted.txt -------------------------------------------------------------------------------- /data/bubble_sort/SingleCycle/data_mem_tb_sorted.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/bubble_sort/SingleCycle/data_mem_tb_sorted.txt -------------------------------------------------------------------------------- /data/bubble_sort/SingleCycle/inst_mem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/bubble_sort/SingleCycle/inst_mem.txt -------------------------------------------------------------------------------- /data/factorial/Pipeline/data_mem.txt: -------------------------------------------------------------------------------- 1 | 7a11f8 2 | 14 3 | -------------------------------------------------------------------------------- /data/factorial/Pipeline/factorial.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/factorial/Pipeline/factorial.asm -------------------------------------------------------------------------------- /data/factorial/Pipeline/inst_mem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/factorial/Pipeline/inst_mem.txt -------------------------------------------------------------------------------- /data/factorial/SingleCycle/data_mem.txt: -------------------------------------------------------------------------------- 1 | 1ff8 2 | 14 3 | -------------------------------------------------------------------------------- /data/factorial/SingleCycle/factorial.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/factorial/SingleCycle/factorial.asm -------------------------------------------------------------------------------- /data/factorial/SingleCycle/inst_mem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/factorial/SingleCycle/inst_mem.txt -------------------------------------------------------------------------------- /data/test/data_mem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/test/data_mem.txt -------------------------------------------------------------------------------- /data/test/inst_mem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/data/test/inst_mem.txt -------------------------------------------------------------------------------- /files.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/files.bat -------------------------------------------------------------------------------- /pics/Hierarchy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/pics/Hierarchy.png -------------------------------------------------------------------------------- /pics/Hierarchy.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/pics/Hierarchy.vsdx -------------------------------------------------------------------------------- /pics/TOP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/pics/TOP.png -------------------------------------------------------------------------------- /pics/TOP.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/pics/TOP.vsdx -------------------------------------------------------------------------------- /pics/TOP_Pipeline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/pics/TOP_Pipeline.png -------------------------------------------------------------------------------- /pics/TOP_Pipeline.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/pics/TOP_Pipeline.vsdx -------------------------------------------------------------------------------- /py/compare.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/py/compare.py -------------------------------------------------------------------------------- /py/file_str_replace.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/py/file_str_replace.py -------------------------------------------------------------------------------- /py/legv8_asm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/py/legv8_asm.py -------------------------------------------------------------------------------- /py/random_gen.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijyhh/LEGv8/HEAD/py/random_gen.py --------------------------------------------------------------------------------