Manual does not specify when ILAT bits are cleared

Any technical questions about the Epiphany chip and Parallella HW Platform.

Moderator: aolofsson

Manual does not specify when ILAT bits are cleared

Postby alexrp » Fri Dec 13, 2013 9:31 am

It is not clear when the bit corresponding to an interrupt is cleared in the ILAT register. This should probably be added to Figure 15 in section 7.8.1, unless of course the assumption is that software will clear it? That would seem odd, though, as Epiphany's interrupt mechanism seems to be very similar to Blackfin's, which does clear it in hardware.
alexrp
 
Posts: 154
Joined: Mon Dec 17, 2012 3:22 am
Location: Thisted, Denmark

Re: Manual does not specify when ILAT bits are cleared

Postby aolofsson » Fri Dec 13, 2013 6:57 pm

Good catch! The ILAT[N] bit is cleared automatically by the hardware at the same time that the PC jumps to the IVT entry and the previous PC is saved n the IRET.
Andreas
User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA

Re: Manual does not specify when ILAT bits are cleared

Postby aolofsson » Fri Dec 13, 2013 6:57 pm

Good catch! The ILAT[N] bit is cleared automatically by the hardware at the same time that the PC jumps to the IVT entry and the previous PC is saved n the IRET.
Andreas
User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA

Re: Manual does not specify when ILAT bits are cleared

Postby alexrp » Sat Dec 14, 2013 5:54 pm

OK, thanks.

While I have you here: In Figure 15, one of the conditions for handling an interrupt is "~|IPEND[N:0]". I'm not sure I understand this. What's the "|"? And why the extra ":0"? Perhaps it's just meant to say "~IPEND[N]"?
alexrp
 
Posts: 154
Joined: Mon Dec 17, 2012 3:22 am
Location: Thisted, Denmark

Re: Manual does not specify when ILAT bits are cleared

Postby ysapir » Sun Dec 15, 2013 9:07 pm

This is the Verilog HDL convention. It means the logical inverse ("~") of the logical OR ("|") of all bits 0 to N of bus IPEND.
User avatar
ysapir
 
Posts: 393
Joined: Tue Dec 11, 2012 7:05 pm

Re: Manual does not specify when ILAT bits are cleared

Postby timpart » Mon Dec 16, 2013 12:50 am

timpart
 
Posts: 302
Joined: Mon Dec 17, 2012 3:25 am
Location: UK

Re: Manual does not specify when ILAT bits are cleared

Postby alexrp » Mon Dec 16, 2013 8:10 pm

It gets set around the same time IRET gets set, it seems: https://github.com/adapteva/epiphany-cg ... .cpu#L1050
alexrp
 
Posts: 154
Joined: Mon Dec 17, 2012 3:22 am
Location: Thisted, Denmark

Re: Manual does not specify when ILAT bits are cleared

Postby alexrp » Mon Dec 16, 2013 8:13 pm

alexrp
 
Posts: 154
Joined: Mon Dec 17, 2012 3:22 am
Location: Thisted, Denmark

Re: Manual does not specify when ILAT bits are cleared

Postby ysapir » Tue Dec 17, 2013 1:23 am

User avatar
ysapir
 
Posts: 393
Joined: Tue Dec 11, 2012 7:05 pm

Re: Manual does not specify when ILAT bits are cleared

Postby aolofsson » Wed Dec 18, 2013 9:00 pm

-Writing it out the description of IPEND in words as well:

-The IPEND records data about all ISRs that have started but have yet to finish (with an RTI instruction).

-The IPEND has the same number of bits as the ILAT register, with each bit position in the IPEND matching up to the
same bit number position in the ILAT register.

-If a new interrupt comes into the interrupt controller, before it can start, the interrupt controller checks the IPEND register
to see if there are any currently active interrupts (with the IPEND bit set) with equal or higher interrupt level. Bit zero is the
highest priority interrupt corresponding to the SYNC interrupt. The USER interrupt has the lowest priority.

-To illustrate the priority aspect, if a SYNC interrupt comes in and the there are other interrupts currently active, the SYNC ISR will still kick off (assuming the global interrupts are enabled and the IMASK bits aren't set)

..sorry for the long winded statements, hope they help more than confuse.

Andreas
User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA


Return to Epiphany and Parallella Q & A

Who is online

Users browsing this forum: No registered users and 19 guests