Trying to load code to new hardware

Technical questions regarding the XTC tools and programming with XMOS.
User avatar
gerrykurz
XCore Addict
Posts: 204
Joined: Sun Jun 01, 2014 10:25 pm

Post by gerrykurz »

Regarding the assembly issue, I have determined that the paste mask for the parts was not done correctly and also that the xray process can see voids or shorts but cannot see discontinuities.

The really disappointing part of this for me is that I copied the slice kit reference design for the chip footprint by creating a pcb library from the pcb file. This generates a footprint with a non-compliant paste mask however when looking at the slice kit pcb file the paste mask is correct. I suspect that the paste mask was edited in the pcb file but the part footprint in the library was not. Please check and correct this so that the next new user of the reference design will not have this problem.

This is a big problem as I will now likely have to try and rework these boards and/or junk the prototype assemblies at significant expense.

I appreciate the support on the forum but it would have been way more productive for me to have had the support up front in the design review process that I requested from xmos. What I got was a cursory design review that missed many really significant issues particularly when I had specifically requested a review of the reset/jtag/mode startup circuitry.

Also, if the most common problem that has been seen is the incorrect paste mask, and I know that this is in the datasheet, but as a new user I feel like this should have been part of the design review.


User avatar
gerrykurz
XCore Addict
Posts: 204
Joined: Sun Jun 01, 2014 10:25 pm

Post by gerrykurz »

Reply to segher:

First, thanks for all your help.

In a previous post, I posted a picture of the TDO output from my slicekit reference design system and the output is a string of 1's and 0's (see attached photo)

The SPI clock is 1.25 MHz and I am using a 25 MHz oscillator with Mode Pins 10 = 10 just like the slice kit reference design.

I can scan further into the JTAG startup and check out what you have said.
You do not have the required permissions to view the files attached to this post.
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am

Post by infiniteimprobability »

Hi,
I'm pleased the root cause has been found but appreciate that this results in more work to do, which is frustrating. Regarding design reviews, and for other readers of this post, the checklists (section H and I of the L16A doc) in the datasheet are an absolute must when designing your own PCB. They have been compiled and iterated following lots of feedback from customer and our own PCB developments/findings. They include checks for the solder paste mask and all of the common gotchas for power sequencing, debug connection and general chip life support.

However, if our ref designs don't follow our own guidelines then this definitely needs addressing because it seems reasonable to copy them and expect things to work. I checked the slicekit files https://www.xmos.com/support/xkits?subc ... nent=16282 and
can see the XPCB-054.GTP file has the correct paste mask.

I also fired up Altium to look at the design files (XPCB-054.PcbDoc), but it looks like the paste mask is also as it should be.. (see image)

Could you point me to the file that looks wrong so we can address it?
Thanks!

PS - Segher. Good work on spotting the evidence of the TDO->TDI open..
You do not have the required permissions to view the files attached to this post.
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am

Post by mon2 »

Hi Gerry. Very sad to hear about the paste differences for your project. We are closing in on a new design using the XMOS USB controller and now cross checking every little detail to avoid similar issues.

For what it is worth and hope it helps:

1) a good stencil ship should be able to rework the same stencil to suit (if requiring larger openings)

2) we (also are a Canadian company) use a very nice and highly qualified SMT shop in Markham, Ontario - maratech.ca. Perhaps worth asking about possible rework of your PCBs (best contact is Fred Lam). They have many years of experience and we have used them for 15 years to date with fairly high volumes of quality assemblies.

3) Alternatively, not sure where you are buying your bare PCBs and stencils but if it lessens the blow, we can certainly share some quality offshore experience for the raw materials. For high quality stencils we use powerstencil.com in Shenzhen. One of their many clients is Intel and apparently they have the expertise to support this account that others could not. We are paying $ 150 USD (F.O.B. Shenzhen) for a 29" x 29" stencil.

Do write back if you need details on fairly low cost but high quality PCBs. We have been designing 4 to 6 layer PCBs in Halogen Free for a number of years but RoHS is the most common flavor in Asia.

Now back to reviewing the USB Slicekit PCB files...
User avatar
gerrykurz
XCore Addict
Posts: 204
Joined: Sun Jun 01, 2014 10:25 pm

Post by gerrykurz »

The problem with the reference design is that the QFN124_XMOS footprint has been modified in the pcb file and not in the library footprint.

When Altium places a footprint into a pcb, it also keeps a copy of the footprint library separate from the actual part on the pcb. If you edit a footprint in the pcb, it does not change the stored library footprint.

Now to use a footprint from a project, you can use the Make PCB Library function. This creates a PCB library of all the footprints used in the design. HOWEVER IT CREATES THIS FROM THE STORED LIBRARY NOT FROM THE EDITED PCB. You can then use the pcb editor to copy the footprint from the pcb library to your own library. This is what I did because I could then use other footprints from the reference design if I needed to.

If you do a straight copy and paste on the footprint in the pcb, then it copies the edited version.

So my grave mistake was to assume that the footprint was correct in the library and that is why I did not check it.

If you take the slice kit pcb design file and you make a pcb library, you will see that the paste mask is incorrect. If you do an undate from PCB libraries function, you will see that the part on the pcb is changed to have an incorrect paste mask.

If you examine the slice kit design, there are quite a few parts where the footprint on the pcb does not match the library component. In Altium, you should NEVER edit a footprint in the pcb editor but always do it in the library and then do an update from the library.

You may want to look at any of your reference designs that were done in Altium for this error.
User avatar
gerrykurz
XCore Addict
Posts: 204
Joined: Sun Jun 01, 2014 10:25 pm

Post by gerrykurz »

Hi mon2,

Thank you for the references and yes I would appreciate the references to your PCB vendor.

Gerry
User avatar
segher
XCore Expert
Posts: 844
Joined: Sun Jul 11, 2010 1:31 am

Post by segher »

gerrykurz wrote:In a previous post, I posted a picture of the TDO output from my slicekit reference design system and the output is a string of 1's and 0's (see attached photo)
You posted a zip file, not images, much less convenient
for me, so I didn't look at it :-)

I now notice it sends 110 on TMS first, which should make
it shift IR instead (not DR), so perhaps TMS is broken --
looking at the later output will still tell you whether TDI
is good.
The SPI clock is 1.25 MHz and I am using a 25 MHz oscillator with Mode Pins 10 = 10 just like the slice kit reference design.
That should result in an SPI clock of 125/96 MHz, so all
is good (system clock is 25/3 times input clock, reference
clock is 1/4 times system clock, SPI clock is 1/40 times
reference clock).
User avatar
gerrykurz
XCore Addict
Posts: 204
Joined: Sun Jun 01, 2014 10:25 pm

Post by gerrykurz »

Well here is a new twist to this issue. It turns out the assembly house used for this assembly did in fact reduce the paste mask opening. Here is a photo of the paste mask.

They also said that they used a 5 mil stencil but they also used a type 4 paste which they say flows better through the stencil.

The other thing that is still bothering me is that if the TDO output from the JTAG chain starts off being correct (as per Segher) then why is the slice kit TDO output different? Should it not start off the same on both designs?
You do not have the required permissions to view the files attached to this post.
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am

Post by mon2 »

Hi Gerry.

5 mil stencil thickness = 0.127 mm (using online calculator) and our stencils are 0.13 mm thickness (confirmed with PowerStencil just last week) so you should be fine there.

For another opinion on the stencil, consider to contact Stentech, Markham, Ontario. We have used them for many years with success and are repeat suppliers to Mara.

On the PCB supplier details, please follow this thread (see my post - 2nd from bottom):

http://www.cypress.com/?app=forum&id=167&rID=101053

We have used C&S for our prototypes on a few projects now and the results are very positive. They offer a relatively low cost, fixed tooling fee so if you repeat your project without changes then you will not be required to pay another tooling charge. We did note that the per PCB cost is slightly higher than our higher volume PCB vendors but then their startup fees are also higher. For prototyping in small batches, excellent shop to work with. BTW - they built our bare PCB slice extender boards (source files posted under projects on this website 1036KB & 1037KB).

As an example, for 100 pieces of the 1036KB PCB in Halogen Free with hard tooling + 100% E-testing (we have zero X-outs); 4 layer PCB FR4; with ENIG plating + LPI green solder mask (glossy) + single side silk screen - $ 420 USD with DHL shipping included to our office in Canada (about 10-14 days from start to finish).

http://www.xcore.com/projects/xmos-slic ... ight-angle

When you request a quote, do ask for a RoHS & Pb-free compliant PCB as well as the option for the Halogen Free. Small premium for HF but the industry trend is Halogen Free compliance for international sales. Respectively your assembly house must also comply with the respective HF solder paste. Mara is fully compliant to this requirement - we have been shipping HF PCBs for at least 2.5 years to date.

HF raw materials are more costly and not all vendors can support this spec. At the very least try to limit your PBT insulators as they cannot support higher reflow temps unless marked accordingly. Best to ask the supplier if the component can support RoHS reflow temps.

For an excellent male pin header / box header company that we met about a year ago and continue to use is:

Jane
SHENZHEN JINLING ELECTRONICS CO.,LTD.
Http:www.szjiln.com
Email:jane@szjiln.com/ janeszjiln@gmail.com

We have sourced the R/A XTAG-2 keyed box headers through this company for our upcoming XMOS designs along with many permutations of other male pin headers. They have crossed our 2 mm pitch headers from Samtec to their version at a fraction of the original cost. Lead time is about 7-10 business days (!!). Do note the upcoming CNY holiday in February.

As an example, 2 x 15 pin 0.1" male pin header (PBT since this part will be wave soldered or hand soldered; Gold Flash) @ $ 0.048 USD (2k pieces MOQ).

One more thing to preach here is that do request the vendors are Conflict Minerals compliant. Summary - the supplier is not sourcing Tin / Gold / Tantalum / Tungsten from Congo (slave labour) regions. A solid supplier will report the required and compliant smelter names upon demand.

If you get a chance, consider to visit at least one of the Electronic Trade shows held in Hong Kong in April and then another in October (larger since Taiwan is also active then). These are the largest Electronics shows in the world and you will meet many new and quality suppliers. We have attended these shows for over 10 years and welcome the new technology and meetings with the vendors. Bumped into Mouser buyers at the show along with others.

Chime back or send a private email if you need specifics on other suppliers.
User avatar
segher
XCore Expert
Posts: 844
Joined: Sun Jul 11, 2010 1:31 am

Post by segher »

Your board's TDO output would be correct if the XTAG had
not first sent 110 on TMS (I missed that before; it's not
the usual thing to do on JTAG). It scans out the DR contents,
which is IDCODE after reset. The slicekit board scans out
the IR instead, as it should after that TMS sequence.