// ============================================================== // Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2019.2.1 (64-bit) // Copyright 1986-2019 Xilinx, Inc. All Rights Reserved. // ============================================================== `timescale 1ns/1ps module fw_binned_dlog_64ocq #(parameter ID = 25, NUM_STAGE = 7, din0_WIDTH = 64, din1_WIDTH = 64, dout_WIDTH = 64 )( input wire clk, input wire reset, input wire ce, input wire [din0_WIDTH-1:0] din0, input wire [din1_WIDTH-1:0] din1, output wire [dout_WIDTH-1:0] dout ); //------------------------Local signal------------------- wire aclk; wire aclken; wire a_tvalid; wire [63:0] a_tdata; wire r_tvalid; wire [63:0] r_tdata; reg [din1_WIDTH-1:0] din1_buf1; reg ce_r; wire [dout_WIDTH-1:0] dout_i; reg [dout_WIDTH-1:0] dout_r; //------------------------Instantiation------------------ fw_binned_ap_dlog_5_full_dsp_64 fw_binned_ap_dlog_5_full_dsp_64_u ( .aclk ( aclk ), .aclken ( aclken ), .s_axis_a_tvalid ( a_tvalid ), .s_axis_a_tdata ( a_tdata ), .m_axis_result_tvalid ( r_tvalid ), .m_axis_result_tdata ( r_tdata ) ); //------------------------Body--------------------------- assign aclk = clk; assign aclken = ce_r; assign a_tvalid = 1'b1; assign a_tdata = din1_buf1; assign dout_i = r_tdata; always @(posedge clk) begin if (ce) begin din1_buf1 <= din1; end end always @ (posedge clk) begin ce_r <= ce; end always @ (posedge clk) begin if (ce_r) begin dout_r <= dout_i; end end assign dout = ce_r?dout_i:dout_r; endmodule