Xilinx整数的处理计算方法
Xilinx整数的处理计算方法
- 1 负数的处理
- 2 整数的乘法
本文主要介绍在Xilinx FPGA芯片如何对整数进行预处理和计算。
1 负数的处理
在FPGA芯片中,负数是采用补码的方式进行存储,补码的计算方法是逐位取反,然后加1。例如用4位2进制数去表示整数-4,首先4的二进制数为4‘b0100,逐位取反为4’b1011,加1之后为4‘b1100,表示为整型的数为12。所以另一种计算补码的方法为当原数据为负数时,其补码=原数据+2位宽,即“-4+24=12”。而将补码恢复为原码则是其逆运算,当数据大于2位宽-1,则原数据=数据-24。
- Python代码
import numpy as np
n = 4 #数据个数
w = 4 #数据位宽
data = [2,3,-4,-5]
print('data: ',data,'\n')
# 负数转补码
din_seg = np.zeros(n,int)
din_bin = np.zeros(n,object)
din_bin1 = np.zeros(n,object)
din_bin2 = np.zeros(n,object)
for i in range(n):
if (data[i] < 0):
din_seg[i] &#