【基带开发】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
相关推荐
海涛高软14 小时前
FPGA同步复位和异步复位
fpga开发
FakeOccupational1 天前
fpga系列 HDL:verilog 常见错误与注意事项 quartus13 bug 初始失效 reg *** = 1;
fpga开发·bug
zxfeng~1 天前
AG32 FPGA 的 Block RAM 资源:M9K 使用
fpga开发·ag32
whik11941 天前
FPGA 开发工作需求明确:关键要点与实践方法
fpga开发
whik11941 天前
FPGA开发中的团队协作:构建高效协同的关键路径
fpga开发
南棱笑笑生1 天前
20250117在Ubuntu20.04.6下使用灵思FPGA的刷机工具efinity刷机
fpga开发
我爱C编程1 天前
基于FPGA的BPSK+costas环实现,包含testbench,分析不同信噪比对costas环性能影响
fpga开发·verilog·锁相环·bpsk·costas环
移知2 天前
备战春招—数字IC、FPGA笔试题(2)
fpga开发·数字ic
楠了个难2 天前
以太网实战AD采集上传上位机——FPGA学习笔记27
笔记·学习·fpga开发
博览鸿蒙3 天前
FPGA工程师有哪些?(设计、验证与应用)
fpga开发