`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 |