Skip to content

Latest commit

 

History

History
138 lines (77 loc) · 4.91 KB

File metadata and controls

138 lines (77 loc) · 4.91 KB

南方科技大学CS202/214计算机组成原理课程大作业

Fork me on Gitee star

这是南方科技大学CS202/214计算机组成原理课程的大作业——实现一个CPU。 本项目的基本功能为,实现了基于FPGA和Verilog语言的支持MIPS指令集的单周期中央处理器。

编译说明

本项目使用Vivado作为EDA工具,下载代码后可以快速创建可编译的Vivado项目, 步骤如下:

  1. 克隆项目到本地

    git clone https://gitee.com/yecanming/SUSTech-CS202_214-Computer_Organization-Project.git
  2. 新建Vivado 项目

    image-20220530004739327

    选择RTL Project

    image-20220530004806679

    进入添加代码环节

    image-20220530004844350
  3. 导入verilog源代码(可合成文件)

    点击Add Directories,在弹出来的文件筐中选择ip_invoke(xci文件,用于生成IP核的调用)和mips_cpu(主要的源代码)两个文件夹导入。

    image-20220530004950623
  4. 添加管脚约束文件

    image-20220530005242969

    找到xdc文件夹。

    image-20220530005217981

    逐个导入其中所有xdc文件(包括子文件夹中的文件)。

    导入时可以按住ctrl多选,提高效率。

  5. 开发板型号选择

    本项目使用Xilinx的Minisys开发板测试,该开发板的设置如下:

    image-20220530005445591
  6. 导入自定义IP核

    这些IP核的源代码在本项目当中,并不是vivado自带的,因此需要导入vivado的IP Catalog。

    我们的项目主要用到了东南大学计算机系提供的串口COE接收IP核,很有帮助,在此致谢。

    首先点击IP Catalog

    image-20220530005928253

    选择Add Repository

    image-20220530010005020

    找到ip_import文件夹,直接导入

    image-20220530010125596
  7. 导入Verilog测试(仿真)文件(可选)

    选择Add or create simulation sources

    image-20220530010303825

    找到test/verilog 文件夹,直接导入文件夹

    image-20220530010351991

如何参与开发

  1. 克隆项目到本地

    git clone https://gitee.com/yecanming/SUSTech-CS202_214-Computer_Organization-Project.git

    切换到develop分支

    cd SUSTech-CS202_214-Computer_Organization-Project
    git checkout develop
    
  2. 用喜欢的编辑器修改项目

    • 方法1:用vivado本地工程引用项目,见编译说明
    • 方法2:用vscode修改文件
  3. 使用喜欢的git管理工具提交更改

    • 方法1:git命令行

      git add . # .表示工作文件夹都被加入(除了gitignore)
      git status # 确认add命令加入的是你想要提交的文件,如果不是,用git reset --soft HEAD^取消git add
      git commit -m "提交的名字" # 尽量遵守 Commitizen 规范
    • 方法2:VS Code

    • 方法3:Jetbrains IDE

  4. 使用喜欢的git管理工具推送到云端

    • 方法1:git命令行

      git push -u origin develop # 不是master。
    • 方法2:VS Code

    • 方法3:Jetbrains IDE

项目进度

yecanming/南方科技大学-CS202_214-计算机组成原理-大作业