verilog power运算符**结果大小

verilog power运算符**结果大小,verilog,system-verilog,Verilog,System Verilog,幂运算符**能否用于任意大的操作数 Ex: reg [100:0] c; reg [15:0] a; reg [15:0] b; c = a**b; 操作数大小是否有一些最大限制?没有提到任何操作数的最大大小 但是。。。不同的IDE在**运算符的使用方面可能有一些限制,例如,它仅在2**n或操作数长度受限的情况下工作。但是,模拟中不应有任何限制(例如,允许Riviera PRO模拟a**b操作,a和b长度等于150,无任何警告) 使用幂运算符进行合成时,

幂运算符**能否用于任意大的操作数

Ex:  
 reg [100:0] c;  
   reg [15:0] a;  
   reg [15:0] b;  
   c = a**b;  
操作数大小是否有一些最大限制?

没有提到任何操作数的最大大小

但是。。。不同的IDE在
**
运算符的使用方面可能有一些限制,例如,它仅在
2**n
或操作数长度受限的情况下工作。但是,模拟中不应有任何限制(例如,允许Riviera PRO模拟
a**b
操作,a和b长度等于150,无任何警告)


使用幂运算符进行合成时,只要
a=2
,就可以进行合成。在这种情况下,power运算符只是“更改”为shifter。

power运算符“**”仅支持不超过“real”数据类型大小的结果。实数运算符的大小为8字节,这是eda供应商遵循的最常见限制。我认为
**
无论如何都不能合成。@Qiu,谢谢。对于纯测试台模拟,您认为**操作符应该有一些限制吗?@quartz:我不知道所有IDE,但我能够在Riviera PRO中模拟
a**b
,其中
a
b
长度等于151。@EugeneSh。据Sec称。IEEE标准1364.1-2002(E)中的7.3.1.5只要两个操作数都是常量或第一个操作数为2,
**
运算符是可合成的。