A query on "Errors in memory testing" (ACA 1234 + ACA 500 Plus)

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.
  • I for one, would not mind one bit if this patch was deployed a little latter, if that delay would assure you have ample time to perform more exhaustive testing at lower personal stress level. There is a lot of hardware combinations and a lot of software that should be tested after the CPLD is patched.

    The good news is that these tests are limited to ACA500plus, ACA500 and A1200. The even better news is that in 66% of the cases, I'm testing against a system that I have the source code to.

    Taguchi method could be used to reduce the number of actual tests, reducing the labour burden.

    You generally have two methods of getting quality: You either test it into a product, or you produce it at the fundamentals. I see a lot of hobby projects that do lots of testing, but what I have never seen is any discussion about fundamentals like "is timing XY from this datasheet met?", yet this is the basic question that I've answered in a huge LO spreadsheet that actually follows each timing path. This is of course manually made, with the possibility of missing a path (can't simulate it all with the XIlinx tool, as there's quite a lot of discretes on the ACA1234), but I have verified each and every timing on the logic analyzer for plausibility. I do admit that I can't tell in full accuracy if a timing is met, as my Agilent 54622D only has a resolution of 2.5ns, so there are timings such as command/address setup to rising clock edge for RAMs (1.5ns requirement) that include some guesswork. However, with a worst-case clock cycle of 12.5ns (80MHz), there's sufficient space to add slack in all directions. So although I don't call it the Taguchi method, my way is pretty close to it, as I know each and every critical path, I know how (and why) to keep it short, and I have enough experience to not entangle too many paths.


    Still, this development was the final push to ordering a new toy, which will hopefully arrive before the end of the year: A Rohde&Schwarz RTM3004 with all the bells&whitsles, full bandwidth licensed and the added hardware for 16-channel logic analysis with 5GSamples/s.


    The sad part is that even if I would have had this toy for this development, I wouldn't have caught this error, as I've made the (in retrospect rather stupid) assumption that things I have already successfully tested don't need to be tested again. The ID for the difference between "development card" and "production card" is in a totally different area of the CPLD - the one that communicates with the MCU. Yes, I've had the Xilinx tool play tricks on me in the past, especially on the ACA500plus which has a similarly high utilization of the parts, pushing the fitter to the limit, requiring it to deal with lots of manual placement (otherwise my designs don't fit at all).


    With my LO spreadsheet taking the fitter output and timing analysis of the Xilinx ISE tool as input, I was lucky enough to be familiar with the equations output of the thing - and immediately spotted that the offending Ram address line in the fitter output only had two product terms, where it should have three: One for the "init" case, one for normal A21 passing, and one for trapdoor memory mapping. So my overall development method did help finding this fairly quickly.


    Testing should - wherever possible - be automated. We've done that very extensively for Chameleon. However, this being the 7th generation of 68030 accelerators that I design, each of them using the same trapdoor Ram mapping method, made me go too sloppy and I focused on the wrong things - like adding my "negative heat sink" (styrofoam on both sides of the card) and run load tests on memory-intensive operations with MapROM and burst switched on, and of course the typical "generate a few AIBB modules in a row", as popular wisdom of the Amiga underground believes that only the second successful AIBB module (aka no crash) tells that an accelerator can be considered "stable".


    Timm and I have worked on the CPLD update tool today - it's of course based on the update tool that we've made for the first 2018 Buddha controllers, but has a few added safety features like automated re-try, warning text and keyboard-free operation. Successfully tested with A1200 and ACA500plus, but not yet with ACA500.


    Weekend is family time, so I can only promise to get back to this on Monday. If anyone of you still has the parallel port-JTAG cable, or is willing to make one, I may sneak into the office tomorrow night after I took the kids to bed, do the ACA500 test and if it's successful, upload the archive here. I don't expect any trouble, but this is a lesson in testing. I should show that I've learned it.

  • Finally got around to testing, and had to take the ACA500 out of the list of supported hosts.


    Successful testing with A1200 and ACA500plus, where the attached archive contains all software to do the CPLD upgrade with our Parallel port JTAG cable.


    Before you launch the CPLD update, you need to double-click the ACA1234-CPUoff project to reboot the computer with it's native CPU. After reboot, double-click the "ACA1234-CPLD-Update" project icon and start holding the 10-pin JTAG connector in place.


    Once the tool has found proper connection, it will start updating the CPLD. On the A1200, the update process takes about 35 seconds. On an A500 with ACA500plus, it takes about 45 seconds. If you lose connection during the update process: Don't panic, and DO NOT SWITCH OFF. The tool will re-try until it's successful. You will see the screen flashing during the update, showing you that the process is stll going on.


    I will take more pictures and make a Wiki page tomorrow. Then comes the tedious work of contacting all customers...

  • Hello Jens !

    I don't have such a JTAG-cable. How can I get one? Didn't you mention all buyers of the card would receive a JTAG-cable?

    Thanks in advance.


    Oliver

    Commodore: A1200/1B, ACA1234/50/68882, Indi AGA MK3, Gotek, OS3.2.1 | A1200/1D.1, ACA1221lc/26,67, OS3.1 | A500/6a, ACA500+, Indi ECS V3, OS3.1 | A500/8A, Vampire v2+, Indi ECS V2, A2048, Gotek, OS3.9| A500/5, 512kB Trap, sealed, Kick 1.2 | 2×C64C, U II+, Turbo Chameleon V2, 2×1541II, Datassette | 1084S-CRT ······· Atari: Falcon030 | 1040STE | 800XL

  • I'll contact each customer via eMail this week and ask what's the preferred method of updating. Just give me more time with that - will get my Covid-19 shot today and will be back at work in maybe two hours.

  • No problem ... thanks for the quick answer.

    Commodore: A1200/1B, ACA1234/50/68882, Indi AGA MK3, Gotek, OS3.2.1 | A1200/1D.1, ACA1221lc/26,67, OS3.1 | A500/6a, ACA500+, Indi ECS V3, OS3.1 | A500/8A, Vampire v2+, Indi ECS V2, A2048, Gotek, OS3.9| A500/5, 512kB Trap, sealed, Kick 1.2 | 2×C64C, U II+, Turbo Chameleon V2, 2×1541II, Datassette | 1084S-CRT ······· Atari: Falcon030 | 1040STE | 800XL

  • Fortunately, I keep these Weidmuller wire strippers and Wera hand tools around for when I've gotta fix German stuff... :D



    And...lets see if my carefully calibrated JTAG tension finger is up to the task...



    Looks good so far...


    I better take that SMARTBLOCK command out of my startup-sequence....


    Now... let's see the RAM test...


    Yup that passes now...

  • ACA500+ & ACA1234 setup:


    After testing Agony, Supremacy and Unreal under WHDLoad
    They seem to work just fine with the ACA500+ alone

    However, once I plug in the ACA1234 they crash will all sorts of errors.


    Other games like...
    Gods, Shadow of the Beast and Golden Axe work just fine under the ACA500+ alone or the ACA500+ & ACA1234 combo


    Once people get their CPLD patched,

    I'd love to know if this is a me only problem, or maybe an ACA500+ config setting I've missed, or what have you.


    Under Agony for instance I get errors, just after launching,
    With the MMU switched off
    I pretty consistently get:


    And when I switch the MMU on
    I very consistently get:


    Under Supremacy the intro plays, just letting the intro run,

    With the MMU switched off

    I get:


    And when I switch the MMU on

    I get:



    Non WHDLoad software:
    - DPaint works
    - PPaint works
    - AMOS works
    - HippoPlayer plays MODs great


    - Amiga Test Kit still crashes with the ACA1234 installed, but it's fine with just the ACA500+


    I imagine it will be a while for others to get their CPLD patched...
    I best take up knitting :D

  • Final data point for the evening, I need to rest too :)

    I pulled the ACA500+ and ACA1234 out and popped a different 68030 50MHz accelerator into my computer.


    AND...All of my WHDLoad games work.


    I even tried my backup machine with the 'other' accelerator.
    Mean Well RT-50B PSU, No shielding, sitting on a wooden table
    All of my WHDLoad games work....


    Did not make me a better player...but Agony plays just fine


    So does Supremacy


    I didn't find one that didn't work...


    I think I can rule out that:

    - WHDLoad doesn't work with 68030 as it is setup.

    - The games might have been corrupt.

    - My setup of the games could have been wrong.

  • Okay.. couldn't sleep with this one last thing hanging in my mind...

    Everything I've done with the ACA500+ & ACA1234 combo has been in my CheckMate...
    So..

    I pulled the ACA500+ & ACA1234 out of my Checkmate,

    Installed them into the A500 motherboard sitting on my desk, 'per the recommended manner'.
    I slid the lower shield and insulator under the motherboard and attached using M3x5 screws and nuts
    Plugged in my stock Commodore Amiga PSU, keyboard & mouse


    Fired it up...

    Agony crashed seconds after loading :( same error as in the CheckMate Amiga.


    So... the problem follows the ACA500+ & ACA1234 card pair... even to a second motherboard... even when plugged into the side with no Zorro II card... even with stock PSU, Keyboard and mouse.

  • Updating the firmware is not (yet) as easy as double-clicking, but Timm has made project icons for the CPLD update this week. He may be able to slip in such a project icon in the next few days.


    If you don't want to wait, please launch the flash tool from command line, with the binary as argument.

  • Updating the firmware is not (yet) as easy as double-clicking, but Timm has made project icons for the CPLD update this week. He may be able to slip in such a project icon in the next few days.


    If you don't want to wait, please launch the flash tool from command line, with the binary as argument.

    Thanks for your quick reply. Cant get that to work either. Do you have to hava ACA tool installed for this? because it's asking for: CD failed returncode 20. Maybe I just gonna wait for the "clickable icon" :-)

  • ACATool is not required. ACATool doesn't really require an installation either. It's getting installed into SYS:Prefs/ with our OS installer, but It's just a little program that you can move any place. You start it only for making adjustments, it's not running all the time.

  • That appears consistent, yes. May I ask what type of "other 50MHz 68030 accel" that is, and what the exact config of that board is?

    When I first noticed issues with my ACA1234 (17th), I asked Alan to send me a TF536, we live fairly close by one another (Toronto - Montreal)

    I just got it, and plugged it in yesterday (23rd), I don't think it has settings ... none that I know of... I should probably look into that... I figured it just did it's thing without input from me...


    Anyway.


    Here is the test setup where all my WHDLoad games are working.


    - A500 rev 5
    - Indivision ECS v2

    - ACE2b
    - ROM adapter and KS3.2

    - TF536

    - Commodore Amiga Keyboard and Mouse


    That accelerator also works in my CheckMate Amiga. (I did not think to shoot a photo)


    notes:

    I built my 4GB flash CF install myself..using the ACA500+, OS3.2 install files, a bunch of update files from iComp and and AmiNet downloads.

    The TF536 is new to the house and should leave soon, I don't think anything in my software config is more friendly to the other accelerator. I've made zero changes to help or assist it. It's running the exact same CF card and software load as my ACA500+

  • The last reply was more than 365 days ago, this thread is most likely obsolete. It is recommended to create a new thread instead.