On Mon, Jul 11, 2011 at 1:49 PM, Walter F.J. Mueller <[email protected]> wrote: > Jie Zhang wrote: >> On Sun, Jul 10, 2011 at 12:14 PM, Walter F.J. Mueller >> <[email protected]> wrote: >>> Error svf: SIR command length inconsistent. >>> >>> It is caused by the second last svf command >>> >>> SIR 14 TDI (3fff) SMASK (3fff) ; >>> >>> but it is not clear to me what's wrong here. I added some more info >>> to the error message to find out the the message is issued because >>> >>> priv->ir->value->len is 6 >> >> So Instruction Register is 6-bit >> >>> len is 14 >>> >>> It's obvious that the length field as well as the constants involved >>> in the failing SIR command are 14, and it's not clear to be the svf >>> engine expects something of length 6 here. >>> >> SIR (Scan Instruction Register) Performs an IEEE 1149.1 Instruction >> Register scan. >> >> So the above SIR command tries to scan 14-bit data into the 6-bit >> Instruction Register. > > Thanks for the fast response ! > > That describes why the code at this point generates an error. > > But a 'detect' command shows > > IR length: 14 > Chain length: 2 > > and a 'discovery' command also gives > > Detecting IR length ... 14 > > So the JTAG chain definitely has an IR of length 14, and the SIR instruction > in the svf file tries to write 14 bit, which seems to be reasonable. > > So I wonder a bit why priv->ir->value->len has a value of 6. > OK. There are two parts in your scan chain. Below is my guess:
It seems IR length of one is 6, the other is 8. It seems SIR scans instruction for both parts at once. So it uses length 14. So I think it might be a bug in UrJTAG. It should check the total length of instruction registers of all parts against the parameter. But I don't know what the best fix will be. I took a quick look at the svf.c, it seems it only works with scan chain with only one part on it. One possible way I think can fix/workaround your issue is to write a jtag data file which defines SIR instruction and SDR data register properly then tell UrJTAG to use that file for your board, then run your SVF file. I'm not familiar with SVF at all. So I might be totally wrong. > One thing I didn't mention in my initial posting is that the 'svf' command > produces some warnings > > Warning svf: command TIR not implemented > Warning svf: command TDR not implemented > Warning svf: command HIR not implemented > Warning svf: command HDR not implemented > > There are indeed TID, TDR, HIR and HDR commands in the svf file created by > the Xilinx impact tools. > > Is it safe that these svf commands are apparently parsed but ignored ? > Is that the reason that jtag gets confused about the IR length ? > I don't think that's the reason. If the length parameters to them are zeros. It should be safe to ignore them. But again, I can be wrong. Jie ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 _______________________________________________ UrJTAG-development mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/urjtag-development
