diff --git a/Labs/Made-up modules/lab_13.led_sb_ctrl.sv b/Labs/Made-up modules/lab_13.led_sb_ctrl.sv new file mode 100644 index 00000000..55a4b8c8 --- /dev/null +++ b/Labs/Made-up modules/lab_13.led_sb_ctrl.sv @@ -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