You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A peripheral device with APB3 target interface and an IRQ interrupt output is connected to Renode via the new DPI interface. The APB3 bus reads/writes behave as expected. However, when the DUT asserts the IRQ line, we observe that Renode shows the following:
It prints the following error: 11:50:59.2184 [ERROR] dut: Timeout reached while waiting for a tick response.
Renode crashes with the following dump:
11:51:09.2264 [ERROR] dut: Send error!
Fatal error:
Exception of type 'Antmicro.Renode.Peripherals.CPU.CpuAbortException' was thrown.
at Antmicro.Renode.Peripherals.Verilated.BaseVerilatedPeripheral.AbortAndLogError (System.String message) [0x00027] in <7261fe6bf97f4df0ae1a5e909490eaf5>:0
at Antmicro.Renode.Peripherals.Verilated.VerilatedPeripheral+<>c__DisplayClass0_0.<.ctor>b__0 () [0x00058] in <7261fe6bf97f4df0ae1a5e909490eaf5>:0
at Antmicro.Renode.Peripherals.Timers.LimitTimer.OnLimitReached () [0x0002c] in <b05710e063024506ba998245a09a24f0>:0
at Antmicro.Renode.Time.BaseClockSource.Update (Antmicro.Renode.Time.TimeInterval time, System.Collections.Generic.List`1[System.Action]& alreadyRunHandlers) [0x000d7] in <b05710e063024506ba998245a09a24f0>:0
at Antmicro.Renode.Time.BaseClockSource.AdvanceInner (Antmicro.Renode.Time.TimeInterval time, System.Boolean immediately) [0x0007b] in <b05710e063024506ba998245a09a24f0>:0
at Antmicro.Renode.Time.BaseClockSource.Advance (Antmicro.Renode.Time.TimeInterval time, System.Boolean immediately) [0x00055] in <b05710e063024506ba998245a09a24f0>:0
at Antmicro.Renode.Core.Machine.HandleTimeProgress (Antmicro.Renode.Time.TimeInterval diff) [0x00000] in <b05710e063024506ba998245a09a24f0>:0
at Antmicro.Renode.Time.TimeSourceBase.SynchronizeVirtualTime () [0x00050] in <b05710e063024506ba998245a09a24f0>:0
at Antmicro.Renode.Time.TimeSourceBase.ReportTimeProgress () [0x00000] in <b05710e063024506ba998245a09a24f0>:0
at Antmicro.Renode.Time.TimeHandle.ReportProgress (Antmicro.Renode.Time.TimeInterval progress) [0x00092] in <b05710e063024506ba998245a09a24f0>:0
at Antmicro.Renode.Peripherals.CPU.BaseCPU.ReportProgress (System.UInt64 instructions) [0x00041] in <8dc598eb94ab48eeaf1e0ec47b6fddd1>:0
at Antmicro.Renode.Peripherals.CPU.BaseCPU.CpuThreadBodyInner (System.Boolean singleStep) [0x00114] in <8dc598eb94ab48eeaf1e0ec47b6fddd1>:0
at Antmicro.Renode.Peripherals.CPU.BaseCPU.CpuThreadBody () [0x00163] in <8dc598eb94ab48eeaf1e0ec47b6fddd1>:0
at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00014] in <aeea2e33ea654cfabae63b60ba0e127a>:0
at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071] in <aeea2e33ea654cfabae63b60ba0e127a>:0
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <aeea2e33ea654cfabae63b60ba0e127a>:0
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x0002b] in <aeea2e33ea654cfabae63b60ba0e127a>:0
at System.Threading.ThreadHelper.ThreadStart () [0x00008] in <aeea2e33ea654cfabae63b60ba0e127a>:0
exception inside UnhandledException handler: (null) assembly:mscorlib.dll type:IOException member:(null)
The DUT behavior has been verified by enabling VCD tracing and checking if the DUT sends the IRQ. You can see this in the waveform below:
The DUT asserts o_intr and the renode_interrupts module is receiving the interrupt properly, see interrupts[0] and interrupts_prev[0] in the waveform.
Description
A peripheral device with APB3 target interface and an IRQ interrupt output is connected to Renode via the new DPI interface. The APB3 bus reads/writes behave as expected. However, when the DUT asserts the IRQ line, we observe that Renode shows the following:
11:50:59.2184 [ERROR] dut: Timeout reached while waiting for a tick response.
The DUT behavior has been verified by enabling VCD tracing and checking if the DUT sends the IRQ. You can see this in the waveform below:
![image](https://private-user-images.githubusercontent.com/110086/275793624-7c0415fa-78c5-4559-9f16-aa9ac39c7a4d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzNDc3OTQsIm5iZiI6MTcyMTM0NzQ5NCwicGF0aCI6Ii8xMTAwODYvMjc1NzkzNjI0LTdjMDQxNWZhLTc4YzUtNDU1OS05ZjE2LWFhOWFjMzljN2E0ZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxOVQwMDA0NTRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hYWFlMWRjMWNlMjRmNTgxZTgzMjk5ZTE5ODBhNmNhY2JlNzk5YjJhYTgyOTQ3OWY0ZjU1Mjg5NzFjOTc2MmU4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.yjr3sMyfuCgEyfjdbVHrXic46EBl7TEDXURKFhbJ6p0)
The DUT asserts
o_intr
and therenode_interrupts
module is receiving the interrupt properly, seeinterrupts[0]
andinterrupts_prev[0]
in the waveform.The
.repl
file contains this:The text was updated successfully, but these errors were encountered: