Xilinx XC9500 Jtag instructions?

Does anyone know where to find the XC9500 Jtag programming instructions? I have one for the XCR3000 (cool runner) and looking for the equivalence for XC9500 The XCR3000 jtag spec has detail info down to the TMS/TDI/TDO level. I am sure there is one for XC9500 somewhere. I can't even find the XCR3000 on xilinx's web anymore.

Reply to
linnix
Loading thread data ...

Did you look in the BDSL files in the webpack xc9500xl/data/ directory?

--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Reply to
Uwe Bonnes

That would give me the boundary scan registers. What I am looking for is the spec of Flash programming. For example, for XCR3032, I have to shift in 304 data bits and 9 address bits to access the Flash. Would it be the same for XC9536/9572, perhaps a different number of bits?

Reply to
linnix

for exampl in xc9500xl/data/xc9572xl_pc44.bsd you find

attribute INSTRUCTION_OPCODE of xc9572xl_pc44 : entity is "BYPASS ( 11111111)," & "CLAMP ( 11111010)," & "ISPEX ( 11110000)," & "EXTEST ( 00000000),"& "FBULK ( 11101101),"& "FBLANK ( 11100101),"& "FERASE ( 11101100),"& "FPGM ( 11101010)," & "FPGMI ( 11101011)," & "FVFY ( 11101110)," & "FVFYI ( 11101111)," & "HIGHZ ( 11111100),"& "IDCODE ( 11111110),"& "INTEST ( 00000010),"& "ISPEN ( 11101000)," & "ISPENC ( 11101001)," & "SAMPLE ( 00000001)," & "USERCODE ( 11111101)";

In the last version of naxjp with source available, you can find how these commands are used to programm the device. E.g. in naxjp-079/alg95xl.cpp for erasing the device you find:

bool DeviceXC95XL::Erase(){ csd->SetLength(Num,18); csd->SetSMASK(Num,0x3ffff); if(!stricmp(DeviceCmd,"oerase")){ PrintMessage("erase"); csi->SetTDI(Num,0xec,8,0); csi->OutputSIR(false); csd->SetTDI(Num,0xaa55 OutputSDR(false,400000,IgnoreLevel); } PrintMessage("bulk erase"); csi->SetTDI(Num,0xed,8,0); csi->OutputSIR(false); csd->SetTDI(Num,0x03ffff,18,0); csd->OutputSDR(false,400000,IgnoreLevel); csd->SetTDI(Num,0x00001,18,0); csd->SetTDO(Num,0x00001,18,0); csd->SetMASK(Num,0x00003,18,0); return csd->OutputSDR(true,0,IgnoreLevel);

The comments are however in japanese, Nahitafu has no big knowledge of english and further versions of naxjp where no longer available in source.

Probably Nahitafu signed some NDAs.

I wish the programming instruction would be available somewhere and would be folded in some program like xc3sprog.

Cheers

--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Reply to
Uwe Bonnes

Can you post the rest of this file?

I have some Japanese friends to help.

I doubt it. Xilinx published full spec for XCR3000. Why would they hold out on XC9500? I am just trying to make use of some old inventories. Otherwise, I have to buy new XCR3000s.

I'll get it translated and post it. Thanks.

Reply to
linnix

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.