FPU in coprocessor and 32bit mode
Posted: 29 Sep 2021 19:44
Evening all.
I'm looking at the FPU portion of my board at the moment, and already found one bodgaeable tidbit (I wired A0 when I shouldn't have done -- derp).
So here's the schematic:-
Which I hope represents the 32bit port version of the diagram on the data sheet:-
.
But I have a couple of questions to those more learned in the ways of the floating point unit.
I'm currently supplying the motherboard clock as FPUCLK on the basis of being scared about not having the clock available during CPLD flash. This works well when the processor is also at the same clock (both 16MHz), but fails if the CPU has a faster clock. Logically, I think this is probably expected (DSACKx will still be asserted when the CPU has moved on?). Can anyone confirm that in the event of asynchronous clocks the FPU's must be the faster?
Secondly, this is a 32 bit port -- I have both DSACK[0] and [1] connected, but I only ever see activity on DSACK[1]. This is not what I was expecting -- I was rather expecting both to activate at the same time, but this is *not* an asynchronous bus access, this is a co-processor access, so perhaps it's different. Can anyone confirm what's meant to be going on here?
Thanks in advance!
BW.
I'm looking at the FPU portion of my board at the moment, and already found one bodgaeable tidbit (I wired A0 when I shouldn't have done -- derp).
So here's the schematic:-
Which I hope represents the 32bit port version of the diagram on the data sheet:-
.
But I have a couple of questions to those more learned in the ways of the floating point unit.
I'm currently supplying the motherboard clock as FPUCLK on the basis of being scared about not having the clock available during CPLD flash. This works well when the processor is also at the same clock (both 16MHz), but fails if the CPU has a faster clock. Logically, I think this is probably expected (DSACKx will still be asserted when the CPU has moved on?). Can anyone confirm that in the event of asynchronous clocks the FPU's must be the faster?
Secondly, this is a 32 bit port -- I have both DSACK[0] and [1] connected, but I only ever see activity on DSACK[1]. This is not what I was expecting -- I was rather expecting both to activate at the same time, but this is *not* an asynchronous bus access, this is a co-processor access, so perhaps it's different. Can anyone confirm what's meant to be going on here?
Thanks in advance!
BW.