blob: 9564e49370ff98358d5ce92b82e6d27a3ac83daa [file] [log] [blame]
`default_nettype none
`timescale 1 ns / 10 ps
/*
*-------------------------------------------------------------
*
* decoder
*
* Used to transform a 32 bit target into a 256 bit target using math magic.
*
*
*-------------------------------------------------------------
*/
module decoder #(input logic [31:0] target,
output logic [255:0] fullTarget);
logic [3:0] sizeTens;
logic [3:0] sizeOnes;
sizeTens<=target[31:28];
sizeOnes<=target[27:24];
//IDK if this is legal
integer spacing = sizeTens*16+sizeOnes;
integer leftBuffer = 32-spacing;
//Todo figure out how to set all these values to 0
fullTarget[255:255-leftBuffer] = 0;
//Todo figure out how to set all these values to target[23:0]
fullTarget[255-leftBuffer-1:255-leftBuffer-25] = target[23:0];
fullTarget[255-leftBuffer-26:0]=0;
endmodule