Skip to content

Commit d33a23f

Browse files
authored
Merge pull request chipsalliance#342 from antmicro/gen-block
Remove assignment pattern patch
2 parents e2a8134 + b054a9e commit d33a23f

File tree

2 files changed

+1
-179
lines changed

2 files changed

+1
-179
lines changed

uhdm-tests/opentitan/0001-Add-opentitan-patch-for-uhdm.patch

Lines changed: 0 additions & 178 deletions
Original file line numberDiff line numberDiff line change
@@ -522,184 +522,6 @@ index 962d3b559..9d5a10c8c 100644
522522
`endif
523523
end
524524

525-
diff --git a/hw/ip/tlul/rtl/tlul_adapter_sram.sv b/hw/ip/tlul/rtl/tlul_adapter_sram.sv
526-
index 6e2f33191..2820baadd 100644
527-
--- a/hw/ip/tlul/rtl/tlul_adapter_sram.sv
528-
+++ b/hw/ip/tlul/rtl/tlul_adapter_sram.sv
529-
@@ -134,20 +134,17 @@ module tlul_adapter_sram #(
530-
end
531-
end
532-
533-
- assign tl_o = '{
534-
- d_valid : d_valid ,
535-
- d_opcode : (d_valid && reqfifo_rdata.op != OpRead) ? AccessAck : AccessAckData,
536-
- d_param : '0,
537-
- d_size : (d_valid) ? reqfifo_rdata.size : '0,
538-
- d_source : (d_valid) ? reqfifo_rdata.source : '0,
539-
- d_sink : 1'b0,
540-
- d_data : (d_valid && rspfifo_rvalid && reqfifo_rdata.op == OpRead)
541-
- ? rspfifo_rdata.data : '0,
542-
- d_user : '0,
543-
- d_error : d_valid && d_error,
544-
-
545-
- a_ready : (gnt_i | error_internal) & reqfifo_wready & sramreqfifo_wready
546-
- };
547-
+ assign tl_o.d_valid = d_valid;
548-
+ assign tl_o.d_opcode = (d_valid && reqfifo_rdata.op != OpRead) ? AccessAck : AccessAckData;
549-
+ assign tl_o.d_param = '0;
550-
+ assign tl_o.d_size = (d_valid) ? reqfifo_rdata.size : '0;
551-
+ assign tl_o.d_source = (d_valid) ? reqfifo_rdata.source : '0;
552-
+ assign tl_o.d_sink = 1'b0;
553-
+ assign tl_o.d_data = (d_valid && rspfifo_rvalid && reqfifo_rdata.op == OpRead) ? rspfifo_rdata.data : '0;
554-
+ assign tl_o.d_user = '0;
555-
+ assign tl_o.d_error = d_valid && d_error;
556-
+
557-
+ assign tl_o.a_ready = (gnt_i | error_internal) & reqfifo_wready & sramreqfifo_wready;
558-
559-
// a_ready depends on the FIFO full condition and grant from SRAM (or SRAM arbiter)
560-
// assemble response, including read response, write response, and error for unsupported stuff
561-
@@ -171,8 +168,8 @@ module tlul_adapter_sram #(
562-
end
563-
564-
// Convert byte mask to SRAM bit mask for writes, and only forward valid data
565-
- logic [WidthMult-1:0][top_pkg::TL_DW-1:0] wmask_int;
566-
- logic [WidthMult-1:0][top_pkg::TL_DW-1:0] wdata_int;
567-
+ logic [(WidthMult * top_pkg::TL_DW) - 1:0] wmask_int;
568-
+ logic [(WidthMult * top_pkg::TL_DW) - 1:0] wdata_int;
569-
570-
always_comb begin
571-
wmask_int = '0;
572-
@@ -180,8 +177,8 @@ module tlul_adapter_sram #(
573-
574-
if (tl_i.a_valid) begin
575-
for (int i = 0 ; i < top_pkg::TL_DW/8 ; i++) begin
576-
- wmask_int[woffset][8*i +: 8] = {8{tl_i.a_mask[i]}};
577-
- wdata_int[woffset][8*i +: 8] = (tl_i.a_mask[i] && we_o) ? tl_i.a_data[8*i+:8] : '0;
578-
+ wmask_int[(woffset * top_pkg::TL_DW) + (8 * i) +: 8] = {8{tl_i.a_mask[i]}};
579-
+ wdata_int[(woffset * top_pkg::TL_DW) + (8 * i) +: 8] = (tl_i.a_mask[i] && we_o) ? tl_i.a_data[8*i+:8] : '0;
580-
end
581-
end
582-
end
583-
@@ -221,19 +218,15 @@ module tlul_adapter_sram #(
584-
// End: Request Error Detection
585-
586-
assign reqfifo_wvalid = a_ack ; // Push to FIFO only when granted
587-
- assign reqfifo_wdata = '{
588-
- op: (tl_i.a_opcode != Get) ? OpWrite : OpRead, // To return AccessAck for opcode error
589-
- error: error_internal,
590-
- size: tl_i.a_size,
591-
- source: tl_i.a_source
592-
- }; // Store the request only. Doesn't have to store data
593-
+ assign reqfifo_wdata.op = (tl_i.a_opcode != Get) ? OpWrite : OpRead; // To return AccessAck for opcode error
594-
+ assign reqfifo_wdata.error = error_internal;
595-
+ assign reqfifo_wdata.size = tl_i.a_size;
596-
+ assign reqfifo_wdata.source = tl_i.a_source;
597-
assign reqfifo_rready = d_ack ;
598-
599-
// push together with ReqFIFO, pop upon returning read
600-
- assign sramreqfifo_wdata = '{
601-
- mask : tl_i.a_mask,
602-
- woffset : woffset
603-
- };
604-
+ assign sramreqfifo_wdata.mask = tl_i.a_mask;
605-
+ assign sramreqfifo_wdata.woffset = woffset;
606-
assign sramreqfifo_wvalid = sram_ack & ~we_o;
607-
assign sramreqfifo_rready = rspfifo_wvalid;
608-
609-
@@ -241,26 +234,23 @@ module tlul_adapter_sram #(
610-
611-
// Make sure only requested bytes are forwarded
612-
logic [SramDw-1:0] rdata;
613-
- logic [WidthMult-1:0][top_pkg::TL_DW-1:0] rmask;
614-
+ logic [(WidthMult * top_pkg::TL_DW) - 1:0] rmask;
615-
//logic [SramDw-1:0] rmask;
616-
logic [top_pkg::TL_DW-1:0] rdata_tlword;
617-
618-
always_comb begin
619-
rmask = '0;
620-
for (int i = 0 ; i < top_pkg::TL_DW/8 ; i++) begin
621-
- rmask[sramreqfifo_rdata.woffset][8*i +: 8] = {8{sramreqfifo_rdata.mask[i]}};
622-
+ rmask[(sramreqfifo_rdata.woffset * top_pkg::TL_DW) + (8 * i) +: 8] = {8{sramreqfifo_rdata.mask[i]}};
623-
end
624-
end
625-
626-
assign rdata = rdata_i & rmask;
627-
assign rdata_tlword = rdata[sramreqfifo_rdata.woffset * top_pkg::TL_DW +: top_pkg::TL_DW];
628-
629-
- assign rspfifo_wdata = '{
630-
- data : rdata_tlword,
631-
- error: rerror_i[1] // Only care for Uncorrectable error
632-
- };
633-
- assign rspfifo_rready = (reqfifo_rdata.op == OpRead & ~reqfifo_rdata.error)
634-
- ? reqfifo_rready : 1'b0 ;
635-
+ assign rspfifo_wdata.data = rdata_tlword;
636-
+ assign rspfifo_wdata.error = rerror_i[1]; // Only care for Uncorrectable error
637-
+ assign rspfifo_rready = (reqfifo_rdata.op == OpRead & ~reqfifo_rdata.error) ? reqfifo_rready : 1'b0 ;
638-
639-
// FIFO instance: REQ, RSP
640-
641-
diff --git a/hw/ip/tlul/rtl/tlul_socket_m1.sv b/hw/ip/tlul/rtl/tlul_socket_m1.sv
642-
index 8637ad221..a3c29e293 100644
643-
--- a/hw/ip/tlul/rtl/tlul_socket_m1.sv
644-
+++ b/hw/ip/tlul/rtl/tlul_socket_m1.sv
645-
@@ -105,18 +105,16 @@ module tlul_socket_m1 #(
646-
assign unused_tl_h_source = tl_h_i[i].a_source[IDW-1 -: STIDW];
647-
648-
// Put shifted ID
649-
- assign hreq_fifo_i = '{
650-
- a_valid: tl_h_i[i].a_valid,
651-
- a_opcode: tl_h_i[i].a_opcode,
652-
- a_param: tl_h_i[i].a_param,
653-
- a_size: tl_h_i[i].a_size,
654-
- a_source: shifted_id,
655-
- a_address: tl_h_i[i].a_address,
656-
- a_mask: tl_h_i[i].a_mask,
657-
- a_data: tl_h_i[i].a_data,
658-
- a_user: tl_h_i[i].a_user,
659-
- d_ready: tl_h_i[i].d_ready
660-
- };
661-
+ assign hreq_fifo_i.a_valid = tl_h_i[i].a_valid;
662-
+ assign hreq_fifo_i.a_opcode = tl_h_i[i].a_opcode;
663-
+ assign hreq_fifo_i.a_param = tl_h_i[i].a_param;
664-
+ assign hreq_fifo_i.a_size = tl_h_i[i].a_size;
665-
+ assign hreq_fifo_i.a_source = shifted_id;
666-
+ assign hreq_fifo_i.a_address = tl_h_i[i].a_address;
667-
+ assign hreq_fifo_i.a_mask = tl_h_i[i].a_mask;
668-
+ assign hreq_fifo_i.a_data = tl_h_i[i].a_data;
669-
+ assign hreq_fifo_i.a_user = tl_h_i[i].a_user;
670-
+ assign hreq_fifo_i.d_ready = tl_h_i[i].d_ready;
671-
672-
tlul_fifo_sync #(
673-
.ReqPass (HReqPass[i]),
674-
@@ -237,18 +235,16 @@ module tlul_socket_m1 #(
675-
(drsp_fifo_o.d_source[0+:STIDW] == i) &
676-
drsp_fifo_o.d_valid;
677-
678-
- assign hrsp_fifo_i[i] = '{
679-
- d_valid: hfifo_rspvalid[i],
680-
- d_opcode: drsp_fifo_o.d_opcode,
681-
- d_param: drsp_fifo_o.d_param,
682-
- d_size: drsp_fifo_o.d_size,
683-
- d_source: hfifo_rspid,
684-
- d_sink: drsp_fifo_o.d_sink,
685-
- d_data: drsp_fifo_o.d_data,
686-
- d_user: drsp_fifo_o.d_user,
687-
- d_error: drsp_fifo_o.d_error,
688-
- a_ready: hgrant[i]
689-
- };
690-
+ assign hrsp_fifo_i[i].d_valid = hfifo_rspvalid[i];
691-
+ assign hrsp_fifo_i[i].d_opcode = drsp_fifo_o.d_opcode;
692-
+ assign hrsp_fifo_i[i].d_param = drsp_fifo_o.d_param;
693-
+ assign hrsp_fifo_i[i].d_size = drsp_fifo_o.d_size;
694-
+ assign hrsp_fifo_i[i].d_source = hfifo_rspid;
695-
+ assign hrsp_fifo_i[i].d_sink = drsp_fifo_o.d_sink;
696-
+ assign hrsp_fifo_i[i].d_data = drsp_fifo_o.d_data;
697-
+ assign hrsp_fifo_i[i].d_user = drsp_fifo_o.d_user;
698-
+ assign hrsp_fifo_i[i].d_error = drsp_fifo_o.d_error;
699-
+ assign hrsp_fifo_i[i].a_ready = hgrant[i];
700-
end
701-
702-
// this assertion fails when rspid[0+:STIDW] not in [0..M-1]
703525
diff --git a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
704526
index 2acc14e86..c6aa89066 100644
705527
--- a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv

yosys-symbiflow-plugins

0 commit comments

Comments
 (0)