Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

Two CPLDs on one board & ISP

Hi,

I am laying out a prototype board that will have two CPLDs on it (a MAX7128S & a 7160S).

My intention is that they will be programmed "in system" using a JTAG interface.

I plan on just adding one JTAG header to the board and "multi-dropping" the two devices to it.

(There will only ever be two JTAG devices on the board.)

Can someone please confirm that this is an acceptable configuration and that no additional hardware, buffers etc., are needed?

I have not had two devices connected to the Quartus programmer, am I correct in thinking that Quartus will see the "chained" devices and allow me to select which to download to?

regards

Dave

7 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Can someone please confirm that this is an acceptable configuration and that no additional hardware, buffers., are needed?

    --- Quote End ---

    This will depend on your board layout. For example if your TCK trace goes first to one device, and then has a long trace to the second device, you will likely get reflections on TCK and will have problems with your JTAG chain.

    In my opinion, the best solution is to use a buffer at the JTAG connector, and then dual-source terminate your TCK and TMS signals, so that you can route individual traces to the two devices. The TDI->TDO signals would then daisy chain between the two devices. Make sure to include 0-ohm resistors in this path, so that you can break the JTAG chain and skip a device (useful for debug).

    Which buffers? TI and Fairchild have parts they call TinyLogic and LittleLogic. These parts are 7V tolerant even when the power is off and when powered from 3.3V, so they offer some protection to your JTAG chain.

    Cheers,

    Dave
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi Dave,

    thanks a lot for the reply.

    Just to clarify, at this stage, the prototype will be built on Eurocard prototype board and hand-soldered, rather then being a properly constructed PCB.

    The JTAG connector and two PLCC-84 sockets are in close proximity to each other. I intended to take the "traces" (wires) from the connector to the closest CPLD, then continue on to the second, although I could wire the sockets in a star configuration back to the connector if that was better practice.

    At this stage though, the board is really a "proof of concept". rather than a finalised design - particularly from a layout perspective.

    I mentioned buffers as I found a note in one of the (many) Altera document that I have been referring to that suggested that buffers were only needed when the number of devices increased, to say, over 4.

    From your reply though, it seems that my "understanding" is correct in principle - I can multi-drop a single JTAG connector to 2 devices.

    regards

    Dave
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Just to clarify, at this stage, the prototype will be built on Eurocard prototype board and hand-soldered, rather then being a properly constructed PCB.

    --- Quote End ---

    That is ok. You can easily solder SMT buffers :)

    --- Quote Start ---

    The JTAG connector and two PLCC-84 sockets are in close proximity to each other. I intended to take the "traces" (wires) from the connector to the closest CPLD, then continue on to the second, although I could wire the sockets in a star configuration back to the connector if that was better practice.

    --- Quote End ---

    Keep in mind that your JTAG cable is already a long wire, so routing two traces from the JTAG connector is *not* the same as a dual-source termination at a driver.

    --- Quote Start ---

    I mentioned buffers as I found a note in one of the (many) Altera document that I have been referring to that suggested that buffers were only needed when the number of devices increased, to say, over 4.

    --- Quote End ---

    Buffers should be used to isolate the cable from your PCB. Having two completely different transmission line environments connected will result in reflections. Whether or not that affects the operation of your circuit depends on many parameters. The conservative design solution is to simply isolate the two transmission lines using a buffer.

    --- Quote Start ---

    From your reply though, it seems that my "understanding" is correct in principle - I can multi-drop a single JTAG connector to 2 devices.

    --- Quote End ---

    You can, but there is no guarantee that routing the JTAG cable wires through to your devices will work.

    Buffers are cheap. Debugging is expensive. Include the buffers and be done with it :)

    Cheers,

    Dave
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Any recommendations for through-hole? I'd hate to put another bunch of 74hc244/245's on there..

    -Mux
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Any recommendations for through-hole? I'd hate to put another bunch of 74hc244/245's on there..

    --- Quote End ---

    Why would you use through-hole? There aren't many FPGAs or CPLDs left in through-hole packaging ...

    SMT soldering is pretty simple. Its very easy to solder 1206+0603 resistors, 0402 is a bit of a pain, but not impossible. IC packages like SOIC8, TSSOP16, and TQFPs with pins (no thermal land on the underside) can all easily be hand soldered. Worst-case you remove solder shorts using solder wick. Watch a few YouTube videos and you might feel encouraged to try :)

    Cheers,

    Dave
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi Dave,

    Yeah, I know.. Just a lot easier to prototype using wire-wrap than doing a PCB. Also, I can re-use my components. I've done a couple of SMT boards, including some 0.5mm pins FPGA's which isn't all that fun.

    I know, I should get with the times :-)

    -Mux
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Just a lot easier to prototype using wire-wrap than doing a PCB.

    --- Quote End ---

    If you're operating at low-enough clock rates, then sure ...

    --- Quote Start ---

    Also, I can re-use my components.

    --- Quote End ---

    Fair enough ...

    --- Quote Start ---

    I've done a couple of SMT boards, including some 0.5mm pins FPGA's which isn't all that fun.

    --- Quote End ---

    You just need more practice :)

    Note that there are a few places that make SMT-to-through-hole adapters, eg., Schmart Board ...

    http://www.schmartboard.com/

    You could solder an SMT FPGA/CPLD onto one of these and then re-use it.

    Cheers,

    Dave