Skip to content

Commit 29570f5

Browse files
committed
[hw,soc_proxy,rtl] Remove external interrupts, superseeded by tooling changes
Signed-off-by: Robert Schilling <[email protected]>
1 parent f003530 commit 29570f5

37 files changed

+2076
-6312
lines changed

hw/top_darjeeling/data/autogen/top_darjeeling.gen.hjson

Lines changed: 1 addition & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -3941,21 +3941,6 @@
39413941
conn_type: false
39423942
index: -1
39433943
}
3944-
{
3945-
name: soc_intr_async
3946-
desc: Interrupt request from SoC, asynchronous, level-encoded
3947-
struct: logic
3948-
type: uni
3949-
act: rcv
3950-
width: 32
3951-
inst_name: soc_proxy
3952-
default: ""
3953-
package: ""
3954-
external: true
3955-
top_signame: soc_intr_async
3956-
conn_type: false
3957-
index: -1
3958-
}
39593944
{
39603945
name: soc_gpi_async
39613946
desc: GPI from SoC, async
@@ -11801,7 +11786,6 @@
1180111786
soc_proxy.soc_recov_alert: soc_recov_alert
1180211787
soc_proxy.soc_wkup_async: soc_wkup_async
1180311788
soc_proxy.soc_rst_req_async: soc_rst_req_async
11804-
soc_proxy.soc_intr_async: soc_intr_async
1180511789
soc_proxy.soc_lsio_trigger: soc_lsio_trigger
1180611790
soc_proxy.soc_gpi_async: soc_gpi_async
1180711791
soc_proxy.soc_gpo_async: soc_gpo_async
@@ -12198,7 +12182,7 @@
1219812182
{
1219912183
hart: 0x22030000
1220012184
}
12201-
size_byte: 0x20
12185+
size_byte: 0x8
1220212186
}
1220312187
]
1220412188
xbar: false
@@ -19353,18 +19337,6 @@
1935319337
plic: rv_plic
1935419338
outgoing: false
1935519339
}
19356-
{
19357-
name: soc_proxy_external
19358-
width: 32
19359-
type: interrupt
19360-
module_name: soc_proxy
19361-
desc: soc_proxy external interrupt
19362-
intr_type: IntrType.Event
19363-
default_val: false
19364-
incoming: false
19365-
plic: rv_plic
19366-
outgoing: false
19367-
}
1936819340
{
1936919341
name: hmac_hmac_done
1937019342
width: 1
@@ -20600,7 +20572,6 @@
2060020572
spi_host0
2060120573
pwrmgr_aon
2060220574
aon_timer_aon
20603-
soc_proxy
2060420575
hmac
2060520576
kmac
2060620577
otbn
@@ -23384,21 +23355,6 @@
2338423355
conn_type: false
2338523356
index: -1
2338623357
}
23387-
{
23388-
name: soc_intr_async
23389-
desc: Interrupt request from SoC, asynchronous, level-encoded
23390-
struct: logic
23391-
type: uni
23392-
act: rcv
23393-
width: 32
23394-
inst_name: soc_proxy
23395-
default: ""
23396-
package: ""
23397-
external: true
23398-
top_signame: soc_intr_async
23399-
conn_type: false
23400-
index: -1
23401-
}
2340223358
{
2340323359
name: soc_gpi_async
2340423360
desc: GPI from SoC, async
@@ -29822,18 +29778,6 @@
2982229778
index: -1
2982329779
netname: soc_rst_req_async
2982429780
}
29825-
{
29826-
package: ""
29827-
struct: logic
29828-
signame: soc_intr_async_i
29829-
width: 32
29830-
type: uni
29831-
default: ""
29832-
direction: in
29833-
conn_type: false
29834-
index: -1
29835-
netname: soc_intr_async
29836-
}
2983729781
{
2983829782
package: ""
2983929783
struct: logic

hw/top_darjeeling/data/top_darjeeling.hjson

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1466,7 +1466,6 @@
14661466
'soc_proxy.soc_recov_alert' : 'soc_recov_alert',
14671467
'soc_proxy.soc_wkup_async' : 'soc_wkup_async',
14681468
'soc_proxy.soc_rst_req_async' : 'soc_rst_req_async',
1469-
'soc_proxy.soc_intr_async' : 'soc_intr_async',
14701469
'soc_proxy.soc_lsio_trigger' : 'soc_lsio_trigger',
14711470
'soc_proxy.soc_gpi_async' : 'soc_gpi_async',
14721471
'soc_proxy.soc_gpo_async' : 'soc_gpo_async',

hw/top_darjeeling/doc/memory_map.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ The main address space, shared between the CPU and DM
3030
| pinmux_aon | default | `0x30460000` | `0x800` | `0x200` | pinmux_aon |
3131
| aon_timer_aon | default | `0x30470000` | `0x40` | `0x10` | aon_timer_aon |
3232
| ast | default | `0x30480000` | `0x400` | `0x100` | ast |
33-
| soc_proxy | core | `0x22030000` | `0x20` | `0x8` | core device on soc_proxy |
33+
| soc_proxy | core | `0x22030000` | `0x8` | `0x2` | core device on soc_proxy |
3434
| sram_ctrl_ret_aon | regs | `0x30500000` | `0x40` | `0x10` | regs device on sram_ctrl_ret_aon |
3535
| rv_dm | regs | `0x21200000` | `0x10` | `0x4` | regs device on rv_dm |
3636
| rv_dm | mem | `0x40000` | `0x1000` | `0x400` | mem device on rv_dm |

hw/top_darjeeling/dv/autogen/xbar_env_pkg__params.sv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ tl_device_t xbar_devices[$] = '{
2626
'{32'h211e1000, 32'h211e107f}
2727
}},
2828
'{"soc_proxy__core", '{
29-
'{32'h22030000, 32'h2203001f}
29+
'{32'h22030000, 32'h22030007}
3030
}},
3131
'{"soc_proxy__ctn", '{
3232
'{32'h40000000, 32'hbfffffff}

hw/top_darjeeling/dv/autogen/xbar_tgl_excl.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
-node tb.dut*.u_rom_ctrl1 regs_tl_*i.a_address[23:21]
4444
-node tb.dut*.u_rom_ctrl1 regs_tl_*i.a_address[28:25]
4545
-node tb.dut*.u_rom_ctrl1 regs_tl_*i.a_address[31:30]
46-
-node tb.dut*.u_soc_proxy core_tl_*i.a_address[15:5]
46+
-node tb.dut*.u_soc_proxy core_tl_*i.a_address[15:3]
4747
-node tb.dut*.u_soc_proxy core_tl_*i.a_address[24:18]
4848
-node tb.dut*.u_soc_proxy core_tl_*i.a_address[28:26]
4949
-node tb.dut*.u_soc_proxy core_tl_*i.a_address[31:30]

hw/top_darjeeling/dv/env/chip_if.sv

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -983,11 +983,6 @@ interface chip_if;
983983
`SOC_PROXY_HIER.wkup_internal_req_o,
984984
1)
985985

986-
// Signal probe function for `soc_intr_async_i` of TOP_HIER.
987-
`DV_CREATE_SIGNAL_PROBE_FUNCTION(signal_probe_soc_intr_async,
988-
`TOP_HIER.soc_intr_async_i,
989-
soc_proxy_reg_pkg::NumExternalIrqs)
990-
991986
// Signal probe function for `soc_fatal_alert_req` of TOP_HIER.
992987
`DV_CREATE_SIGNAL_PROBE_FUNCTION(signal_probe_soc_fatal_alert_req,
993988
`TOP_HIER.soc_fatal_alert_req_i,

hw/top_darjeeling/dv/env/seq_lib/chip_sw_soc_proxy_gpio_vseq.sv

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ class chip_sw_soc_proxy_gpio_vseq extends chip_sw_base_vseq;
3131
test_dio_soc_gpis();
3232
test_dio_soc_gpos();
3333
test_mio_soc_gpis();
34-
send_external_irq();
3534
test_mio_soc_gpos();
3635
endtask
3736

@@ -179,13 +178,6 @@ class chip_sw_soc_proxy_gpio_vseq extends chip_sw_base_vseq;
179178
end
180179
endtask
181180

182-
task send_external_irq();
183-
void'(cfg.chip_vif.signal_probe_soc_intr_async(.kind(dv_utils_pkg::SignalProbeForce),
184-
.value(1'b1)));
185-
cfg.chip_vif.cpu_clk_rst_if.wait_clks(100);
186-
void'(cfg.chip_vif.signal_probe_soc_intr_async(.kind(dv_utils_pkg::SignalProbeRelease)));
187-
endtask
188-
189181
task await_muxable_soc_gpis_mapped();
190182
`DV_WAIT(cfg.sw_logger_vif.printed_log == "Muxable SoC GPIs mapped.")
191183
muxable_soc_gpis_mapped = 1'b1;

hw/top_darjeeling/dv/env/seq_lib/chip_sw_soc_proxy_smoke_vseq.sv

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -73,39 +73,6 @@ class chip_sw_soc_proxy_smoke_vseq extends chip_sw_base_vseq;
7373
`dv_error("Resets did not complete within required time!")
7474
)
7575

76-
// Wait until SW confirms reset on external request.
77-
`DV_WAIT(cfg.sw_logger_vif.printed_log == "Reset on external request.")
78-
79-
// Test external IRQs one after the other.
80-
for (int unsigned i = 0; i < soc_proxy_reg_pkg::NumExternalIrqs; i++) begin
81-
logic [soc_proxy_reg_pkg::NumExternalIrqs-1:0] intr = 1 << i;
82-
string irq_str = $sformatf("IRQ %0d", i);
83-
84-
// Wait for SW to confirm that the IRQ is enabled.
85-
`DV_WAIT(cfg.sw_logger_vif.printed_log == $sformatf("%s enabled.", irq_str))
86-
87-
// Trigger external IRQ.
88-
`uvm_info(`gfn, $sformatf("Triggering %s.", irq_str), UVM_LOW)
89-
void'(cfg.chip_vif.signal_probe_soc_intr_async(.kind(dv_utils_pkg::SignalProbeForce),
90-
.value(intr)));
91-
92-
fork
93-
begin
94-
// Ensure that an internal wakeup request is raised.
95-
await_soc_proxy_wkup_internal_req();
96-
end
97-
begin
98-
// Ensure that SW confirms the IRQ is pending in `soc_proxy` and `rv_plic`.
99-
`DV_WAIT(cfg.sw_logger_vif.printed_log == $sformatf("%s pending in soc_proxy.", irq_str))
100-
`DV_WAIT(cfg.sw_logger_vif.printed_log == $sformatf("%s pending in rv_plic.", irq_str))
101-
end
102-
join
103-
104-
// Deactivate external IRQ.
105-
`uvm_info(`gfn, $sformatf("Releasing %s.", irq_str), UVM_LOW)
106-
void'(cfg.chip_vif.signal_probe_soc_intr_async(.kind(dv_utils_pkg::SignalProbeRelease)));
107-
end
108-
10976
endtask
11077

11178
endclass

hw/top_darjeeling/ip/soc_proxy/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ SoC Proxy is a simple comportable IP module that facilitates the breakout of sig
1313
- 2 Wakeup requests
1414
- Internal wakeup request, should be asserted whenever an external alert or IRQ is seen
1515
- External wakeup request
16-
- 32 Interrupts
17-
- External interrupt requests
1816

1917
## SoC-facing interfaces
2018

hw/top_darjeeling/ip/soc_proxy/data/soc_proxy.hjson

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,6 @@
1212
hw_checklist: "../doc/checklist"
1313
sw_checklist: "/sw/ip/soc_proxy/dif/dif_soc_proxy"
1414

15-
param_list: [
16-
{ name: "NumExternalIrqs"
17-
type: "int unsigned"
18-
default: "32"
19-
desc: "Number of external interrupt requests"
20-
local: "true"
21-
}
22-
]
23-
2415
revisions: [
2516
{
2617
version: "1.0.0"
@@ -147,13 +138,6 @@
147138
}
148139
]
149140

150-
interrupt_list: [
151-
{ name: "external"
152-
desc: "External interrupt request"
153-
width: 32 // keep equal to `NumExternalIrqs`
154-
}
155-
]
156-
157141
reset_request_list: [
158142
{ name: "rst_req_external"
159143
desc: "External reset request"
@@ -279,13 +263,6 @@
279263
act: "rcv"
280264
desc: "Reset request from SoC, asynchronous, level-encoded"
281265
}
282-
{ struct: "logic"
283-
type: "uni"
284-
name: "soc_intr_async"
285-
act: "rcv"
286-
width: 32 // keep equal to `NumExternalIrqs`
287-
desc: "Interrupt request from SoC, asynchronous, level-encoded"
288-
}
289266
{ struct: "logic"
290267
type: "uni"
291268
name: "soc_gpi_async"

0 commit comments

Comments
 (0)