Vivado常用IP例化2
- 1 算数计算类
- 1.1 定点乘法
- 1.2 浮点乘法
- 2 专用算法类
- 2.1 XFFT
本文主要列举Vivado中一些常用IP的例化。
1 算数计算类
1.1 定点乘法
mult mult_i(.CLK(clk),.A (xq_real),.B (wq_real),.P (dout0)
);
1.2 浮点乘法
mult mult_i(.aclk (clk),.s_axis_a_tvalid (enable),.s_axis_a_tdata (xq_real),.s_axis_b_tvalid (enable),.s_axis_b_tdata (wq_real),.m_axis_result_tvalid(enable_d[0]),.m_axis_result_tdata (xq_w_real0)
);
2 专用算法类
2.1 XFFT
wire s_axis_config_tready; //FFT核配置信号
wire s_axis_config_tvalid;
//wire [7:0] s_axis_config_tdata ; //单通道8点
wire [15:0] s_axis_config_tdata ; //单通道64点wire s_axis_data_tready; //FFT核输入信号
reg s_axis_data_tvalid;
reg [WIDTH*2*CNUM-1:0] s_axis_data_tdata ;
reg s_axis_data_tlast;wire m_axis_data_tready; //FFT核输出信号
wire m_axis_data_tvalid;
wire [WIDTH*2*CNUM-1:0] m_axis_data_tdata ;
wire [15:0] m_axis_data_tuser ;
wire m_axis_data_tlast;wire m_axis_status_tready; //FFT核状态信号
wire m_axis_status_tvalid;
wire [7:0] m_axis_status_tdata ;wire event_frame_started; //FFT核事件信号
wire event_tlast_unexpected;
wire event_tlast_missing;
wire event_fft_overflow;
wire event_status_channel_halt;
wire event_data_in_channel_halt;
wire event_data_out_channel_halt;xfft xfft_i (.aclk (clk), .aresetn (rstn),.s_axis_config_tready (s_axis_config_tready),.s_axis_config_tvalid (s_axis_config_tvalid), .s_axis_config_tdata (s_axis_config_tdata), .s_axis_data_tready (s_axis_tready), .s_axis_data_tvalid (s_axis_tvalid), .s_axis_data_tdata (s_axis_tdata), .s_axis_data_tlast (s_axis_tlast), .m_axis_data_tready (m_axis_tready), .m_axis_data_tvalid (m_axis_tvalid), .m_axis_data_tdata (m_axis_tdata), .m_axis_data_tuser (m_axis_tuser), .m_axis_data_tlast (m_axis_tlast), .m_axis_status_tready (m_axis_status_tready), .m_axis_status_tvalid (m_axis_status_tvalid), .m_axis_status_tdata (m_axis_status_tdata), .event_frame_started (event_frame_started), .event_tlast_unexpected (event_tlast_unexpected), .event_tlast_missing (event_tlast_missing), .event_fft_overflow (event_fft_overflow), .event_status_channel_halt (event_status_channel_halt), .event_data_in_channel_halt (event_data_in_channel_halt), .event_data_out_channel_halt(event_data_out_channel_halt)
);