Files
vivado_pub/common/truncate_manual.v
T

44 lines
829 B
Verilog

`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 04/21/2023 11:37:14 AM
// Design Name:
// Module Name: truncate_manual
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module truncate_manual
#(
DATA_I_WIDTH = 30,
DATA_O_WIDTH = 12
)
(
input clk,
input rst,
input [DATA_I_WIDTH-1 : 0] data_in,
input data_in_valid,
input [$clog2(DATA_I_WIDTH)-1 : 0] trunc_pos,
output [DATA_O_WIDTH-1 : 0] data_out,
output data_out_valid
);
assign data_out = data_in[trunc_pos -: DATA_O_WIDTH];
endmodule