首页 > 编程知识 正文

fpga浮点数乘法器,fpga小数乘法

时间:2023-05-05 02:48:12 阅读:254623 作者:3066

FPGA之复数乘法器的设计 1 IP核设计原理2 实现流程2.1IP 参数设置2.2 源文件 3 仿真结果

1 IP核设计原理

以下观点参考pg104文档得出
   根据pg104文档对于复数乘法的结果m_axis_dout_tdata的描述,如下图1.1所示。如果复数乘法器配置为具有 11 位的操作数宽度,那么数A的实部和A 的虚部的位宽都是11。
  复数乘法的结果的实部将占据m_axis_dout_tdata的位 10至 0,而第 15 位到 11 位将被忽略。
  复数乘法的结果的虚部将占据m_axis_dout_tdata的位 26至 16,而第 31位到 27位将被忽略。


  根据这样的推导,如果在IP核配置中,将AR/AI Operand width配置为16位,其余条件不变,如图1.2所示。打开该IP的coe文件,输出m_axis_dout_tdata的描述为.m_axis_dout_tdata(m_axis_dout_tdata) // output wire [79 : 0] m_axis_dout_tdata。可以看出,位宽为80位。由于输出数据的位宽为12位。所以,输出的实部取m_axis_dout_tdata的第11位到0位。输出的虚部取m_axis_dout_tdata的第51位到40位。
部分参数含义:
  (1)AR/AI Operand Width:选择第一个操作数宽度。 宽度适用于复数操作数的实部和虚部。
  (2)Multiplier Construction Options:允许选择使用 LUT(切片逻辑)来构建复数乘法器,或使用 DSP Slices。
  (3)Output Width:选择输出数据的实部和虚部的宽度。 这些值会自动初始化以提供全精度设置 A 和 B 操作数宽度时的乘积。复数的自然宽度乘法是输入宽度加一的总和(16*2+1)。如果输出宽度设置为小于这个自然宽度,最低有效位被截断或四舍五入,如由下一个 GUI 选择。


2 实现流程 2.1IP 参数设置



2.2 源文件 `timescale 1ns / 1psmodule my_Mult( input clk , input reset ); // I:real Q:imag // 乘数a wire [15:0] W_1I; wire [15:0] W_1Q; assign W_1I=16'h7ffe; //15位的有符号数,assign W_1Q=16'h0000;// 乘数b wire [15:0] R_array;//阵元i信号的实部、虚部wire [15:0] I_array;assign R_array=16'h7fff; //real 实部assign I_array=16'h0000;//imag 虚部// 复数乘法器 wire [79:0] Temp_out;wire Mult_valid; cpMult16x6 cpMult16x6_1_inst ( .aclk(clk), // input wire aclk .s_axis_a_tvalid(1'b1), // input wire s_axis_a_tvalid .s_axis_a_tdata({W_1Q, W_1I}), // input wire [31 : 0] s_axis_a_tdata .s_axis_b_tvalid(1'b1), // input wire s_axis_b_tvalid .s_axis_b_tdata({I_array, R_array}),// input wire [31 : 0] s_axis_b_tdata .m_axis_dout_tvalid(Mult_valid), // output wire m_axis_dout_tvalid .m_axis_dout_tdata(Temp_out) // output wire [79 : 0] m_axis_dout_tdata);wire [31:0] Ct_I;wire [31:0] Ct_Q; assign Ct_I = Temp_out[31:0];// 实部 为什么这样截位,见IP 的implementation detailsassign Ct_Q = Temp_out[71:40];// 虚部//assign Ct_I = Temp_out[31:16];// 实部 //assign Ct_Q = Temp_out[71:56];// 虚部 endmodule 3 仿真结果

javascript用函数式编程的原因是什么分布式存储是什么样的?浅谈 Unity

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。