还有这样的verilog语句
时间:10-02
整理:3721RD
点击:
大家帮忙看看,
RxD_sync_inv[1] && RxD_cnt_inv!=2'b11
问题:前面是逻辑与,后面是11,所以永远不会相等的
RxD_sync_inv[1] && RxD_cnt_inv!=2'b11
问题:前面是逻辑与,后面是11,所以永远不会相等的
所以,与运算是不是有问题呢?
!= 不是逻辑相等吗?
RxD_sync_inv[1] && RxD_cnt_inv!=2'b11
等价于
(RxD_sync_inv[1] ==1'b1)&&( RxD_cnt_inv!=2'b11)
首先RxD_sync_inv[1] && RxD_cnt_inv!=2'b11
這個語句是合法的
其次,由於operator順序的關係
所以此句等同於 ( RxD_sync_inv[1]) && (RxD_cnt_inv!=2'b11)
而(RxD_cnt_inv!=2'b11)這個判斷的輸出只有0或1或X
當RxD_cnt_inv不疼於2'b11時即輸出1
而( RxD_sync_inv[1]) 則是拿RxD_sync_inv的第1個bit來做動作
因此整句的意思當RxD_sync_inv的第1個bit為1,並且RxD_cnt_inv不等於2'b11時
這個&&運算後的結果即為1
4楼正解,这个是允许的
(RxD_sync_inv[1]) &&( RxD_cnt_inv!=2'b11)
