逻辑设计和硬件控制语言HCL
逻辑设计
逻辑门:数字电路的基本计算元素,物理结构与逻辑结构的映射,实质是晶体管。输出是输入的布尔函数。
一个逻辑门计算一位
组合电路需要遵循的原则
- 两个逻辑门的输出不能连到一起。
- 组合的电路必须是无环的。输出不能再当输入
HCL表达式与C表达式区分
- 逻辑门是持续输出的,但C语言表达式是执行到的时候才会求值。这个区别可以把逻辑门当成一个电路来看,电路是不能断电的,电流会一直存在。
- C语言中输出可以是任意整数,而HCL只能是1和0。这点比较好理解。
- 对于a && b这个符号来说,C语言中的规定是如果前者为假,则后者不会再计算。而HCL当中没有这种说法。
按位计算
位相等:
位多路复用器:
多位运算就是多个一位一起运算
32位看是否相等:
s的not被多次用到,否则需要32个not门。
HCL条件选择表达式的条件不需要互斥,按照优先顺序依次选取
集合形式的HCL表达式,需要一个输入信号与某些值匹配
储存器和时钟
储存器一般两种:
- 时钟寄存器。储存单个位或单个字,时钟信号控制是否加载输入的值
- 随机访问储存器。储存多个字,地址来选择
寄存器文件和随即访问储存器有读写操作,时钟寄存器没有读写。
寄存器文件两个读端口,一个写端口,端口都带地址标识操作寄存器。
随即访问储存器只有一个地址输入和一个数据输出