I have on my board two PISO shift registers in series, giving an output train of 16 bits. The problem is that the order of the bits is reversed compared to what I need. That means, the last input of the second PISO shift register is the first of my serial train (as usual), while I need it to be the last one. I cannot change my PCB and I cannot find any PISO-FIFO (sort of) component able to do what I need.


Do you have any idea? Thanks

  • \$\begingroup\$ Without modifying the board, I don't think you're going to solve this problem. Where's the serial data going? If it's going off-board you could add an interposer board to process the data and flip it around, if you absolutely have to. If it's going to a microcontroller, you could edit the microcontroller's program to internally flip the data around. \$\endgroup\$ – Hearth Jan 24 '19 at 15:18
  • \$\begingroup\$ The serial data goes in some kind of analogic black box that users say it cannot be modified and need the input serial data in the reversed order. \$\endgroup\$ – P. F Jan 24 '19 at 15:25

If you need something different from what you designed into your board then you will have to change the board. Saying you cannot change the board is making an artificial restriction that will make it next to impossible to achieve the intended result without adding way more complication and cost than what you already have.

Face the fact that sometimes mistakes are made and board spins become necessary. Although sometimes one can get lucky and adjust to keeping it the way it is and make the design work as is.

  • \$\begingroup\$ I must say this is a very little part of a very big and complex board. Time and cost to produce such a PCB are enormous. To be honest, situation is quite desperate and we're trying to find any way not to re-manufacturer the board(s) \$\endgroup\$ – P. F Jan 24 '19 at 15:30
  • \$\begingroup\$ If you really can't make a new board revision, and you only need a few of them, you could use a knife to manually cut the traces on the board and solder wires to cross over the order of the data going into the serializer. \$\endgroup\$ – Hearth Jan 24 '19 at 15:37
  • 1
    \$\begingroup\$ Desperate situations sometimes call for desperate measures. Mistakes made can be expensive to fix. The best temporary solution I can think of, without an immediate board spin, is to unsolder those two shift registers from the board and then devise a small daughter board that connects to the IC footprints and then implements the correctly routed circuit on the daughter board. \$\endgroup\$ – Michael Karas Jan 24 '19 at 15:39
  • \$\begingroup\$ Thanks Hearth and Michael for your proposals. We thought of them already and the feasibility is under investigation. One other possibility is to mount the component on the back face to have direct access to the corresponding track with short solder wires. Just to mention, this is for space application, and mounting processes must resist to extreme conditions. Do you agree that there are no shift register with inverted delivery order? \$\endgroup\$ – P. F Jan 24 '19 at 15:51
  • \$\begingroup\$ @P.F - There is the 54HC299 shift register that can be configured to shift left or right. As such it has both a SI (serial in) pin and a SO (serial out) pin. There just is not going to be a shift register in your same pinout because your part does not have a SO pin and instead uses the direct latched Q7 as the serial output. To reverse order with that 54HC597 means literally swapping around the connections to the 8 input pins. \$\endgroup\$ – Michael Karas Jan 24 '19 at 16:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.