第1关:位运算和逻辑运算
任务描述
本关任务:采用硬件描述语言对输入信号a和b进行按位或(out_or_bitwise)和逻辑或(out_or_logical)运算。此外,再将a和b按位取反,其中a取反后的结果作为out_not的低半部分,b取反后的结果作为out_not的高半部分。
知识点
为了完成本关任务,需要掌握的知识点如下:
位运算
信号按位进行逻辑运算,包括、&、|、^、&、|和^,除~外,其它都是双目运算。
当两个位数不同操作数进行位运算时,位数少的操作数零扩展到相同位数。
逻辑运算
逻辑运算包括!(逻辑非)、&&(逻辑与)和||(逻辑或)。其中,!为单目运算,而&&和||为双目运算。
逻辑运算只对逻辑值进行运算,其结果为1位:“1”代表逻辑真,“0”代表逻辑假。对于向量类型信号,则将信号的取值作为整体看待,对于非零值作为逻辑真处理,对每位均为0的数作为逻辑假处理。
对于标量信号,按位运算和逻辑运算的结果相同。但对于向量信号,两者的结果则不相同。