Coyote/examples_hw/apps/perf_local/hdl/perf_local.sv

40 lines
1020 B
Systemverilog

`timescale 1ns / 1ps
import lynxTypes::*;
`include "axi_macros.svh"
/**
* Perf local example
*
*/
module perf_local (
AXI4SR.s axis_sink,
AXI4SR.m axis_src,
input logic aclk,
input logic aresetn
);
// I/O
AXI4SR axis_sink_int ();
AXI4SR axis_src_int ();
axisr_reg inst_reg_sink (.aclk(aclk), .aresetn(aresetn), .s_axis(axis_sink), .m_axis(axis_sink_int));
axisr_reg inst_reg_src (.aclk(aclk), .aresetn(aresetn), .s_axis(axis_src_int), .m_axis(axis_src));
// UL
always_comb begin
axis_src_int.tvalid = axis_sink_int.tvalid;
for(int i = 0; i < 16; i++)
axis_src_int.tdata[i*32+:32] = axis_sink_int.tdata[i*32+:32] + 1;
axis_src_int.tkeep = axis_sink_int.tkeep;
axis_src_int.tid = axis_sink_int.tid;
axis_src_int.tlast = axis_sink_int.tlast;
axis_src_int.tid = 0;
axis_sink_int.tready = axis_src_int.tready;
end
endmodule