ЛР13. Добавление обфусцированного модуля(#76)

* Feat(13/uart):Доб-ие обфускации

* Feat(13/led):Доб-ие обфускации

* Feat(13/led):Распил в lut cntr

* Ref(13/led):Улучшение распила в lut cntr

* Ref(13/led):Улуч-ие распила led_mode

* Feat(13/led):обфускация led_val

* Feat(13/led):Обфускация read_data

* Fix(13/led):Испр-ие размера read_data_next

* Ref(13/led):Уд-ие сигнала soft_reset

* Ref(13/led):Уд-ие зависимости по входным сигналам

* Ref(13/led):Перестановка строк

* Feat(13/led):Разматывание 32'd1 в series

* Feat(13/led):Доб-ие xor

* Ref(13/led):Уд-ие комментов

* Feat(13/led):Доб-ие обфускации имен

* Feat(13/led):Деобфускация led_val, led_mode

* Fix(13/led):Испр-ие xor

* Ref(13/uart_tx):Уд-ие netlist
This commit is contained in:
BROsandr
2024-03-26 11:53:15 +03:00
committed by GitHub
parent 48f9c8e30c
commit 84c0e9052e

View File

@@ -0,0 +1,450 @@
module led_sb_ctrl(
/*
Часть интерфейса модуля, отвечающая за подключение к системной шине
*/
input logic clk_i,
input logic rst_i,
input logic req_i,
input logic write_enable_i,
input logic [31:0] addr_i,
input logic [31:0] write_data_i,
output logic [31:0] read_data_o,
/*
Часть интерфейса модуля, отвечающая за подключение к периферии
*/
output logic [15:0] led_o
);
logic [15:0] led_val;
logic led_mode;
logic [31:0] G0jy;
logic szgbhtISZO6lWdZ0zBq;
logic GHJMElpRUEQEEP7EcBqK9y7Np;
assign GHJMElpRUEQEEP7EcBqK9y7Np = write_data_i == 1'b1;
assign led_o = G0jy < 32'd10_000_000 ? led_val : 32'd0;
logic h9z1ckclZaHUmRYYk;
logic E8on91LjAMIk;
assign h9z1ckclZaHUmRYYk = addr_i == (32'h146 ^ 32'd322);
localparam bit [31:0] tamX10PbxPLym4NQXMpBFA1ZPCMfu = 32'o6236621706 + 32'h643c9869 + 32'o14614644163 + 32'o16454156121 + 32'h19495cff + 32'h2ae8944a + 32'h625558ec + 32'o4343417451 + 32'o10672076315 + 32'o7506654272 + 32'o12037553653 + 32'h2eb141f2 + 32'h41b71efb + 32'h79e2a9e3 + 32'o16521360506 + 32'o12127600174 + 32'o13364061302 + 32'h12200854 + 32'o11554223770 + 32'h833a88de;
logic d2Vdz1otfNKET9pkgF4b2ur;
assign E8on91LjAMIk = write_enable_i;
assign d2Vdz1otfNKET9pkgF4b2ur = write_data_i <= tamX10PbxPLym4NQXMpBFA1ZPCMfu;
logic X9e;
assign X9e = req_i;
logic YaRCbt0zk9bDlW;
logic kd21aSJpdPn;
always_comb begin
case ({szgbhtISZO6lWdZ0zBq, d2Vdz1otfNKET9pkgF4b2ur, h9z1ckclZaHUmRYYk, E8on91LjAMIk, X9e, GHJMElpRUEQEEP7EcBqK9y7Np})
6'b000000: kd21aSJpdPn = 1'b0;
6'b000001: kd21aSJpdPn = 1'b0;
6'b000010: kd21aSJpdPn = 1'b0;
6'b000011: kd21aSJpdPn = 1'b0;
6'b000100: kd21aSJpdPn = 1'b0;
6'b000101: kd21aSJpdPn = 1'b0;
6'b000110: kd21aSJpdPn = 1'b0;
6'b000111: kd21aSJpdPn = 1'b0;
6'b001000: kd21aSJpdPn = 1'b0;
6'b001001: kd21aSJpdPn = 1'b0;
6'b001010: kd21aSJpdPn = 1'b0;
6'b001011: kd21aSJpdPn = 1'b0;
6'b001100: kd21aSJpdPn = 1'b0;
6'b001101: kd21aSJpdPn = 1'b0;
6'b001110: kd21aSJpdPn = 1'b0;
6'b001111: kd21aSJpdPn = 1'b0;
6'b010000: kd21aSJpdPn = 1'b0;
6'b010001: kd21aSJpdPn = 1'b0;
6'b010010: kd21aSJpdPn = 1'b0;
6'b010011: kd21aSJpdPn = 1'b0;
6'b010100: kd21aSJpdPn = 1'b0;
6'b010101: kd21aSJpdPn = 1'b0;
6'b010110: kd21aSJpdPn = 1'b0;
6'b010111: kd21aSJpdPn = 1'b0;
6'b011000: kd21aSJpdPn = 1'b0;
6'b011001: kd21aSJpdPn = 1'b0;
6'b011010: kd21aSJpdPn = 1'b0;
6'b011011: kd21aSJpdPn = 1'b0;
6'b011100: kd21aSJpdPn = 1'b0;
6'b011101: kd21aSJpdPn = 1'b0;
6'b011110: kd21aSJpdPn = 1'b1;
6'b011111: kd21aSJpdPn = 1'b1;
6'b100000: kd21aSJpdPn = 1'b0;
6'b100001: kd21aSJpdPn = 1'b0;
6'b100010: kd21aSJpdPn = 1'b0;
6'b100011: kd21aSJpdPn = 1'b0;
6'b100100: kd21aSJpdPn = 1'b0;
6'b100101: kd21aSJpdPn = 1'b0;
6'b100110: kd21aSJpdPn = 1'b0;
6'b100111: kd21aSJpdPn = 1'b1;
6'b101000: kd21aSJpdPn = 1'b0;
6'b101001: kd21aSJpdPn = 1'b0;
6'b101010: kd21aSJpdPn = 1'b0;
6'b101011: kd21aSJpdPn = 1'b0;
6'b101100: kd21aSJpdPn = 1'b0;
6'b101101: kd21aSJpdPn = 1'b0;
6'b101110: kd21aSJpdPn = 1'b0;
6'b101111: kd21aSJpdPn = 1'b1;
6'b110000: kd21aSJpdPn = 1'b0;
6'b110001: kd21aSJpdPn = 1'b0;
6'b110010: kd21aSJpdPn = 1'b0;
6'b110011: kd21aSJpdPn = 1'b0;
6'b110100: kd21aSJpdPn = 1'b0;
6'b110101: kd21aSJpdPn = 1'b0;
6'b110110: kd21aSJpdPn = 1'b0;
6'b110111: kd21aSJpdPn = 1'b1;
6'b111000: kd21aSJpdPn = 1'b0;
6'b111001: kd21aSJpdPn = 1'b0;
6'b111010: kd21aSJpdPn = 1'b0;
6'b111011: kd21aSJpdPn = 1'b0;
6'b111100: kd21aSJpdPn = 1'b0;
6'b111101: kd21aSJpdPn = 1'b0;
6'b111110: kd21aSJpdPn = 1'b1;
6'b111111: kd21aSJpdPn = 1'b1;
endcase
end
logic JUTUkxXfzZHi0;
always_comb begin
case ({X9e, YaRCbt0zk9bDlW, E8on91LjAMIk, szgbhtISZO6lWdZ0zBq, GHJMElpRUEQEEP7EcBqK9y7Np})
5'b00000: JUTUkxXfzZHi0 = 1'b0;
5'b00001: JUTUkxXfzZHi0 = 1'b0;
5'b00010: JUTUkxXfzZHi0 = 1'b0;
5'b00011: JUTUkxXfzZHi0 = 1'b0;
5'b00100: JUTUkxXfzZHi0 = 1'b0;
5'b00101: JUTUkxXfzZHi0 = 1'b0;
5'b00110: JUTUkxXfzZHi0 = 1'b0;
5'b00111: JUTUkxXfzZHi0 = 1'b0;
5'b01000: JUTUkxXfzZHi0 = 1'b1;
5'b01001: JUTUkxXfzZHi0 = 1'b1;
5'b01010: JUTUkxXfzZHi0 = 1'b1;
5'b01011: JUTUkxXfzZHi0 = 1'b1;
5'b01100: JUTUkxXfzZHi0 = 1'b1;
5'b01101: JUTUkxXfzZHi0 = 1'b1;
5'b01110: JUTUkxXfzZHi0 = 1'b1;
5'b01111: JUTUkxXfzZHi0 = 1'b1;
5'b10000: JUTUkxXfzZHi0 = 1'b0;
5'b10001: JUTUkxXfzZHi0 = 1'b0;
5'b10010: JUTUkxXfzZHi0 = 1'b0;
5'b10011: JUTUkxXfzZHi0 = 1'b0;
5'b10100: JUTUkxXfzZHi0 = 1'b0;
5'b10101: JUTUkxXfzZHi0 = 1'b0;
5'b10110: JUTUkxXfzZHi0 = 1'b0;
5'b10111: JUTUkxXfzZHi0 = 1'b0;
5'b11000: JUTUkxXfzZHi0 = 1'b1;
5'b11001: JUTUkxXfzZHi0 = 1'b1;
5'b11010: JUTUkxXfzZHi0 = 1'b1;
5'b11011: JUTUkxXfzZHi0 = 1'b1;
5'b11100: JUTUkxXfzZHi0 = 1'b1;
5'b11101: JUTUkxXfzZHi0 = 1'b1;
5'b11110: JUTUkxXfzZHi0 = 1'b1;
5'b11111: JUTUkxXfzZHi0 = 1'b0;
endcase
end
always_ff @(posedge clk_i) begin
if(rst_i) begin
led_mode <= 1'b0;
end else if(kd21aSJpdPn) begin
led_mode <= JUTUkxXfzZHi0;
end
end
assign YaRCbt0zk9bDlW = write_data_i[0];
logic aNirtmfc;
assign aNirtmfc = G0jy < 32'd20_000_000;
logic [31:0] mTwefHrES;
always_comb begin
case ({aNirtmfc, X9e, E8on91LjAMIk, szgbhtISZO6lWdZ0zBq, led_mode, GHJMElpRUEQEEP7EcBqK9y7Np})
6'b000000: mTwefHrES = '0;
6'b000001: mTwefHrES = '0;
6'b000010: mTwefHrES = '0;
6'b000011: mTwefHrES = '0;
6'b000100: mTwefHrES = '0;
6'b000101: mTwefHrES = '0;
6'b000110: mTwefHrES = '0;
6'b000111: mTwefHrES = '0;
6'b001000: mTwefHrES = '0;
6'b001001: mTwefHrES = '0;
6'b001010: mTwefHrES = '0;
6'b001011: mTwefHrES = '0;
6'b001100: mTwefHrES = '0;
6'b001101: mTwefHrES = '0;
6'b001110: mTwefHrES = '0;
6'b001111: mTwefHrES = '0;
6'b010000: mTwefHrES = '0;
6'b010001: mTwefHrES = '0;
6'b010010: mTwefHrES = '0;
6'b010011: mTwefHrES = '0;
6'b010100: mTwefHrES = '0;
6'b010101: mTwefHrES = '0;
6'b010110: mTwefHrES = '0;
6'b010111: mTwefHrES = '0;
6'b011000: mTwefHrES = '0;
6'b011001: mTwefHrES = '0;
6'b011010: mTwefHrES = '0;
6'b011011: mTwefHrES = '0;
6'b011100: mTwefHrES = '0;
6'b011101: mTwefHrES = '0;
6'b011110: mTwefHrES = '0;
6'b011111: mTwefHrES = '0;
6'b100000: mTwefHrES = '0;
6'b100001: mTwefHrES = '0;
6'b100010: mTwefHrES = G0jy + 32'b1;
6'b100011: mTwefHrES = G0jy + 32'b1;
6'b100100: mTwefHrES = '0;
6'b100101: mTwefHrES = '0;
6'b100110: mTwefHrES = G0jy + 32'b1;
6'b100111: mTwefHrES = G0jy + 32'b1;
6'b101000: mTwefHrES = '0;
6'b101001: mTwefHrES = '0;
6'b101010: mTwefHrES = '0;
6'b101011: mTwefHrES = '0;
6'b101100: mTwefHrES = '0;
6'b101101: mTwefHrES = '0;
6'b101110: mTwefHrES = G0jy + 32'b1;
6'b101111: mTwefHrES = G0jy + 32'b1;
6'b110000: mTwefHrES = '0;
6'b110001: mTwefHrES = '0;
6'b110010: mTwefHrES = G0jy + 32'b1;
6'b110011: mTwefHrES = G0jy + 32'b1;
6'b110100: mTwefHrES = '0;
6'b110101: mTwefHrES = '0;
6'b110110: mTwefHrES = G0jy + 32'b1;
6'b110111: mTwefHrES = G0jy + 32'b1;
6'b111000: mTwefHrES = '0;
6'b111001: mTwefHrES = '0;
6'b111010: mTwefHrES = G0jy + 32'b1;
6'b111011: mTwefHrES = G0jy + 32'b1;
6'b111100: mTwefHrES = '0;
6'b111101: mTwefHrES = '0;
6'b111110: mTwefHrES = G0jy + 32'b1;
6'b111111: mTwefHrES = '0;
endcase
end
always_ff @(posedge clk_i) begin
if(rst_i) begin
G0jy <= 32'd0;
end else begin
G0jy <= mTwefHrES;
end
end
logic u8n925jRHw6yY2OA;
assign u8n925jRHw6yY2OA = addr_i == 32'd0;
logic Sksa8hJRDqKf6y;
assign Sksa8hJRDqKf6y = write_data_i[31:16] == 16'd0;
logic kq8KzeiLOE;
always_comb begin
case ({X9e, E8on91LjAMIk, szgbhtISZO6lWdZ0zBq, GHJMElpRUEQEEP7EcBqK9y7Np, u8n925jRHw6yY2OA, Sksa8hJRDqKf6y})
6'b000000: kq8KzeiLOE = 1'b0;
6'b000001: kq8KzeiLOE = 1'b0;
6'b000010: kq8KzeiLOE = 1'b0;
6'b000011: kq8KzeiLOE = 1'b1;
6'b000100: kq8KzeiLOE = 1'b0;
6'b000101: kq8KzeiLOE = 1'b0;
6'b000110: kq8KzeiLOE = 1'b0;
6'b000111: kq8KzeiLOE = 1'b1;
6'b001000: kq8KzeiLOE = 1'b0;
6'b001001: kq8KzeiLOE = 1'b0;
6'b001010: kq8KzeiLOE = 1'b0;
6'b001011: kq8KzeiLOE = 1'b1;
6'b001100: kq8KzeiLOE = 1'b0;
6'b001101: kq8KzeiLOE = 1'b0;
6'b001110: kq8KzeiLOE = 1'b0;
6'b001111: kq8KzeiLOE = 1'b1;
6'b010000: kq8KzeiLOE = 1'b0;
6'b010001: kq8KzeiLOE = 1'b0;
6'b010010: kq8KzeiLOE = 1'b0;
6'b010011: kq8KzeiLOE = 1'b1;
6'b010100: kq8KzeiLOE = 1'b0;
6'b010101: kq8KzeiLOE = 1'b0;
6'b010110: kq8KzeiLOE = 1'b0;
6'b010111: kq8KzeiLOE = 1'b1;
6'b011000: kq8KzeiLOE = 1'b0;
6'b011001: kq8KzeiLOE = 1'b0;
6'b011010: kq8KzeiLOE = 1'b0;
6'b011011: kq8KzeiLOE = 1'b1;
6'b011100: kq8KzeiLOE = 1'b0;
6'b011101: kq8KzeiLOE = 1'b0;
6'b011110: kq8KzeiLOE = 1'b0;
6'b011111: kq8KzeiLOE = 1'b1;
6'b100000: kq8KzeiLOE = 1'b0;
6'b100001: kq8KzeiLOE = 1'b0;
6'b100010: kq8KzeiLOE = 1'b0;
6'b100011: kq8KzeiLOE = 1'b1;
6'b100100: kq8KzeiLOE = 1'b0;
6'b100101: kq8KzeiLOE = 1'b0;
6'b100110: kq8KzeiLOE = 1'b0;
6'b100111: kq8KzeiLOE = 1'b1;
6'b101000: kq8KzeiLOE = 1'b0;
6'b101001: kq8KzeiLOE = 1'b0;
6'b101010: kq8KzeiLOE = 1'b0;
6'b101011: kq8KzeiLOE = 1'b1;
6'b101100: kq8KzeiLOE = 1'b0;
6'b101101: kq8KzeiLOE = 1'b0;
6'b101110: kq8KzeiLOE = 1'b0;
6'b101111: kq8KzeiLOE = 1'b1;
6'b110000: kq8KzeiLOE = 1'b0;
6'b110001: kq8KzeiLOE = 1'b0;
6'b110010: kq8KzeiLOE = 1'b0;
6'b110011: kq8KzeiLOE = 1'b1;
6'b110100: kq8KzeiLOE = 1'b0;
6'b110101: kq8KzeiLOE = 1'b0;
6'b110110: kq8KzeiLOE = 1'b0;
6'b110111: kq8KzeiLOE = 1'b1;
6'b111000: kq8KzeiLOE = 1'b0;
6'b111001: kq8KzeiLOE = 1'b0;
6'b111010: kq8KzeiLOE = 1'b0;
6'b111011: kq8KzeiLOE = 1'b1;
6'b111100: kq8KzeiLOE = 1'b1;
6'b111101: kq8KzeiLOE = 1'b1;
6'b111110: kq8KzeiLOE = 1'b1;
6'b111111: kq8KzeiLOE = 1'b1;
endcase
end
always_ff @(posedge clk_i) begin
if(rst_i) begin
led_val <= 16'd0;
end
else if(kq8KzeiLOE) begin
led_val <= write_data_i[15:0] & {16{~(X9e & E8on91LjAMIk & szgbhtISZO6lWdZ0zBq & YaRCbt0zk9bDlW & GHJMElpRUEQEEP7EcBqK9y7Np)}};
end
end
logic tECGZrHGXNZHv7hEFV;
assign tECGZrHGXNZHv7hEFV = ~|{addr_i[31:3], addr_i[1:0]};
logic YBnE7pVdlTe8g7B8Mh;
assign YBnE7pVdlTe8g7B8Mh = addr_i[2];
logic Sw0wQLq1pYY7;
always_comb begin
case ({YBnE7pVdlTe8g7B8Mh, X9e, szgbhtISZO6lWdZ0zBq, E8on91LjAMIk, tECGZrHGXNZHv7hEFV, GHJMElpRUEQEEP7EcBqK9y7Np})
6'b000000: Sw0wQLq1pYY7 = 1'b0;
6'b000001: Sw0wQLq1pYY7 = 1'b0;
6'b000010: Sw0wQLq1pYY7 = 1'b0;
6'b000011: Sw0wQLq1pYY7 = 1'b0;
6'b000100: Sw0wQLq1pYY7 = 1'b0;
6'b000101: Sw0wQLq1pYY7 = 1'b0;
6'b000110: Sw0wQLq1pYY7 = 1'b0;
6'b000111: Sw0wQLq1pYY7 = 1'b0;
6'b001000: Sw0wQLq1pYY7 = 1'b0;
6'b001001: Sw0wQLq1pYY7 = 1'b0;
6'b001010: Sw0wQLq1pYY7 = 1'b0;
6'b001011: Sw0wQLq1pYY7 = 1'b0;
6'b001100: Sw0wQLq1pYY7 = 1'b0;
6'b001101: Sw0wQLq1pYY7 = 1'b0;
6'b001110: Sw0wQLq1pYY7 = 1'b0;
6'b001111: Sw0wQLq1pYY7 = 1'b0;
6'b010000: Sw0wQLq1pYY7 = 1'b0;
6'b010001: Sw0wQLq1pYY7 = 1'b0;
6'b010010: Sw0wQLq1pYY7 = 1'b1;
6'b010011: Sw0wQLq1pYY7 = 1'b1;
6'b010100: Sw0wQLq1pYY7 = 1'b0;
6'b010101: Sw0wQLq1pYY7 = 1'b0;
6'b010110: Sw0wQLq1pYY7 = 1'b0;
6'b010111: Sw0wQLq1pYY7 = 1'b0;
6'b011000: Sw0wQLq1pYY7 = 1'b0;
6'b011001: Sw0wQLq1pYY7 = 1'b0;
6'b011010: Sw0wQLq1pYY7 = 1'b1;
6'b011011: Sw0wQLq1pYY7 = 1'b1;
6'b011100: Sw0wQLq1pYY7 = 1'b0;
6'b011101: Sw0wQLq1pYY7 = 1'b1;
6'b011110: Sw0wQLq1pYY7 = 1'b0;
6'b011111: Sw0wQLq1pYY7 = 1'b1;
6'b100000: Sw0wQLq1pYY7 = 1'b0;
6'b100001: Sw0wQLq1pYY7 = 1'b0;
6'b100010: Sw0wQLq1pYY7 = 1'b0;
6'b100011: Sw0wQLq1pYY7 = 1'b0;
6'b100100: Sw0wQLq1pYY7 = 1'b0;
6'b100101: Sw0wQLq1pYY7 = 1'b0;
6'b100110: Sw0wQLq1pYY7 = 1'b0;
6'b100111: Sw0wQLq1pYY7 = 1'b0;
6'b101000: Sw0wQLq1pYY7 = 1'b0;
6'b101001: Sw0wQLq1pYY7 = 1'b0;
6'b101010: Sw0wQLq1pYY7 = 1'b0;
6'b101011: Sw0wQLq1pYY7 = 1'b0;
6'b101100: Sw0wQLq1pYY7 = 1'b0;
6'b101101: Sw0wQLq1pYY7 = 1'b0;
6'b101110: Sw0wQLq1pYY7 = 1'b0;
6'b101111: Sw0wQLq1pYY7 = 1'b0;
6'b110000: Sw0wQLq1pYY7 = 1'b0;
6'b110001: Sw0wQLq1pYY7 = 1'b0;
6'b110010: Sw0wQLq1pYY7 = 1'b1;
6'b110011: Sw0wQLq1pYY7 = 1'b1;
6'b110100: Sw0wQLq1pYY7 = 1'b0;
6'b110101: Sw0wQLq1pYY7 = 1'b0;
6'b110110: Sw0wQLq1pYY7 = 1'b0;
6'b110111: Sw0wQLq1pYY7 = 1'b0;
6'b111000: Sw0wQLq1pYY7 = 1'b0;
6'b111001: Sw0wQLq1pYY7 = 1'b0;
6'b111010: Sw0wQLq1pYY7 = 1'b1;
6'b111011: Sw0wQLq1pYY7 = 1'b1;
6'b111100: Sw0wQLq1pYY7 = 1'b0;
6'b111101: Sw0wQLq1pYY7 = 1'b1;
6'b111110: Sw0wQLq1pYY7 = 1'b0;
6'b111111: Sw0wQLq1pYY7 = 1'b1;
endcase
end
logic [31:0] ZuHZYJEOvjcYVi;
always_comb begin
case ({X9e, YBnE7pVdlTe8g7B8Mh, szgbhtISZO6lWdZ0zBq, E8on91LjAMIk, GHJMElpRUEQEEP7EcBqK9y7Np})
5'b00000: ZuHZYJEOvjcYVi = read_data_o;
5'b00001: ZuHZYJEOvjcYVi = read_data_o;
5'b00010: ZuHZYJEOvjcYVi = read_data_o;
5'b00011: ZuHZYJEOvjcYVi = read_data_o;
5'b00100: ZuHZYJEOvjcYVi = read_data_o;
5'b00101: ZuHZYJEOvjcYVi = read_data_o;
5'b00110: ZuHZYJEOvjcYVi = read_data_o;
5'b00111: ZuHZYJEOvjcYVi = read_data_o;
5'b01000: ZuHZYJEOvjcYVi = read_data_o;
5'b01001: ZuHZYJEOvjcYVi = read_data_o;
5'b01010: ZuHZYJEOvjcYVi = read_data_o;
5'b01011: ZuHZYJEOvjcYVi = read_data_o;
5'b01100: ZuHZYJEOvjcYVi = read_data_o;
5'b01101: ZuHZYJEOvjcYVi = read_data_o;
5'b01110: ZuHZYJEOvjcYVi = read_data_o;
5'b01111: ZuHZYJEOvjcYVi = read_data_o;
5'b10000: ZuHZYJEOvjcYVi = {16'd0,led_val};
5'b10001: ZuHZYJEOvjcYVi = {16'd0,led_val};
5'b10010: ZuHZYJEOvjcYVi = read_data_o;
5'b10011: ZuHZYJEOvjcYVi = read_data_o;
5'b10100: ZuHZYJEOvjcYVi = {16'd0,led_val};
5'b10101: ZuHZYJEOvjcYVi = {16'd0,led_val};
5'b10110: ZuHZYJEOvjcYVi = read_data_o;
5'b10111: ZuHZYJEOvjcYVi = '0;
5'b11000: ZuHZYJEOvjcYVi = {31'd0,led_mode};
5'b11001: ZuHZYJEOvjcYVi = {31'd0,led_mode};
5'b11010: ZuHZYJEOvjcYVi = read_data_o;
5'b11011: ZuHZYJEOvjcYVi = read_data_o;
5'b11100: ZuHZYJEOvjcYVi = {31'd0,led_mode};
5'b11101: ZuHZYJEOvjcYVi = {31'd0,led_mode};
5'b11110: ZuHZYJEOvjcYVi = read_data_o;
5'b11111: ZuHZYJEOvjcYVi = '0;
endcase
end
always_ff @(posedge clk_i) begin
if(rst_i) begin
read_data_o <= 32'd0;
end
else if(Sw0wQLq1pYY7) begin
read_data_o <= ZuHZYJEOvjcYVi;
end
end
assign szgbhtISZO6lWdZ0zBq = addr_i == 32'h24;
endmodule