reorder_data.v 1.31 KB
module reorder_data();

parameter OCTBYTE_SIZE = 512;

reg [63:0] reorder_memory[0:OCTBYTE_SIZE-1];
reg [7:0] byte_0;
reg [7:0] byte_1;
reg [7:0] byte_2;
reg [7:0] byte_3;
reg [7:0] byte_4;
reg [7:0] byte_5;
reg [7:0] byte_6;
reg [7:0] byte_7;

integer i, file1, file2;

initial begin
	for (i = 0; i < OCTBYTE_SIZE; i=i+1) reorder_memory[i] = 64'h0;
	$readmemh("rdram.DMEM", reorder_memory);
        
        file1 = $fopen("dmem_reordered.data");

	for (i = 0; i < OCTBYTE_SIZE; i=i+1) begin
		if (reorder_memory[i] !== 64'bx) begin
			{byte_7, byte_6, byte_5, byte_4, byte_3, byte_2, byte_1, byte_0} = 
			   reorder_memory[i];

			$fdisplay(file1,"@%h %h", i,
			   {1'b0, byte_0, 1'b0, byte_1, 1'b0, byte_2, 1'b0, byte_3,
			    1'b0, byte_4, 1'b0, byte_5, 1'b0, byte_6, 1'b0, byte_7});
			end
		end


	for (i = 0; i < OCTBYTE_SIZE; i=i+1) reorder_memory[i] = 64'h0;
	$readmemh("rdram.IMEM", reorder_memory);
        
        file2 = $fopen("imem_reordered.data");

	for (i = 0; i < OCTBYTE_SIZE; i=i+1) begin
		if (reorder_memory[i] !== 64'bx) begin
			{byte_7, byte_6, byte_5, byte_4, byte_3, byte_2, byte_1, byte_0} = 
			   reorder_memory[i];

			$fdisplay(file2,"@%h %h", 512 + i,
			   {1'b0, byte_0, 1'b0, byte_1, 1'b0, byte_2, 1'b0, byte_3,
			    1'b0, byte_4, 1'b0, byte_5, 1'b0, byte_6, 1'b0, byte_7});
			end
		end
	end
endmodule