P2 verification plan
VonSzarvas
Posts: 3,450
in Propeller 2
This discussion was created from comments split from: A "P2" - now or never - I'm off to join the ARMy.
Comments
Hmm, I see that other thread has been closed.
Does that mean you will be manually generating sub-threads for all the valid points that were raised ?
http://forums.parallax.com/discussion/154461/is-there-a-testbench-for-opcodes-instruction-set-exersizer
I would assume that something like this is run after every FPGA build. Nice to know for both people working on P1 FPGAs and P2.
I'm guessing Chip runs some test passes before all FPGA releases, but getting full coverage instruction set exercisers that would catch all bugs, is a monumental task.
The active working projects may be better at catching system-related bugs ?
(eg I think the USB test code, is now r14 valid at least ?)+
It certainly should be possible to do a simpler subset that confirms every opcode at least does what was expected.
There should also be similar 'echo' self test suites around Smart Pins. I've not seen much done on that ?
eg Config a Smart pin to each mode and read-back using another smart pin, to confirm 'as expected'
These can form user tutorials, in the release product.
The interrupt on REP bug that Oz found was a good find. Although it only mattered for the debug IRQ I think.
Broadly, this means (amongst other things) items like separate watchdog oscillators, and ability to check an OSC is present, before enabling it as SysCLK source. Some include missing-clock detectors that reset.
P2 has two RC osc, so I think it gets close ?
Other vendors offer libraries that do some self verification at run time:
one example:
http://www.silabs.com/products/development-tools/software/efm8-iec-60730-library
For anyone who doesn't know what I mean by verification plan, here's an old book about it:
https://archive.org/details/springer_10.1007-978-1-4615-0473-3
I know that Parallax doesn't want to operate quite this way, so maybe just skip to Appendix D on page 207 for a quick overview.
Updating this, sharing it among the rest of us would help a lot. I had part of one I used to test things, but it's many revisions back.
Personally, I haven't done much with Smart Pins yet.
I did do a fair bit with the streamer, and Rayman's recent mouse pointer helped validate some "on the fly" change cases. There are more of those to do. They worked prior to buffering the streamer, but glitched when instruction execute didn't match end of stream. Fixed.
Also, a while back, I tried S-video, didn't see color and luma properly separated. Now that there are some docs, it's probably a good idea to test all the output cases.
Maybe we could list what we've tested?