├── .gitignore ├── README.md ├── commit_message.md ├── lab1 └── num_led │ ├── num_led.srcs │ ├── constrs_1 │ │ └── new │ │ │ └── num_led.xdc │ ├── sim_1 │ │ └── new │ │ │ └── testbench.v │ └── sources_1 │ │ └── new │ │ └── num_led.v │ └── num_led.xpr ├── lab3 ├── single_cycle │ ├── ip_upgrade.log │ ├── single_cycle.srcs │ │ ├── constrs_1 │ │ │ └── new │ │ │ │ └── single_cycle.xdc │ │ ├── sim_1 │ │ │ └── new │ │ │ │ └── testbench.v │ │ └── sources_1 │ │ │ └── new │ │ │ ├── confreg │ │ │ └── confreg.v │ │ │ ├── ip │ │ │ ├── .Xil │ │ │ │ ├── .data_ram.xcix.lock │ │ │ │ └── .inst_rom.xcix.lock │ │ │ ├── data_ram │ │ │ │ ├── data_ram.xci │ │ │ │ └── data_ram.xml │ │ │ └── inst_rom │ │ │ │ ├── inst_rom.xci │ │ │ │ └── inst_rom.xml │ │ │ ├── myCPU │ │ │ └── put your code here │ │ │ └── single_cycle.v │ └── single_cycle.xpr └── soft │ ├── adder8bit.S │ ├── adder8bit.coe │ ├── fibonacci.S │ └── fibonacci.coe ├── lab5 ├── golden_trace.txt ├── teach_soc │ ├── teach_soc.srcs │ │ ├── constrs_1 │ │ │ └── new │ │ │ │ └── teach_soc.xdc │ │ ├── sim_1 │ │ │ └── new │ │ │ │ ├── tb.v │ │ │ │ └── trace_tb.v │ │ └── sources_1 │ │ │ ├── ip │ │ │ ├── clk_pll │ │ │ │ ├── clk_pll.xci │ │ │ │ └── clk_pll.xml │ │ │ ├── data_ram │ │ │ │ ├── data_ram.xci │ │ │ │ └── data_ram.xml │ │ │ └── inst_ram │ │ │ │ ├── inst_ram.xci │ │ │ │ └── inst_ram.xml │ │ │ └── new │ │ │ ├── bridge │ │ │ └── bridge_1x2.v │ │ │ ├── confreg │ │ │ └── confeg.v │ │ │ ├── myCPU │ │ │ └── put your cpu here │ │ │ └── teach_soc_top.v │ └── teach_soc.xpr ├── teach_soft │ ├── func_test │ │ ├── Makefile │ │ ├── Readme_first.txt │ │ ├── bin.lds │ │ ├── bin.lds.S │ │ ├── convert │ │ ├── convert.c │ │ ├── include │ │ │ ├── asm.h │ │ │ ├── cpu_cde.h │ │ │ └── regdef.h │ │ ├── inst │ │ │ ├── 1 │ │ │ ├── Makefile │ │ │ ├── inst_test.h │ │ │ ├── n10_sltiu.S │ │ │ ├── n11_sll.S │ │ │ ├── n12_sw.S │ │ │ ├── n13_j.S │ │ │ ├── n14_jal.S │ │ │ ├── n15_jr.S │ │ │ ├── n16_beq_ds.S │ │ │ ├── n17_bne_ds.S │ │ │ ├── n18_j_ds.S │ │ │ ├── n19_jal_ds.S │ │ │ ├── n1_lui.S │ │ │ ├── n20_jr_ds.S │ │ │ ├── n21_add.S │ │ │ ├── n22_addi.S │ │ │ ├── n23_sub.S │ │ │ ├── n24_subu.S │ │ │ ├── n25_sltu.S │ │ │ ├── n26_and.S │ │ │ ├── n27_andi.S │ │ │ ├── n28_nor.S │ │ │ ├── n29_ori.S │ │ │ ├── n2_addu.S │ │ │ ├── n30_xor.S │ │ │ ├── n31_xori.S │ │ │ ├── n32_sllv.S │ │ │ ├── n33_sra.S │ │ │ ├── n34_srav.S │ │ │ ├── n35_srl.S │ │ │ ├── n36_srlv.S │ │ │ ├── n37_bgez.S │ │ │ ├── n38_bgtz.S │ │ │ ├── n39_blez.S │ │ │ ├── n3_addiu.S │ │ │ ├── n40_bltz.S │ │ │ ├── n41_bltzal.S │ │ │ ├── n42_bgezal.S │ │ │ ├── n43_jalr.S │ │ │ ├── n44_div.S │ │ │ ├── n45_divu.S │ │ │ ├── n46_mult.S │ │ │ ├── n47_multu.S │ │ │ ├── n48_mfhi.S │ │ │ ├── n49_mflo.S │ │ │ ├── n4_beq.S │ │ │ ├── n50_mthi.S │ │ │ ├── n51_mtlo.S │ │ │ ├── n52_bgez_ds.S │ │ │ ├── n53_bgtz_ds.S │ │ │ ├── n54_blez_ds.S │ │ │ ├── n55_bltz_ds.S │ │ │ ├── n56_bltzal_ds.S │ │ │ ├── n57_bgezal_ds.S │ │ │ ├── n58_jalr_ds.S │ │ │ ├── n59_lb.S │ │ │ ├── n5_bne.S │ │ │ ├── n60_lbu.S │ │ │ ├── n61_lh.S │ │ │ ├── n62_lhu.S │ │ │ ├── n63_sb.S │ │ │ ├── n64_sh.S │ │ │ ├── n65_syscall_ex.S │ │ │ ├── n66_break_ex.S │ │ │ ├── n67_add_ov_ex.S │ │ │ ├── n68_addi_ov_ex.S │ │ │ ├── n69_sub_ov_ex.S │ │ │ ├── n6_lw.S │ │ │ ├── n70_lw_adel_ex.S │ │ │ ├── n71_lh_adel_ex.S │ │ │ ├── n72_lhu_adel_ex.S │ │ │ ├── n73_sw_ades_ex.S │ │ │ ├── n74_sh_ades_ex.S │ │ │ ├── n75_ft_adel_ex.S │ │ │ ├── n76_ri_ex.S │ │ │ ├── n77_soft_int_ex.S │ │ │ ├── n78_beq_ds_ex.S │ │ │ ├── n79_bne_ds_ex.S │ │ │ ├── n7_or.S │ │ │ ├── n80_bgez_ds_ex.S │ │ │ ├── n81_bgtz_ds_ex.S │ │ │ ├── n82_blez_ds_ex.S │ │ │ ├── n83_bltz_ds_ex.S │ │ │ ├── n84_bltzal_ds_ex.S │ │ │ ├── n85_bgezal_ds_ex.S │ │ │ ├── n86_j_ds_ex.S │ │ │ ├── n87_jal_ds_ex.S │ │ │ ├── n88_jr_ds_ex.S │ │ │ ├── n89_jalr_ds_ex.S │ │ │ ├── n8_slt.S │ │ │ └── n9_slti.S │ │ ├── rules.make │ │ └── start.S │ ├── inst_ram.coe │ └── put software here └── teach_trace_gen │ ├── teach_trace_gen.srcs │ ├── constrs_1 │ │ └── new │ │ │ └── teach_soc.xdc │ ├── sim_1 │ │ └── new │ │ │ ├── tb.v │ │ │ └── trace_gen_tb.v │ └── sources_1 │ │ ├── imports │ │ └── cpu132 │ │ │ └── gs132_verilog.v │ │ ├── ip │ │ ├── clk_pll │ │ │ ├── clk_pll.xci │ │ │ └── clk_pll.xml │ │ ├── data_ram │ │ │ ├── data_ram.xci │ │ │ └── data_ram.xml │ │ └── inst_ram │ │ │ ├── inst_ram.xci │ │ │ └── inst_ram.xml │ │ └── new │ │ ├── bridge │ │ └── bridge_1x2.v │ │ ├── confreg │ │ └── confeg.v │ │ └── teach_soc_top.v │ └── teach_trace_gen.xpr ├── lab7 └── cache demo │ ├── cache demo.srcs │ └── sources_1 │ │ ├── ip │ │ ├── cache_tag_0 │ │ │ ├── cache_tag_0.veo │ │ │ ├── cache_tag_0.vho │ │ │ ├── cache_tag_0.xci │ │ │ └── cache_tag_0.xml │ │ └── dcache_data_ram │ │ │ ├── dcache_data_ram.veo │ │ │ ├── dcache_data_ram.vho │ │ │ ├── dcache_data_ram.xci │ │ │ └── dcache_data_ram.xml │ │ └── new │ │ ├── cache_tag.v │ │ ├── dcache.v │ │ ├── dcache_data.v │ │ └── dcache_tag.v │ └── cache demo.xpr └── tools └── coe_tool ├── README.md └── coe_file.zip /.gitignore: -------------------------------------------------------------------------------- 1 | *.cache 2 | *.hw 3 | *.ip_user_files 4 | *.runs 5 | *.sim 6 | lab1/led 7 | answer -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 北京理工大学 MIPS 指令集 CPU 设计系列教学实验 2 | 3 | 本仓库保存 bitmips experiments 的实验代码,可以将此仓库克隆到本地。 4 | 5 | ```bash 6 | git clone https://github.com/bit-mips/bitmips_experiments.git 7 | ``` 8 | 9 | **请参考[实验指导手册](https://github.com/bit-mips/bitmips_experiments_doc)来做实验。** 10 | -------------------------------------------------------------------------------- /commit_message.md: -------------------------------------------------------------------------------- 1 | # Commit Message 2 | 3 | 按照以下内容,统一 Commit Message。采用的是 Angular 规范,也是目前使用最广的规范。 4 | 5 | ## Commit Message 格式 6 | 7 | ``` 8 | (): 9 | 10 | 11 | 12 |