OpenCores

PROBLEM WHEN INT AND JMP

Back to bugtracker overview.

Information:
Type :: BUG
Status :: CLOSED
Assigned to :: Arnim, Laeuger

Description:
With the latest version I have the following problem:
if an interrupt is executed (int_pending_s in decoder1.vhd)
when a JMP instruction is being fetched I get the following
situation:
1) fetch 1st byte of jump ; I see opc_inj_int_s going true
2) refetch 1st byte of jump --> why????
3) fetch at address 4 BUT IT HAD TO BE THREE!!!!
Help me please

Bug report is confirmed:
When code is executed from Memory Bank 1, the injected CALL triggered by the interrupt does not always vector to address 3. This happens because of a bus collision between the decoder unit and the db_bus unit. The resulting address can be either:
* 000h, 001h, 002h, 003h for external and timer interrupt
* 004h, 005h, 006h, 007h for timer interrupt

The problem was introduced in release 0.6 BETA when the glitch on PCH was fixed.

Fixed in:
decoder.vhd 1.21
New regression test: int_on_mb1
Fix will be included in next release.

Comments:
No comments yet...

Post a comment:
Login to post comments!

Back to bugtracker overview.

© copyright 1999-2012 OpenCores.org, equivalent to ORSoC AB, all rights reserved. OpenCores®, registered trademark.