File tree Expand file tree Collapse file tree 3 files changed +14
-17
lines changed
Expand file tree Collapse file tree 3 files changed +14
-17
lines changed Original file line number Diff line number Diff line change @@ -84,16 +84,15 @@ module clint #(
8484 if (obi_req_i.req) begin
8585
8686 if (obi_req_i.a.we) begin : write
87- automatic logic [31 : 0 ] wdata_masked = obi_req_i.a.wdata & be_mask;
8887 unique case ({ obi_req_i.a.addr[IntAddrWidth- 1 : 2 ], 2'b00 } )
8988 CLINT_MSIP_OFFSET : begin
90- msip_d = (msip_q & ~ be_mask[0 ]) | wdata_masked [0 ];
89+ msip_d = (msip_q & ~ be_mask[0 ]) | (obi_req_i.a.wdata [0 ] & be_mask[ 0 ]) ;
9190 end
9291 CLINT_MTIMECMP_LOW0_OFFSET : begin
93- mtimecmp_d[31 : 0 ] = (mtimecmp_q[31 : 0 ] & ~ be_mask) | wdata_masked ;
92+ mtimecmp_d[31 : 0 ] = (mtimecmp_q[31 : 0 ] & ~ be_mask) | (obi_req_i.a.wdata & be_mask) ;
9493 end
9594 CLINT_MTIMECMP_HIGH0_OFFSET : begin
96- mtimecmp_d[63 : 32 ] = (mtimecmp_q[63 : 32 ] & ~ be_mask) | wdata_masked ;
95+ mtimecmp_d[63 : 32 ] = (mtimecmp_q[63 : 32 ] & ~ be_mask) | (obi_req_i.a.wdata & be_mask) ;
9796 end
9897 default : begin
9998 err_d = 1'b1 ;
Original file line number Diff line number Diff line change @@ -85,24 +85,23 @@ module obi_timer #(
8585 if (obi_req_i.req) begin
8686
8787 if (obi_req_i.a.we) begin : write
88- automatic logic [31 : 0 ] wdata_masked = obi_req_i.a.wdata & be_mask;
8988 unique case ({ obi_req_i.a.addr[IntAddrWidth- 1 : 2 ], 2'b00 } )
9089 OBI_TIMER_COUNT_OFFSET : begin
91- count_d = (count_q & ~ be_mask) | wdata_masked ;
90+ count_d = (count_q & ~ be_mask) | (obi_req_i.a.wdata & be_mask) ;
9291 end
9392 OBI_TIMER_COMPARE_OFFSET : begin
94- compare_d = (compare_q & ~ be_mask) | wdata_masked ;
93+ compare_d = (compare_q & ~ be_mask) | (obi_req_i.a.wdata & be_mask) ;
9594 count_d = '0 ;
9695 end
9796 OBI_TIMER_CTRL_OFFSET : begin
98- enable_d = (enable_q & ~ be_mask[0 ]) | wdata_masked [0 ];
99- autoreset_d = (autoreset_q & ~ be_mask[1 ]) | wdata_masked [1 ];
97+ enable_d = (enable_q & ~ be_mask[0 ]) | (obi_req_i.a.wdata [0 ] & be_mask[ 0 ]) ;
98+ autoreset_d = (autoreset_q & ~ be_mask[1 ]) | (obi_req_i.a.wdata [1 ] & be_mask[ 1 ]) ;
10099 end
101100 OBI_TIMER_STATUS_OFFSET : begin
102- if (wdata_masked [0 ]) begin
101+ if (obi_req_i.a.wdata[ 0 ] & be_mask [0 ]) begin
103102 expired_sticky_d = 1'b0 ;
104103 end
105- if (wdata_masked [1 ]) begin
104+ if (obi_req_i.a.wdata[ 1 ] & be_mask [1 ]) begin
106105 overflow_sticky_d = 1'b0 ;
107106 end
108107 end
Original file line number Diff line number Diff line change @@ -69,22 +69,21 @@ module soc_ctrl_regs #(
6969 if (obi_req_i.req) begin
7070
7171 if (obi_req_i.a.we) begin : write
72- automatic logic [31 : 0 ] wdata = obi_req_i.a.wdata & be_mask;
7372 unique case ({ obi_req_i.a.addr[IntAddrWidth- 1 : 2 ], 2'b00 } )
7473 SOC_CTRL_BOOTADDR_OFFSET : begin
75- boot_addr_d = wdata;
74+ boot_addr_d = obi_req_i.a. wdata & be_mask ;
7675 end
7776 SOC_CTRL_FETCHEN_OFFSET : begin
78- fetch_en_d = wdata[0 ];
77+ fetch_en_d = obi_req_i.a. wdata[ 0 ] & be_mask [0 ];
7978 end
8079 SOC_CTRL_CORESTATUS_OFFSET : begin
81- core_status_d = wdata;
80+ core_status_d = obi_req_i.a. wdata & be_mask ;
8281 end
8382 SOC_CTRL_BOOTMODE_OFFSET : begin
84- boot_mode_d = wdata[0 ];
83+ boot_mode_d = obi_req_i.a. wdata[ 0 ] & be_mask [0 ];
8584 end
8685 SOC_CTRL_SRAM_DLY_OFFSET : begin
87- sram_dly_d = wdata[0 ];
86+ sram_dly_d = obi_req_i.a. wdata[ 0 ] & be_mask [0 ];
8887 end
8988 default : begin
9089 err_d = 1'b1 ;
You can’t perform that action at this time.
0 commit comments