Keeping in mind DDs vast experience in handling high speed boards and FPGAs, could you elaborate on the most exciting challenge that cropped up for each of these?
For any embedded platform, we do complete board level designs (Hardware) and the associated Firmware / Software. A mistake that creeps into the hardware is more dangerous compared to the one which shows up in the software. A software error redressal is generally possible with a new release version (which comes out within a short period). But in case of hardware, it takes longer and is costlier as it has to go through a board re-design and fabrication phase again.
Mainly in the case of high speed board design, some of the areas which requires very careful handling are best placement, length matching of the traces, impedance matching etc. We do have a strong design team with very good experience in handling most of the high speed interfaces.
As we may have to work with the latest devices, we have come across challenges in bringing up some of the interfaces, which the manufacturer would not have tested completely. We have come across situations where some of the reports that we sent made them re-test those interface enabling them to update their documentation or release an errata. Our partnership with most of the silicon vendors, has given us phenomenal advantage in terms of very fast response time and greater reach to their technical team.
Could you elaborate on the design requirements of a high reliable PCB?
A normal PCB could be designed based on the common thumb rule. But in case of a high reliable PCB, we have to consider lot of factors like signal integrity aspects, thermal designs, design for manufacturability and assembly etc. In some cases we may have to even choose the PCB material based on the performance required. We have used Rogers material instead of the commonly used FR4, for a very high speed and critical board.
Could you elaborate on the testing done on products manufactured, and how you optimise test automation for them?
Testing happens at various levels of the project phase. The board testing happens phase wise by populating components in piecemeal and testing individual functionalities. We build all kinds of test cases, covering all the conditions that we can envisage on the prototypes manufactured.
Subsequently, in cases of a production setup, we generally go for an automated process where a Testing JIG will be doing the testing of multiple boards at a time or in a sequential manner, with very minimal manual intervention. Automated testing helps us not only in saving time, but also proper logging and eliminates any human error.