煉獄傳奇-縮減運算符之戰
縮減運算符是單目運算符,也有與或非運算。其與或非運算規則類(lèi)似于位運算符的與或非運算規則,但其運算過(guò)程不同。位運算是對操作數的相應位進(jìn)行與或非運算,操作數是幾位數則運算結果也是幾位數。而縮減運算則不同,縮減運算是對單個(gè)操作數進(jìn)行與或非遞推運算,最后的運算結果是一位的二進(jìn)制數??s減運算的具體運算過(guò)程是這樣的:第一步先將操作數的第一位與第二位進(jìn)行與或非運算,第二步將運算結果與第三位進(jìn)行與或非運算,依次類(lèi)推,直到最后一位。例如:
本文引用地址:http://dyxdggzs.com/article/201610/308330.htmreg[3:0]B;
reg C;
C=B;
相當于
C=((B[0]B[1])B[2])B[3];
下面我們編寫(xiě)一個(gè)實(shí)例,通過(guò)仿真波形來(lái)驗證運算結果是否如我們所說(shuō)??删C合模塊如下:

編寫(xiě)測試代碼如下:

仿真波形如下:

通過(guò)該波形可以看出,當變量B的四個(gè)位全部為高時(shí),由于是“邏輯與”的運算,所以最終輸出的變量C為高電平。
那么如果我們在變量B中加入一個(gè)零,結果會(huì )如何呢?我們仿真如下:

可以看到,如果變量B中存在零,那么輸出結果由于“邏輯與”會(huì )得到低電平。
評論