Fork me on GitHub

CSAPP-12

逻辑设计和硬件控制语言HCL

逻辑设计

逻辑门:数字电路的基本计算元素,物理结构与逻辑结构的映射,实质是晶体管。输出是输入的布尔函数。

一个逻辑门计算一位

组合电路需要遵循的原则

  • 两个逻辑门的输出不能连到一起。
  • 组合的电路必须是无环的。输出不能再当输入

HCL表达式与C表达式区分

  • 逻辑门是持续输出的,但C语言表达式是执行到的时候才会求值。这个区别可以把逻辑门当成一个电路来看,电路是不能断电的,电流会一直存在。
  • C语言中输出可以是任意整数,而HCL只能是1和0。这点比较好理解。
  • 对于a && b这个符号来说,C语言中的规定是如果前者为假,则后者不会再计算。而HCL当中没有这种说法。

按位计算

位相等:

位多路复用器:

多位运算就是多个一位一起运算

32位看是否相等:

s的not被多次用到,否则需要32个not门。

HCL条件选择表达式的条件不需要互斥,按照优先顺序依次选取

集合形式的HCL表达式,需要一个输入信号与某些值匹配

储存器和时钟

储存器一般两种:

  1. 时钟寄存器。储存单个位或单个字,时钟信号控制是否加载输入的值
  2. 随机访问储存器。储存多个字,地址来选择

寄存器文件和随即访问储存器有读写操作,时钟寄存器没有读写。

寄存器文件两个读端口,一个写端口,端口都带地址标识操作寄存器。

随即访问储存器只有一个地址输入和一个数据输出

0%