Gavin Crate <
gavincrate42@yahoo.co.uk> wrote:
Check out my webpage here: https://sites.google.com/site/transputeremulator/Home/inmos-t414b-ucode-rom
I've spent a lot of hours and time trying to get data out of the few
samples I have with little success. Hence this blog to make the info available to the transputer group. Does anyone have any knowledge or thoughts where I might be going wrong?
What did you do? What happens?
I've never actually seen a transputer, but I've designed these kind of
silicon test interfaces before.
Things I would try:
Take ChangePadsForTestPad high
Put a binary count (or some other sequence) on LinkInput[3:0]
Check that you get the inverted count on LinkOutput[3:0]
- that'll confirm the test mode works
From my reading of the spec, to read the ROM you:
ChangePadsForTestPad:=1
EnableuRomTest:=1
noDoDPDriversfromROM:=1
TestShClk:=0
For n=0 to addresslength bits: (do you know the word and address lengths?)
TestShiftIn:=address[n] (do you know address endianness?)
pause some time
TestShClk:=1
pause
TestShClk:=0
notDoDPDriversfromROM:=0
pause
notDoDPDriversfromROM:=1
pause
for n=0 to datalength bits:
data[n]:=TestShiftOut
TestShClk:=1
pause
TestShClk:=0
pause
In the most basic sense, pulse TestShClk and see if you get any logic state changes on TestShiftOut after transitioning noDoDPDriversfromROM.
It's unlikely the ROM is full of zeroes, so any address should give you some output (though there's a risk address 0 does contain zeroes).
You would be wise to experiment with the global reset both asserted and deasserted (maybe in needs to be held in reset to prevent conflicts, or
maybe reset stops the shift register working).
The other question is whether you need the main clock(s) running to access
the ROM. When doing chip debug you'd rather not and design it that way (the fewer requirements on things you can't see the better), but if this is production test then if you can't start the PLL you junk the chip anyway so there's not much loss. Given that the ROM is probably used rather a lot by
the logic in the core clock domain, it wouldn't surprise me if that clock
needs to be running. I don't know how many clock domains the transputer
chip might have, but possibly more than one. I would hope the PLL is
something you can control from outside (rather than a modern chip where it's buried deep inside and only accessible from software).
Additionally, if this uses dynamic logic there may be minimum clock rates:
you may have to drive it approaching native speed - possibly bitbanging in software won't do.
Generally silicon debug is intended to be simple and bombproof - but it may just be you don't have the initial conditions right.
Theo
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)