自己的程序自己决定如何表示,可以补码,可以源码,通过最高位判断符号。同样的道理,parameters定义的数是不是符号数,就看它是不是符合你对符号数的定义了。
如果你8位数表示-2,可以这样表示
8'h10000010或者8'h11111110
这两种表示方法都可以,但是有一点需要注意,当运算的时候要保证运算结果也是这种形式,并且要正确。如果是第一种表示形式的话-2+(-2),结果仍然8位的话就错了,变成了+4,所以需要进行最高位补偿。但是用补码进行加减运算就不会出错,也不需要补偿,所以建议用第二种表示方法。
现在假设用第二种表示方法来表示有符号数了。那么如果你用parameter这么定义
补充一点:补码表示的时,乘法运算不能直接用"*"来运算,这时或者将补码表示为原码后乘法,然后再将结果转化为补码。或者直接设计一个补码乘法器,用它来完成补码的乘法。
parameter f=8'h11111110
则此时的f表示的便是-2,所以parameter定义的数是有符号数还是无符号数,看你如何表示。