Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HWloop end CSR updated by a cancelled cv.end instruction #888

Closed
pascalgouedo opened this issue Oct 9, 2023 · 1 comment
Closed

HWloop end CSR updated by a cancelled cv.end instruction #888

pascalgouedo opened this issue Oct 9, 2023 · 1 comment
Labels
Component:RTL For issues in the RTL (e.g. for files in the rtl directory) PARAM:PULP_XPULP Issue depends on the PULP_XPULP parameter Status:Resolved Issue has been resolved, but closure is pending on git merge and/or issuer confirmation Type:Bug For bugs in the RTL, Documentation, Verification environment or Tool and Build system

Comments

@pascalgouedo
Copy link

Issue Description

HWloop end address CSR is updated while there is a trigger match on cv.end instruction which should prevent any CSR update.

Component

Component:RTL

Steps to Reproduce

As shown below, the following sequence happens:

  • debug_req at time 2
  • Core going to debug mode at time 10
  • Trigger tdata1 register written enabling "match instruction address" at time 14
  • dret executed at time 16 putting back the Core in running mode at time 22
  • instruction fetch from address 0x0 (pc_if = depc) at time 22
  • cv.end in ID stage firing trigger_match_o (pc_id == tmatch_value_q) at time 24
  • ID instruction cancelled by halt_id (id_valid = 0) at time 24
  • Core going in debug mode at time 30

While cv.end should be cancelled and have no effect on CSRs, hwlp_we_i[1] is still asserted at time 24 and updates hwlp_end_q the cycle after.

Screenshot 2023-10-09 124144

Top Level Parameters

cv32e40p_wrapper #(
    .PULP_XPULP       (1),
    .PULP_CLUSTER     (0),
    .FPU              (0),
    .PULP_ZFINX       (0),
    .NUM_MHPMCOUNTERS (1)
)

Git hash: ebdbbb7


Product: OneSpin 360 DV-Verify
App: Processor Verification App
Tool's version: 2023.3_1

@pascalgouedo pascalgouedo added Type:Bug For bugs in the RTL, Documentation, Verification environment or Tool and Build system Component:RTL For issues in the RTL (e.g. for files in the rtl directory) labels Oct 9, 2023
pascalgouedo pushed a commit to pascalgouedo/cv32e40p that referenced this issue Oct 24, 2023
Signed-off-by: Pascal Gouedo <pascal.gouedo@dolphin.fr>
@pascalgouedo
Copy link
Author

Corrected with PR #897

@pascalgouedo pascalgouedo added Status:Resolved Issue has been resolved, but closure is pending on git merge and/or issuer confirmation PARAM:PULP_XPULP Issue depends on the PULP_XPULP parameter labels Oct 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component:RTL For issues in the RTL (e.g. for files in the rtl directory) PARAM:PULP_XPULP Issue depends on the PULP_XPULP parameter Status:Resolved Issue has been resolved, but closure is pending on git merge and/or issuer confirmation Type:Bug For bugs in the RTL, Documentation, Verification environment or Tool and Build system
Projects
None yet
Development

No branches or pull requests

1 participant