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

CdM-16/e incorrectly reacts to exception request #75

Open
Intelix8996 opened this issue Aug 20, 2024 · 0 comments
Open

CdM-16/e incorrectly reacts to exception request #75

Intelix8996 opened this issue Aug 20, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@Intelix8996
Copy link
Member

CdM-16/e architecture has an important invariant - when conditions for an exception are met, processor must not change its external state, as it can potentially affect these conditions.

Currently, this invariant is broken. When fetching an instruction, exception request via EXC pin alters processor's external state.

This happens because exception request triggers latch_int signal, that, combined with fetch, activates inhibit_microcode, which sets all external pins to some default state.

image

Proposed solution: Gate latch_int & fetch branch with exc_triggered signal so that it activates only when processor fetches an interrupt virtual instruction.

@Intelix8996 Intelix8996 added the bug Something isn't working label Aug 20, 2024
@Intelix8996 Intelix8996 added this to the Release 0.2.1 milestone Aug 20, 2024
@Intelix8996 Intelix8996 removed this from the Release 0.2.1 milestone Sep 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: 📋 Backlog
Development

No branches or pull requests

1 participant