【基带开发】AD9361 复乘 com_cmpy_a12_b12

IP核


tb_com

c 复制代码
module tb_com(

    );
    
    reg ad9361_l_clk,rst;   

initial begin
    ad9361_l_clk=0;
    forever #4.545 ad9361_l_clk=~ad9361_l_clk;
end
initial begin
    rst=1;
    #9.09 rst=0;
end
wire [63 : 0] m_fll_phase_shift_dout; // fll 输出 dout
// FLL Phase Shift
com_cmpy_a12_b12 FLL_Phase_Shift (
  .aclk(ad9361_l_clk),                              // input wire aclk
  .aresetn(~rst),                        // input wire aresetn
  .s_axis_a_tvalid(1'b1),        // input wire s_axis_a_tvalid
  .s_axis_a_tdata({4'd0,12'h400,4'd0,12'h400}),          // input wire [31 : 0] s_axis_a_tdata from data rate convert   Q0.11  [27:16] [11:0]
  .s_axis_b_tvalid(1'b1),        // input wire s_axis_b_tvalid 
  .s_axis_b_tdata({4'd0,12'h400,4'd0,12'h400}),          // input wire [31 : 0]  s_axis_b_tdata               Q0.11  [27:16] [11:0]
  .m_axis_dout_tvalid( ),  // output wire m_axis_dout_tvalid
  .m_axis_dout_tdata(m_fll_phase_shift_dout)    // output wire [63 : 0] m_axis_dout_tdata           Q2.22  [56:32] [24:0]
);

reg [24:0] dout_i,dout_q;
always @ (posedge ad9361_l_clk or posedge rst)
begin
    if(rst)
    begin
    dout_i <= 25'd0;
    dout_q <= 25'd0;
    end
    
    else
    begin
    dout_i <= m_fll_phase_shift_dout[24:0];
    dout_q <= m_fll_phase_shift_dout[56:32];
    end
end

endmodule
相关推荐
FPGA之旅2 小时前
FPGA从零到一实现FOC(一)之PWM模块设计
fpga开发·dubbo
XMAIPC_Robot3 小时前
基于ARM+FPGA的光栅尺精密位移加速度测试解决方案
arm开发·人工智能·fpga开发·自动化·边缘计算
cycf3 小时前
状态机的设计
fpga开发
liulilittle4 小时前
SNIProxy 轻量级匿名CDN代理架构与实现
开发语言·网络·c++·网关·架构·cdn·通信
szxinmai主板定制专家6 小时前
【精密测量】基于ARM+FPGA的多路光栅信号采集方案
服务器·arm开发·人工智能·嵌入式硬件·fpga开发
千宇宙航13 小时前
闲庭信步使用SV搭建图像测试平台:第三十二课——系列结篇语
fpga开发
千宇宙航18 小时前
闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
图像处理·人工智能·深度学习·神经网络·计算机视觉·fpga开发
liulilittle1 天前
深度剖析:OPENPPP2 libtcpip 实现原理与架构设计
开发语言·网络·c++·tcp/ip·智能路由器·tcp·通信
小眼睛FPGA1 天前
【RK3568+PG2L50H开发板实验例程】FPGA部分/紫光同创 IP core 的使用及添加
科技·嵌入式硬件·ai·fpga开发·gpu算力
forgeda1 天前
如何将FPGA设计验证效率提升1000倍以上(2)
fpga开发·前沿技术·在线调试·硬件断点·时钟断点·事件断点