Point Sampling Tex Unit Update
This commit is contained in:
@@ -2,11 +2,39 @@
|
||||
`include "VX_define.vh"
|
||||
|
||||
module VX_tex_pt_addr #(
|
||||
|
||||
parameter FRAC_BITS = 20,
|
||||
parameter INT_BITS = 32 - FRAC_BITS
|
||||
) (
|
||||
input wire clk,
|
||||
input wire reset,
|
||||
|
||||
);
|
||||
input wire valid_in,
|
||||
output wire ready_out,
|
||||
|
||||
input wire [`CSR_WIDTH-1:0] tex_addr,
|
||||
input wire [`CSR_WIDTH-1:0] tex_width,
|
||||
input wire [`CSR_WIDTH-1:0] tex_height,
|
||||
|
||||
input wire [31:0] tex_u,
|
||||
input wire [31:0] tex_v,
|
||||
|
||||
output wire [31:0] pt_addr,
|
||||
|
||||
output wire valid_out,
|
||||
input wire ready_in
|
||||
);
|
||||
|
||||
`UNUSED_VAR (clk)
|
||||
`UNUSED_VAR (reset)
|
||||
|
||||
reg [31:0] x_offset;
|
||||
reg [31:0] y_offset;
|
||||
|
||||
assign x_offset = tex_u >> (32'(FRAC_BITS) - tex_width);
|
||||
assign y_offset = tex_v >> (32'(FRAC_BITS) - tex_height);
|
||||
assign pt_addr = (tex_addr << (32 - `CSR_WIDTH)) + x_offset + (y_offset << tex_width);
|
||||
|
||||
assign valid_out = valid_in;
|
||||
assign ready_out = ready_in;
|
||||
|
||||
// Need to fill in
|
||||
|
||||
endmodule
|
||||
Reference in New Issue
Block a user