Vivado常用IP例化2
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)
);