FPGA知识点随记

1.verilog中符号变量的定义
reg [31:0]speed; //无符号的32位数: 0~65536
reg signed [31:0]speed; //有符号的32位变量
首位若是1则代表负数,0则为正数。
负数的算法是二进制补码(按位取反再加一)
举一个简单的例子
reg [3:0]speed; //大小:0000到1111 (0到15)
reg signed [3:0]speed //大小:1000到0111(-8到7)
2.移位运算符的使用
>>,<<表示右移左移,用0补
>>>表示算数右移,前提必须是有符号类型
如果不是有符号的类型,可以使用强制转换($signed(variable))

你可能感兴趣的