差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
|
digital_logic_tutorial [2022/03/21 08:44] gongyu [1 我们身处数字逻辑的世界] |
digital_logic_tutorial [2022/03/21 10:36] (当前版本) gongyu [4 组合逻辑及电路实现] |
||
|---|---|---|---|
| 行 3: | 行 3: | ||
| ### 1 我们身处数字逻辑的世界 | ### 1 我们身处数字逻辑的世界 | ||
| - [[why2learndigitalcircuits|我们身处的“数字逻辑”世界]] | - [[why2learndigitalcircuits|我们身处的“数字逻辑”世界]] | ||
| - | - 数制及编码 | + | - 数字逻辑世界的信息表征 - 数制及编码 |
| * 学习要点: | * 学习要点: | ||
| * 了解数制、[[code_system|码制]]的基本概念; | * 了解数制、[[code_system|码制]]的基本概念; | ||
| * 掌握常用数制(二进制、八进制、十进制、十六进制)及其转换方法; | * 掌握常用数制(二进制、八进制、十进制、十六进制)及其转换方法; | ||
| * 了解常用的二进制码(自然二进制码、循环码、奇偶校验码)及BCD码(8421BCD码、5421BCD码、余3BCD码) | * 了解常用的二进制码(自然二进制码、循环码、奇偶校验码)及BCD码(8421BCD码、5421BCD码、余3BCD码) | ||
| - | |||
| * 内容: | * 内容: | ||
| - [[how2digital|认知世界从识数开始]] | - [[how2digital|认知世界从识数开始]] | ||
| 行 18: | 行 17: | ||
| - [[https://www.electronicshub.org/octal-number-system/|8进制系统]] | - [[https://www.electronicshub.org/octal-number-system/|8进制系统]] | ||
| - [[https://www.electronicshub.org/error-correction-and-detection-codes/|纠错和检测代码]] | - [[https://www.electronicshub.org/error-correction-and-detection-codes/|纠错和检测代码]] | ||
| - | - [[learn2usefpga|如何使用FPGA]] | ||
| - | - [[led|与LED相关的项目]] | ||
| - | * 点亮LED - LED的控制及开关、按键的使用 | ||
| - | * [[leds_on_stepboard|小脚丫FPGA板上的led及控制资源]] | ||
| - | * [[[one_led_on|点亮一颗LED]] | ||
| - | * [[multi_leds_on|点亮多颗LED]] | ||
| - | * [[leds_on_sw|用开关、按键控制多颗LED]] | ||
| - | * [[rgb_led_on_sw|用开关控制三色灯]] | ||
| - | * [[led_comblogic|用LED体会组合逻辑]] - 通过不同按键的输入控制不同LED的输出来体会组合逻辑的基本构成 | ||
| - | * [[7-seg_disp_verilog|7段数码管显示控制]] - 7段数码管的显示控制原理及支持的组合逻辑功能 | ||
| - | * [[hb_led|心跳灯]] - 时序逻辑、计数器 | ||
| - | * [[waterfall_led|流水灯]] - 时序逻辑、计数器 | ||
| - | * [[breath_led|呼吸灯]] - PWM | ||
| - | * [[rgb_led|三色灯]] - PWM | ||
| - | * [[traffic_led_verilog|交通灯]] - 状态机 | ||
| - | * [[matrix_led|LED阵列]] - FPGA来控制8*8灯板显示字符和图案 | ||
| - | ### 2 逻辑代数及基本单元 | + | |
| + | ### 2 逻辑代数及基本数字电路单元 | ||
| 学习要点:: | 学习要点:: | ||
| 行 65: | 行 49: | ||
| - [[https://www.electronicshub.org/k-map-karnaugh-map/|卡诺图]] | - [[https://www.electronicshub.org/k-map-karnaugh-map/|卡诺图]] | ||
| - | ### 3 组合逻辑电路 | + | ### 3. HDL和FPGA |
| + | - [[learn2usefpga|如何使用FPGA]] | ||
| + | - [[led|与LED相关的项目]],在后面的学习中通过不同的案例来实现不同的LED功能 | ||
| + | * 点亮LED - LED的控制及开关、按键的使用 | ||
| + | * [[leds_on_stepboard|小脚丫FPGA板上的led及控制资源]] | ||
| + | * [[[one_led_on|点亮一颗LED]] | ||
| + | * [[multi_leds_on|点亮多颗LED]] | ||
| + | * [[leds_on_sw|用开关、按键控制多颗LED]] | ||
| + | * [[rgb_led_on_sw|用开关控制三色灯]] | ||
| + | * [[led_comblogic|用LED体会组合逻辑]] - 通过不同按键的输入控制不同LED的输出来体会组合逻辑的基本构成 | ||
| + | * [[7-seg_disp_verilog|7段数码管显示控制]] - 7段数码管的显示控制原理及支持的组合逻辑功能 | ||
| + | * [[hb_led|心跳灯]] - 时序逻辑、计数器 | ||
| + | * [[waterfall_led|流水灯]] - 时序逻辑、计数器 | ||
| + | * [[breath_led|呼吸灯]] - PWM | ||
| + | * [[rgb_led|三色灯]] - PWM | ||
| + | * [[traffic_led_verilog|交通灯]] - 状态机 | ||
| + | * [[matrix_led|LED阵列]] - FPGA来控制8*8灯板显示字符和图案 | ||
| + | |||
| + | ### 4 组合逻辑及电路实现 | ||
| 知识要点: | 知识要点: | ||
| * 掌握SSI组合电路的分析方法及双轨输入条件下的设计方法 | * 掌握SSI组合电路的分析方法及双轨输入条件下的设计方法 | ||
| 行 117: | 行 119: | ||
| * 组合逻辑的时序分析 | * 组合逻辑的时序分析 | ||
| * [[https://www.electronicshub.org/introduction-to-combinational-logic-circuits/|组合逻辑电路介绍]] | * [[https://www.electronicshub.org/introduction-to-combinational-logic-circuits/|组合逻辑电路介绍]] | ||
| + | * 项目 - 按键控制的7段数码管显示 | ||
| - | + | ### 5. 时序逻辑及电路实现 | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | ### 5. 时序逻辑电路 | + | |
| - 时序逻辑介绍 | - 时序逻辑介绍 | ||
| - 时序逻辑电路概述 | - 时序逻辑电路概述 | ||
| 行 142: | 行 139: | ||
| - [[https://www.electronicshub.org/flip-flop-conversions/|触发器转换]] | - [[https://www.electronicshub.org/flip-flop-conversions/|触发器转换]] | ||
| - [[https://www.electronicshub.org/flip-flop-applications/|触发器应用]] | - [[https://www.electronicshub.org/flip-flop-applications/|触发器应用]] | ||
| + | |||
| + | ### 6. 脉冲产生、定时、计数 | ||
| + | * 脉冲/时钟产生 | ||
| + | * LC震荡 | ||
| + | * 555定时器 | ||
| + | * 晶体/晶振 | ||
| + | * 计数器/定时器 | ||
| + | * 分频器 | ||
| + | * 2分频 | ||
| + | * 奇数分频 | ||
| + | * 任意频率 | ||
| + | * 项目 - 用12MHz时钟产生一个可调频率( - 100KHz)、可调占空比(精度为1%)的PWM信号 | ||
| + | * 参考资料 | ||
| + | * [[https://www.electronicshub.org/introduction-to-counters/|Introduction to Digital Counters]] | ||
| + | * [[https://www.electronicshub.org/synchronous-counter/|Synchronous Counters]] | ||
| + | * [[https://www.electronicshub.org/asynchronous-counter/|Asynchronous counters or Ripple counters]] | ||
| + | * [[https://www.electronicshub.org/decade-counterbcd-counter/|BCD or Decade Counter]] | ||
| + | * [[https://www.electronicshub.org/ring-counters-johnson-ring-counter/|Johnson Ring counter]] | ||
| + | * [[https://www.electronicshub.org/ic-4017-decade-counter/|4017 Decade Counter and LED Sequencer]] | ||
| + | |||
| + | ### 7. 状态机和控制 | ||
| + | ### 8. 总线 | ||
| + | * 为什么要总线? | ||
| + | * 并行总线 | ||
| + | * 优点/局限 | ||
| + | * 8位/16位/32位 | ||
| + | * 串行总线 | ||
| + | * 优点/局限 | ||
| + | * 同步/异步、单工/双工 | ||
| + | * 常用总线 | ||
| + | * SPI | ||
| + | * I2C | ||
| + | * UART | ||
| + | * 项目 - 编写同PC通信的UART逻辑 | ||
| - | ### 6. 计数器 | + | ### 8. 存储器的应用 |
| - | * [[https://www.electronicshub.org/introduction-to-counters/|Introduction to Digital Counters]] | + | * 概述 |
| - | * [[https://www.electronicshub.org/synchronous-counter/|Synchronous Counters]] | + | * ROM |
| - | * [[https://www.electronicshub.org/asynchronous-counter/|Asynchronous counters or Ripple counters]] | + | * RAM |
| - | * [[https://www.electronicshub.org/decade-counterbcd-counter/|BCD or Decade Counter]] | + | * 双端口RAM |
| - | * [[https://www.electronicshub.org/ring-counters-johnson-ring-counter/|Johnson Ring counter]] | + | * FIFO |
| - | * [[https://www.electronicshub.org/ic-4017-decade-counter/|4017 Decade Counter and LED Sequencer]] | + | * 项目 - 制作一个简单的高速逻辑分析仪,通过UART来显示在电脑屏幕上 |
| + | ### 9. 数字逻辑和模拟世界的连接 | ||
| + | * 概述 | ||
| + | * 参考基准 | ||
| + | * 量化精度 | ||
| + | * 转换速率 | ||
| + | * DAC | ||
| + | * 并行 | ||
| + | * 权电阻 | ||
| + | * R-2R | ||
| + | * 串行 - PWM | ||
| + | * 项目 - 结合PWM+权电阻实现一个高精度/高频率DAC | ||
| + | * ADC | ||
| + | * 并行 | ||
| + | * 串行 - Sigma Delta | ||
| + | * 项目 - 利用比较器+PWM实现ADC功能 | ||
| ## 数字系统设计部分 | ## 数字系统设计部分 | ||
| - | ### 7. 运算方法和运算部件 | + | ### 10. 运算方法和运算部件 |
| * 基本运算部件 | * 基本运算部件 | ||
| * 定点数运算 | * 定点数运算 | ||
| 行 162: | 行 208: | ||
| * FPGA功能块 | * FPGA功能块 | ||
| - | ### 8. 指令系统 | + | ### 11. 指令系统 |
| 在机器语言程序所运行的计算机硬件和上层软件之间的一座桥梁,是软件和硬件之间接口的完整定义 | 在机器语言程序所运行的计算机硬件和上层软件之间的一座桥梁,是软件和硬件之间接口的完整定义 | ||
| * 指令系统概述 | * 指令系统概述 | ||
| 行 168: | 行 214: | ||
| * 指令系统实例 - RISC-V架构 | * 指令系统实例 - RISC-V架构 | ||
| - | ### 9. 中央处理器 | + | ### 12. 中央处理器 |
| * CPU概述 | * CPU概述 | ||
| * 单周期CPU设计 | * 单周期CPU设计 | ||
| 行 176: | 行 222: | ||
| * 高级流水线技术 | * 高级流水线技术 | ||
| - | ### 10. 存储器层次结构 | + | ### 13. 存储器层次结构 |
| * 存储器概述 | * 存储器概述 | ||
| * 主存储器的基本结构 | * 主存储器的基本结构 | ||
| 行 182: | 行 228: | ||
| * 虚拟存储器 | * 虚拟存储器 | ||
| - | ### 11. 系统互连与输入、输出 | + | ### 14. 系统互连与输入、输出 |
| * 外设与CPU和主存的互连 | * 外设与CPU和主存的互连 | ||
| * I/O接口和I/O端口 | * I/O接口和I/O端口 | ||
| * 输入、输出控制方式 | * 输入、输出控制方式 | ||
| * I/O子系统中的I/O软件 | * I/O子系统中的I/O软件 | ||
| - | * Introduction to Sensors and Transducers | + | * 传感器和换能器 |
| - | * Position sensors | + | * 位置感知 |
| - | * Temperature sensors | + | * 温度感知 |
| - | * Light sensors | + | * 光感知 |
| - | * InfraRed (IR) sensor (Obsatcle Detection sensor) | + | * 红外传感(障碍物检测) |
| - | * Touch sensor | + | * 触摸感知 |
| - | * Electromechanical Relay | + | * 继电器 |
| - | * Electromechanical Relay-1 | + | * 直流电机 |
| - | * Electromechanical Relay-2 | + | * 声音换能 |
| - | * DC motors | + | |
| - | * Sound Transducers | + | |
| ### 12. 控制与通信 | ### 12. 控制与通信 | ||
| 行 208: | 行 252: | ||
| #### 控制系统 | #### 控制系统 | ||
| - | * Open loop System or Non-feedback system | + | * 开环系统或无反馈系统 |
| - | * Closed loop systems or Feedback systems | + | * 闭环系统或反馈系统 |
| - | * Negative-feedback-system | + | * 负反馈系统 |
| - | * Electronic System | + | * 电子系统 |
| - | * Negative Feedback Circuits | + | * 负反馈电路 |
| #### 通信系统 | #### 通信系统 | ||