32 lines
1.3 KiB
C
32 lines
1.3 KiB
C
// mask[3:0] = { 4'b1000 - 30b mask,4'b0100 - 31b mask, 4'b0010 - 28b mask, 4'b0001 - 32b mask }
|
|
always_comb begin
|
|
case (address[14:0])
|
|
15'b011000000000000 : mask[3:0] = 4'b0100;
|
|
15'b100000000000100 : mask[3:0] = 4'b1000;
|
|
15'b100000000001000 : mask[3:0] = 4'b1000;
|
|
15'b100000000001100 : mask[3:0] = 4'b1000;
|
|
15'b100000000010000 : mask[3:0] = 4'b1000;
|
|
15'b100000000010100 : mask[3:0] = 4'b1000;
|
|
15'b100000000011000 : mask[3:0] = 4'b1000;
|
|
15'b100000000011100 : mask[3:0] = 4'b1000;
|
|
15'b100000000100000 : mask[3:0] = 4'b1000;
|
|
15'b010000000000100 : mask[3:0] = 4'b0100;
|
|
15'b010000000001000 : mask[3:0] = 4'b0100;
|
|
15'b010000000001100 : mask[3:0] = 4'b0100;
|
|
15'b010000000010000 : mask[3:0] = 4'b0100;
|
|
15'b010000000010100 : mask[3:0] = 4'b0100;
|
|
15'b010000000011000 : mask[3:0] = 4'b0100;
|
|
15'b010000000011100 : mask[3:0] = 4'b0100;
|
|
15'b010000000100000 : mask[3:0] = 4'b0100;
|
|
15'b000000000000100 : mask[3:0] = 4'b0010;
|
|
15'b000000000001000 : mask[3:0] = 4'b0010;
|
|
15'b000000000001100 : mask[3:0] = 4'b0010;
|
|
15'b000000000010000 : mask[3:0] = 4'b0010;
|
|
15'b000000000010100 : mask[3:0] = 4'b0010;
|
|
15'b000000000011000 : mask[3:0] = 4'b0010;
|
|
15'b000000000011100 : mask[3:0] = 4'b0010;
|
|
15'b000000000100000 : mask[3:0] = 4'b0010;
|
|
default : mask[3:0] = 4'b0001;
|
|
endcase
|
|
end
|