简单CPU设计实践

博客参考:简单CPU设计实践 - Lianera

感谢每一位无私分享知识的笔者。

一、基础

基本逻辑门

(严格意义上,只有不可分割的与、或、非门是基本逻辑门)

AND(与)、OR(或)、NOT(非)、NAND(与非)、NOR(或非)、XOR(异或)、XNOR(同或)

基本逻辑门

以上门电路真值表可查阅:常见七种逻辑门真值表 - Star、H

组合逻辑电路分析设计方法

分三步,需求分析->方案设计->电路实现

第一步:需求分析->真值表

A B C F
0 0 0 0
0 0 1 0
0 1 0 0
1 0 0 0
0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 1

需要列举出所有可能(2^N行,N是输入参数个数),其中ABC是输入,F是输出

第二步:化简逻辑->卡诺图

卡诺图是用来化简表达式的工具

  1. 把真值表中F=1的项标在卡诺图里
  2. 圈出最大的相邻1的矩形(2×2、1×4等)
  3. 写出化简后的表达式

比如上边真值表的例子,化简出来的表达式是:
F = AB + AC + BC

这就好像是有一个仅有三道题的考试(ABC),任意写对两道题,最后的结果就是通过考试

第三步:电路实现->表达式变电路

现在把表达式变成电路,还是上面的例子,AB + AC + BC,这个表达式怎么处理?

实际上这里的关系很清晰简单,只有AND和OR

第一层:用AND门做AB、AC和BC
第二层:用OR门把三个AND结果合并

编码器

高低电平信号向二进制数的转换

普通编码器:任何时刻只允许有一个信号输入
优先编码器:允许同时输入两个以上的编码信号,只对其中优先权最高的一个进行编码

博客资料:自上而下理解优先编码器

译码器

二进制数向高低电平信号的转换

数据选择器

比较器

加法器

三态门

基本触发器

锁存器

寄存器

移位寄存器

计数器