数字电路基础实验

数字电路是"一生一芯"的前导课程, 我们列出了一些需要大家掌握的知识点, 大家不仅需要知道它们的概念, 还需要学会使用硬件描述语言来实现其中的电路模块.

  • 信息的二进制编码
  • 组合逻辑设计: 多路选择器, 译码器, 优先编码器, 加法器, 比较器
  • 时序逻辑设计: 时钟, D触发器, 计数器, SRAM和DRAM, 有限状态机, 时序分析

数字电路学习资料

Chisel学习资料

建议按照如下顺序学习:

  1. Chisel Bootcamp在新窗口中打开是一个很不错的chisel教程, 还支持在线运行chisel代码, 你可以一边编写chisel代码一边学习. 其中
    • 第1章是scala入门
    • 第2章是chisel基础
    • 第3章是scala高级特性和chisel的混合使用
    • 第4章是FIRRTL后端相关内容 你需要完成前两章的学习, 同时我们强烈建议你学习第3章. 第4章和本课程没有直接关系, 可以作为课外阅读材料.
  2. Chisel Users Guide在新窗口中打开比较系统地整理了chisel的特性, 也是不错的入门教程.
  3. Chisel小抄在新窗口中打开简明地列出了chisel语言的大部分用法.
  4. Chisel API在新窗口中打开详细地列出了chisel库的所有API供参考.

然后尝试使用Chisel来完成上述数字电路实验, 你只需要把编译出的verilog代码接入verilator和NVBoard就可以了.

verilog学习资料

我们需要培养的是硬件思维,需要头脑中先有电路再下手写代码,verilog的本质是硬件描述语言而不是硬件设计语言,大家可以看verilog入门视频在新窗口中打开语法简介在新窗口中打开进行入门.

vscode自动跳转插件

  • 如果选择chisel编程,推荐metals插件
  • 如果选择verilog编程,推荐digital ide插件

借助NVBoard完成数字电路实验

我们首先推荐南京大学的数字电路与计算机组成实验在新窗口中打开.

南京大学开展教学改革, 将"数字电路"与"计算机组成原理"两门课程进行融合, 其实验内容贯穿从数字电路基础到简单的处理器设计, 最近尝试加入程序运行时环境的相关内容, 与"一生一芯"的主线内容非常契合.

以下部分是必做题

  • 实验一 选择器
  • 实验二 译码器和编码器
  • 实验三 加法器与ALU
  • 实验六 移位寄存器及桶形移位器
  • 实验七 状态机及键盘输入

其他内容作为了解可以选做,在预学习部分不作规定。 有了NVBoard之后, 你就可以把它当作FPGA来使用, 用它来实现需要FPGA支持的实验内容.

最近更新时间:
贡献者: Zihao Yu