2016-04-28 92 views
0
logic msb 
logic [<parametrized bit width>-1:0]long_signal_name 

assign msb = long_signal_name[$bits(long_signal_name)-1]; 
//assign msb = long_signal_name[<parametrized bit width>-1]; 

我有這個多個實例,所以想檢查是否有一個比$bits或函數更容易的方法。

感謝

+1

解釋你想要什麼使用$ bits。並使用正確的語法。 –

+1

註釋掉的線有什麼問題?這是做這件事的標準方式。 – Morgan

回答

0

你可能想嘗試let結構或宏。

let MSB(sig) = sig[$left(sig)]; 
assign msb1 = MSB(long_signal_name1); 
assign msb2 = MSB(long_signal_name2); 

您也可以嘗試顛倒這些位,並希望編譯器將其優化爲簡單的表達式。

assign msb = {<<{long_signal_name}};