The Elements of Computing Systems阅读笔记(2)

昨天忙了点别的事情,今天发两篇补上昨天的。模拟电路笔记也会更新的。
接上上一篇讲的布尔逻辑运算,今天这篇博客要引入一个新名词:“门”。
“与”门
上面的就是与门(左边的两个O就是输入端口,右边的O就是输出端口,只有两个输入端口都是输入1右边的输出端口才会输出1),只是一个例子。通常的“门”指的就是类似上面这种“器件”,能够输入n个布尔值(上面的例子就是2个),输出m个布尔值(上面的例子就是1个)。多于2个的输入是可以的,例如下面这个“与门”,就有3个输入。
有3个输入的与门
上面的这个与门只有在3个输入都是1的时候才会在右边的输出输出1。
多个输出的门类似上面的那样,就懒得列举了。
其实上面的3个输入的与门可以被分解为2个与门的组合。
3输入与门的内部
类似的例子还有异或门,这种门是由一个或门和两个与门两个非门组成的(Or(And(a, Not(b)), And(Not(a), b))(也可以是其他组合,但是这个组合比较简洁,能用最简单的方法完成的事情就没有必要搞得太复杂)。
其实一开始的时候我们就开始用这种思路:把这些工具当成黑箱看待,只管输入和输出,不理它的内部结构。上面有3个输入的与门也类似这样,在把2个与门组合起来后,直接把这2个与门当成1个黑箱看待,并用这种”新“的工具来制作更复杂的玩意。

然后要引入的另一个名词就是HDL,硬件描述语言。因为直接拿着一堆铜丝、焊锡、各种门来搭个复杂的电路实在是太不优雅,所以现代的工程师们通常会用HDL来直接“画出”电路,然后再在电脑程序上仿真,出bug了再改改,直到符合预期了为止(输入输出满足需求为止)。然后才开始制作样品,进行测试,看看功耗怎么样,性能达不达标之类的。

HDL定义的芯片(这里的“芯片”与市场上常见的复杂芯片无关,主要指各种门搭起来的电路)包含了两个部分,header和parts部分。header定义了芯片的接口(interface,我理解成输入输出),包括芯片名称、输入接口和输出接口。parts部分描述了芯片内部的更低一层次的元件(例如更低层次的芯片或门),记录了这些元件名字和各个部分的连接状况。

HDL更详细的介绍会放在下一篇博客。

猜你喜欢

转载自blog.csdn.net/geek_of_csdn/article/details/78424436