2016-04-28 94 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}};