Non-functional ACA1233n (Hot CPLD normal?) query

Caution: Non registered users only see threads and messages in the currently selected language, which is determined by their browser. Please create an account and log in to see all content by default. This is a limitation of the forum software.


Also users that are not logged in can not create new threads. This is a, unfortunately needed, counter measure against spam. Please create an account and log in to start new threads.

Don't Panic. Please wash hands.
  • Hi Jens!


    It's been a while. Just wondered if you ever got around to looking at the CPLD repair board? I still have my poorly ACA1233n-55, that's wanting a new data-CPLD.


    Cheers,


    Graysters

  • I have now put a large post-it-note on my monitor to do that first thing tomorrow. I do have the boards, but didn't formalize any product description/procedures for these spare parts, but I'll slip this in for you (won't even try to make this a new product any time soon).


    J

  • Just an update in case anyone was interested in the fate of this card...


    Jens managed to ship me a replacement Data CPLD using his nice carrier board. Here it is with the 'patient':



    I was able to successfully remove the old damaged CPLD and replace it with the new CPLD:




    and, after a bit more debugging (and a couple more patch wires around damaged traces), it lives!




    The CPU on the board appears stable, and all RAM is detected and tests OK! Hooray!


    The one final issue I'm having is getting it working with a known-good FPU (I know... not much software actually uses it... but darn-it do I want this board back fully working!)... but I'll delve into this in the next post...


    Thanks again Jens for the continued above-and-beyond support for his products!


    Cheers,


    Graysters

  • As mentioned in my previous post, with the new Data CPLD, it would appear that the CPU and RAM are fully functional on this accelerator. However, I'm not able to get the system to boot with a (multiple) known-good FPU(s) in place.


    I have tried both with a synchronous CPU/FPU clock (55.5MHz), and with the FPU run with a separate crystal at various other frequencies (tried 50MHz, 40MHz, 32MHz, 16MHz, 8MHz)


    Swapping ROMs to DIAGROM, I can see that the system starts OK with the FPU present and clocked, but hangs as soon as it tries to test for the presence of the FPU.



    Looking at the trace above where I'm monitoring pins on the FPU (triggered on !CS going low). Referring to the 68882 datasheet, I *think* the CPU is trying to do a write into the FPU control register (A[4:1]: 0001), and then a read from the FPU response register (A[4:1]: 0000) but I'm a little suspicious of the timing of the various control signals (!CS/!AS/!DS/!DSACK*/R!W), they don't quite tally with the timing diagrams in the datasheet (!AS in particular not going low in the FPU write cycle seems odd...). I've not checked the Data bus yet to see what's happening during the FPU write/read, that's probably my next step... just need to solder some wires to hook my probes onto... any other signals of interest worth probing around the FPU, or CPLDs?


    In the meantime. Jens, I wonder if you would be able to confirm the connectivity of the FPU socket to the CPU, CPLDs, and elsewhere. Anything missing from the connectivity list below that I could check for/patch?


    FPU Pin CPU Pin Data CPLD Address CPLD Other
    CLK - (when solder pad not bridged) - - FPU CLK Crystal Pin
    !CS - - Pin 9 -
    R/!W R/!W Pin 5 Pin 71 -
    !DS !DS - - -
    !AS !AS Pin 72 R12 (Pull-up Res)
    !DSACK0 !DSACK0 - Pin 66 R3 (Pull-up Res)
    !DSACK1 !DSACK1 - Pin 70 R2 (Pull-up Res)
    !SENSE - - Pin 16 -
    !SIZE - - - Tied High
    A0 - - - Tied High
    A1 A1 - Pin 55 (Expansion Connector)
    A2 A2 - Pin 53 (Expansion Connector)
    A3 A3 - Pin 61 (Expansion Connector)
    A4 A4 - Pin 50 (Expansion Connector)
    D31-D0 D31-D0 Various Pins - Various Pins on Bus Driver


    (e.g. is !DS really only connected between CPU and FPU and nowhere else?)


    I couldn't find any connections from the expansion connector FPUCS (pin 115) or FPUSENSE (pin 116) pins, but assumed this is because the FPU is isolated from the amiga bus and only directly coupled to the CPU on the expansion card... (correct me if I'm wrong though!)


    Anywhere else I should go searching for open connections? Specifically in the case where the CPU and RAM appear to work fine, but the FPU doesn't? I did half wonder if there could be a data bus contention issue, whereby when the CPU is trying to read from the FPU, but the Data CPLD is still driving the ACA1233n-55's data bus as I don't know how the the data CPLD distinguishes between a read from the amiga bus or RAM, and the FPU... (presumably lines from the address CPLD to the data CPLD?)


    Your thoughts and insights always much appreciated.


    Cheers,


    Graysters

  • Didn't check the pinout, but as you've found out, the A1200 bus is separate from the local CPU bus. There are two AS signals, one from the 68030, and another one generated by the CPLD, mimicing the 68020 side for the A1200 bus.


    FPU select is happening based on addresses and function code. Termination of the access is purely done by the FPU with DSACKn. If you see FPU select happening, you already know that the FPU has been detected, as without FPUsense, you'd see a bus error instead of a chip select.


    Jens

  • Right... FPU Sorted!


    It was the FPU socket that was causing the problem!


    Now... Confession time:


    This one was probably my fault for using the FPU socket as a handy place to poke wires into so I could hook it up to my scope while I was debugging the failed CPLD.. Wires that were probably too big and ended up expanding the pin holders in the socket such that a number of them weren't making good contact with the smaller diameter FPU pins when the FPU was in place.


    Anyway, I managed to source a replacement FPU socket, de-solder the old one and replace with the new one. Once in place, not only does the FPU work, it seems to work reliably at a synchronous 55.55MHz... Result!



    Also nice to see Dhrystone is on-par with the '(AC)A1233n-55' benchmark in the module downloaded here: http://wiki.icomp.de/wiki/ACA1233


    One final thing I need to check is the clock port... I'm 99% certain there's a couple of opens from the expansion slot connector to the clock port headers that'll need a couple of patch wires, I'll see if I can source an RTC board to plug in and test.


    Feeling pretty chuffed to have brought this board back to life thanks to Jens' help, and can now sit happy knowing I have one of the fastest 68030 based accelerators ticking away in my A1200 :)


    Cheers,


    Graysters

  • This one was probably my fault for using the FPU socket as a handy place to poke wires into so I could hook it up to my scope while I was debugging the failed CPLD..

    Most sockets have a spec for max. 0.9mm thickness of the pins. The 68030, 68040 and 68060 CPUs have exactly that maximum size, so they are difficult to insert and remove from any socket. I stopped using sockets for the 68030 after the ACA1230, because it is a) too expensive and b) direct soldering helps with heat dissipation. Only on the ACA1240/1260, I'm going back to sockets, because that one has an active cooling system, and people might have a legit reason to change to a different CPU.


    Congrats on this resurrection :-)


    Jens