All Projects → Summer-Summer → Computerarchitecturelab

Summer-Summer / Computerarchitecturelab

Licence: mit
This repository is used to release the Labs of Computer Architecture Course from USTC

Labels

Projects that are alternatives of or similar to Computerarchitecturelab

Hw
RTL, Cmodel, and testbench for NVDLA
Stars: ✭ 1,041 (+1288%)
Mutual labels:  verilog
Fpga101 Workshop
FPGA 101 - Workshop materials
Stars: ✭ 54 (-28%)
Mutual labels:  verilog
J1sc
A reimplementation of a tiny stack CPU
Stars: ✭ 64 (-14.67%)
Mutual labels:  verilog
Vexriscv
A FPGA friendly 32 bit RISC-V CPU implementation
Stars: ✭ 1,041 (+1288%)
Mutual labels:  verilog
Electron
A mixed signal netlist language (pre-alpha)
Stars: ✭ 52 (-30.67%)
Mutual labels:  verilog
Riscy Soc
Riscy-SoC is SoC based on RISC-V CPU core, designed in Verilog
Stars: ✭ 59 (-21.33%)
Mutual labels:  verilog
Mam65c02 Processor Core
Microprogrammed 65C02-compatible FPGA Processor Core (Verilog-2001)
Stars: ✭ 43 (-42.67%)
Mutual labels:  verilog
Cpus Caddr
FPGA based MIT CADR lisp machine - rewritten in modern verilog - boots and runs
Stars: ✭ 72 (-4%)
Mutual labels:  verilog
Rggen
Code generation tool for configuration and status registers
Stars: ✭ 54 (-28%)
Mutual labels:  verilog
Core jpeg
High throughput JPEG decoder in Verilog for FPGA
Stars: ✭ 64 (-14.67%)
Mutual labels:  verilog
Wbscope
A wishbone controlled scope for FPGA's
Stars: ✭ 50 (-33.33%)
Mutual labels:  verilog
Darkriscv
opensouce RISC-V cpu core implemented in Verilog from scratch in one night!
Stars: ✭ 1,062 (+1316%)
Mutual labels:  verilog
Cdbus ip
CDBUS Protocol and the IP Core for FPGA users
Stars: ✭ 60 (-20%)
Mutual labels:  verilog
H265 Encoder Rtl
Stars: ✭ 48 (-36%)
Mutual labels:  verilog
Jt gng
CAPCOM arcade hardware accurately replicated on MiST and MiSTer FPGA platforms. It covers Ghosts'n Goblins, 1942, 1943, Commando, F1-Dream, GunSmoke, Tiger Road, Black Tiger, Bionic Commando, Higemaru, Street Fighter and Vulgus.
Stars: ✭ 65 (-13.33%)
Mutual labels:  verilog
Cnn hardware acclerator for fpga
This is a fully parameterized verilog implementation of computation kernels for accleration of the Inference of Convolutional Neural Networks on FPGAs
Stars: ✭ 47 (-37.33%)
Mutual labels:  verilog
Practical Uvm Step By Step
This is the main repository for all the examples for the book Practical UVM
Stars: ✭ 56 (-25.33%)
Mutual labels:  verilog
Vt52 Fpga
Stars: ✭ 75 (+0%)
Mutual labels:  verilog
Symbiflow Examples
Example designs showing different ways to use SymbiFlow toolchains.
Stars: ✭ 71 (-5.33%)
Mutual labels:  verilog
Ao68000
The OpenCores ao68000 IP Core is a Motorola MC68000 binary compatible processor.
Stars: ✭ 60 (-20%)
Mutual labels:  verilog

Computer Architecture 2019 Lab

此仓库用于发布USTC体系结构课程2019年夏季学期的实验代码和要求,同时可用于学生的意见反馈。
实验成绩占课程成绩的40%,实验验收方式主要为课堂当面验收和实验报告的提交。
本学期计划实验时长为10周

  • Lab1(4-5周)【15%】: 熟悉RISC-V指令集,完成RV32I指令集流水线CPU的设计报告;
  • Lab2 (第6周清明假期)(7-9周)【40%】: 配置和使用RISCV编译工具链;完成RV32I流水线CPU的Verilog代码;利用RISCV-test测试文件进行仿真和CPU功能验证
  • Lab3(第10周五一假期)(第11-12周)【20%】: cache设计和实现
  • Lab4(13-14周)【15%】: 分支预测设计与实现
  • Lab5(第15周)【10%】:学习使用提供的Tomasulo软件模拟器和多Cache一致性软件模拟器,并完成实验报告

CPU_Modules

签到与补交

  • 学生总数220人左右,教室容量110,每周开两次实验课,内容完全一样,可二选一参加
  • 验收和报告补交一周内扣除20%成绩,介于一周两周之内补交扣除40%成绩超过两周不予验收
  • 为了照顾对流水线不熟悉的学生和鼓励实验课出勤,每堂课设置签到。(每次实验课开始15分钟后停止签到,实验课结束半小时前可以签离,每周两个实验时间段任选其一参加,有签到和签离就算当周满勤)。
  • 上周和本周连续两次满勤可以申请本周实验晚交一周不做扣分处理。(比如Lab2阶段一验收是第6周,如果到了第6周实验课结束了实验还没做完,如果你第5周和第6周都满勤,可以在第6周签离时向助教申请晚交一周同时不扣分。)希望对流水线和verilog不熟悉的同学可以积极参与实验课,届时有问题多问问助教,助教可以一对一讲解或者统一指导。
  • 签到记录不以其他方式影响成绩

助教统一讲解

  • 每周实验课的开始时间,助教准点(14:30或18:30)开始本周实验指导下周实验内容简单介绍
  • 每次讲解5-45分钟

实验发布、验收和报告

  • 2019.3.17 Release Lab1
    请提交CPU设计报告 截止日期:2019.3.31
    邮箱地址:[email protected]
  • 2019.3.17 Release Lab2
    阶段一课堂验收 截止日期:2019.4.13
    阶段二课堂验收 截止日期:2019.4.20
    阶段三课堂验收 截止日期:2019.4.27
    请提交实验2的实验报告 截止日期:2019.5.4
    邮箱地址:[email protected]
    提交格式:Lab2-学号-姓名.rar(or .zip) 要求包括一份pdf格式实验报告和用到的源代码集合的文件夹
  • 2019.5.4 Release Lab3
    阶段一和阶段二课堂验收 截止日期:2019.5.18
    请提交实验3的实验报告 截止日期:2019.5.26
    邮箱地址:[email protected]
    提交格式:Lab3-学号-姓名-n.rar(or .zip) 要求包括一份pdf格式实验报告和用到的源代码集合的文件夹,n代表提交版本号,从0开始,以最大版本提交文件为准
  • 2019.5.19 Release Lab4
    阶段一和阶段二课堂验收 截止日期:2019.6.1
    请提交实验4的实验报告 截止日期:2019.6.8
    邮箱地址:[email protected]
    提交格式:Lab4-学号-姓名-n.rar(or .zip) 要求包括一份pdf格式实验报告和用到的源代码集合的文件夹,n代表提交版本号,从0开始,以最大版本提交文件为准
  • 2019.5.27 Release Lab5
    请提交实验5的实验报告 截止日期:2019.6.22
    邮箱地址:[email protected]
    提交格式:Lab5-学号-姓名-n.pdf 要求包括一份pdf格式实验报告,n代表提交版本号,从0开始,以最大版本提交文件为准

实验课安排

  • lab1助教答疑 (教室容量110人,无签到)
    2019.3.21下午(14:30-17:00 电三楼406)
    2019.3.23晚(18:30-21:00 电三楼406)

  • lab1答案分析+Lab2预先讲解(讲解大约20分钟)(教室容量110人,有签到
    2019.3.28下午(14:30-17:00 电三楼406)
    2019.3.30晚(18:30-21:00 电三楼406)

  • lab2阶段一课堂验收时间(教室容量110人,有签到
    2019.4.11下午(14:30-17:00 电三楼406)
    2019.4.13晚(18:30-21:00 电三楼406)

  • lab2阶段二课堂验收时间(教室容量110人,有签到
    2019.4.18下午(14:30-17:00 电三楼406)
    2019.4.20晚(18:30-21:00 电三楼406)

  • lab2阶段三课堂验收时间(教室容量110人,有签到
    2019.4.25下午(14:30-17:00 电三楼406)
    2019.4.27晚(18:30-21:00 电三楼406)

  • lab3验收时间1(教室容量110人,有签到
    2019.5.9下午(14:30-17:00 电三楼406)
    2019.5.11晚(18:30-21:00 电三楼406)

  • lab3验收时间2(教室容量110人,有签到
    2019.5.16下午(14:30-17:00 电三楼406)
    2019.5.18晚(18:30-21:00 电三楼406)

  • lab4验收时间1(教室容量110人,有签到
    2019.5.23下午(14:30-17:00 电三楼406)
    2019.5.25晚(18:30-21:00 电三楼406)

  • lab4验收时间2(教室容量110人,有签到
    2019.5.30下午(14:30-17:00 电三楼406)
    2019.6.1晚(18:30-21:00 电三楼406)

  • lab4补交时间(教室容量110人,木有签到,最后一次啦,恭喜大家实验结束了辛苦啦完结撒花~
    2019.6.6下午(14:30-17:00 电三楼406)
    2019.6.8晚(18:30-21:00 电三楼406)

    注意,端午假期内的实验课时将取消,同时不会补设实验课

文件夹目录

1_VerilogSourceCode Verilog源代码

1_CPUCore_src CPU CPU core的verilog代码
2_Simulation 仿真用testBench代码

2_BRAMInputFileGenerator 脚本文件,利用汇编文件生成对应的16进制指令流文件

3_CacheLab Lab3所需的verilog代码和单元测试文件,详情见文件夹readme

4_ProjectDesignFiles 包含CPU的流水线模块设计图
5_DetailDocuments 包含每次实验的具体实验要求

6_branch_prediction 包含Lab4所需要的代码

Quickstart

  • 新实验发布时会在群里面统一公告。
  • 动手做新实验时,请先进入5_DetailDocuments目录下,查找本次实验对应的文档,并根据文档完成实验和试验报告。

Change Log

  • 2019.3.31 因为清明假期Lab2延后一周
  • 完善2_BRAMInputFileGenerator脚本文件,调用Utils文件夹中编译好的Ubuntu64bit的riscv工具链,makefile将不需要用户自己安装riscv-tools;同时删除多余的.S文件
  • 1_VerilogSourceCode/2_Simulation/中增加利用2_BRAMInputFileGenerator处理好的testAll测试二进制文件(.inst 和 .data)以及对应的反汇编代码(.txt)
  • 2019.5.1 五一假期Lab3延后一周
  • 微调后续实验内容安排。因为FPGA开发板的缺少,同时进一步提高和体系结构课程内容的相关度,原定烧写实验取消
  • 2019.5.4 release Lab3代码和Lab3实验要求,代码见新增3_CacheLab文件夹,实验要求见更新后的5_DetailedDoucuents
  • 2019.5.19 release Lab4代码和Lab4实验要求,代码见新增6_branch_prediction文件夹,实验要求见更新后的5_DetailedDoucuents
  • 2019.5.27 release Lab5实验要求5_DetailedDoucuents/Lab5-多Cache一致性与Tomasulo模拟器使用.docx),需要用到的软件模拟器请自行获取

致谢

现在是2019年夏季学期学期初,体系结构课程实验刚刚开始了它的升级换代。
嵌入式系统实验室研一的同学们(部分也是体系结构课程的助教)正在努力地设计实验和提供资料。不过由于时间和能力有限,试验过程中可能存在一些问题,希望大家多多体谅,也欢迎大家在群里或者issue中提出宝贵的意见。
感谢ESLAB的同学们为本实验付出的努力,也感谢每一位参与实验的本科生的理解与支持。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].