煉獄傳奇-縮減運(yùn)算符之戰(zhàn)
縮減運(yùn)算符是單目運(yùn)算符,也有與或非運(yùn)算。其與或非運(yùn)算規(guī)則類似于位運(yùn)算符的與或非運(yùn)算規(guī)則,但其運(yùn)算過程不同。位運(yùn)算是對(duì)操作數(shù)的相應(yīng)位進(jìn)行與或非運(yùn)算,操作數(shù)是幾位數(shù)則運(yùn)算結(jié)果也是幾位數(shù)。而縮減運(yùn)算則不同,縮減運(yùn)算是對(duì)單個(gè)操作數(shù)進(jìn)行與或非遞推運(yùn)算,最后的運(yùn)算結(jié)果是一位的二進(jìn)制數(shù)??s減運(yùn)算的具體運(yùn)算過程是這樣的:第一步先將操作數(shù)的第一位與第二位進(jìn)行與或非運(yùn)算,第二步將運(yùn)算結(jié)果與第三位進(jìn)行與或非運(yùn)算,依次類推,直到最后一位。例如:
本文引用地址:http://2s4d.com/article/201610/308330.htmreg[3:0]B;
reg C;
C=B;
相當(dāng)于
C=((B[0]B[1])B[2])B[3];
下面我們編寫一個(gè)實(shí)例,通過仿真波形來驗(yàn)證運(yùn)算結(jié)果是否如我們所說。可綜合模塊如下:
編寫測試代碼如下:
仿真波形如下:
通過該波形可以看出,當(dāng)變量B的四個(gè)位全部為高時(shí),由于是“邏輯與”的運(yùn)算,所以最終輸出的變量C為高電平。
那么如果我們?cè)谧兞緽中加入一個(gè)零,結(jié)果會(huì)如何呢?我們仿真如下:
可以看到,如果變量B中存在零,那么輸出結(jié)果由于“邏輯與”會(huì)得到低電平。
評(píng)論