Xilinx-IP核 数学运算IP核
一、加减法-Adder/subtracter
1.1 功能介绍
- 加法、减法、动态加减切换
- 支持位宽依据具体芯片配置
- 可选进位in/out,以及溢出信号
- 流水线支持-加快速度,进位链优化-减少资源占用
- 支持有无符号位
1.2 设置界面
二、乘法器-Multiplier
2.1 功能介绍
- 有/无符号运算,有&无符号混合运算
- 支持位宽依据芯片资源配置
- 支持流水线控制、时钟使能、复位信号等
2.2 使用场景对比
2.3 设置界面
三、复数乘-Complex Multiplier
3.1 功能介绍
- 支持复数的乘法器
3.2 设置界面
四、坐标旋转-CORDIC(待学习)
4.1 功能介绍
- Rotate:将(x, y)按 θ 旋转后的值
- traslate:将二维坐标(x, y)转换为极坐标(r,θ)
- sin & cos:
- sinn & cosh
- arctan & arctanh
- square root
4.2设置界面
五、除法器-Divider
5.1 算法选择建议
5.2 设置界面
5.3 仿真
module divider_tb; // Declare signals reg aclk ;// Clock signal reg s_axis_divisor_tvalid ;// Valid signal for divisor reg [ 15: 0] s_axis_divisor_tdata ;// Divisor data reg s_axis_dividend_tvalid ;// Valid signal for dividend reg [ 15: 0] s_axis_dividend_tdata ;// Dividend data wire m_axis_dout_tvalid ;// Valid signal for the result wire [ 15: 0] quotient ;// Result data wire [ 15: 0] remainder ;// Result data // Instantiate the divider IP core div_gen_0 your_instance_name ( .aclk(aclk), // input wire aclk .s_axis_divisor_tvalid(s_axis_divisor_tvalid), // input wire s_axis_divisor_tvalid .s_axis_divisor_tdata(s_axis_divisor_tdata), // input wire [15 : 0] s_axis_divisor_tdata .s_axis_dividend_tvalid(s_axis_dividend_tvalid), // input wire s_axis_dividend_tvalid .s_axis_dividend_tdata(s_axis_dividend_tdata), // input wire [15 : 0] s_axis_dividend_tdata .m_axis_dout_tvalid(m_axis_dout_tvalid), // output wire m_axis_dout_tvalid .m_axis_dout_tdata({quotient,remainder}) // output wire [31 : 0] m_axis_dout_tdata ); initial begin aclk = 0; s_axis_divisor_tvalid = 'd1; s_axis_dividend_tvalid = 'd1; s_axis_divisor_tdata = 'd1; s_axis_dividend_tdata = 'd300; end always#5 aclk=~aclk; always @(posedge aclk ) begin s_axis_divisor_tdata <= s_axis_divisor_tdata + 'd1; s_axis_dividend_tdata <= s_axis_dividend_tdata + 'd1; end initial begin $monitor("At time %t: Dividend = %d, Divisor = %d, Result = %d, Valid = %b", $time, s_axis_dividend_tdata, s_axis_divisor_tdata, quotient, remainder); end endmodule
输出是32位,高16为商,低16位是余数(本例选的小数模式)
延时与软件自动模式下的延时一致