Penguin Telecom, Inc.'s Digital Process Improvement Guru
Brian Carlton streamlines and improves digital design processes. He excels in detection of inefficiencies and prevention of errors. Whether the design is routine or challenging, every step in the design process should be accurate, automatic (where possible) and efficient. Specific examples include:
We know that time to market is key. Such process improvements also free your engineers for adding the "secret sauce" that makes your products unique.
- Manufacturing: Wrote a Perl script to make engineering long-lead and preliminary parts lists convert to PeopleSoft MRP format the parts that were sure to be used. This allowed the planner to automatically order parts, run shortage reports and cost the BOM before schematic capture even started.
- PCB Design: Innovatively used PCB tools to visualize and inspect every net over 2" on a complex PCB in under an hour. Found various stubs, drivers not at the end of high speed nets and other problems.
- Signal Integrity: Wrote a Perl script to automatically generate chip IBIS model and resistor assignments from an incompatible database allowing full-board HyperLynx signal-integrity simulation and parsing of the results to find the worst-case offenders while ignoring false positive problems.
- FPGAs and Validation: Improved product quality by instituting code reviews and adding process for independent generation of test cases by the system engineer specifying the design. Added random test-case generation which found previously unrealized bugs and a lock-up condition.
- FPGAs and Debug: Debugged obscure POST failures with a Cryptographic Sub-System by capturing the accesses the Crypto chip performed in a live system and converting to provide a bus-functional model of the Crypto chip for a self-checking Verilog simulation of an associated FPGA.
- Board-level Debug: Wrote a Perl script to import pins and busses on mass-termination logic analyzer adapters to avoid time-consuming re-entry of information.
What is Perl? Why Perl?
Brian has taught a half-day "Perl Intro and Survival" class for electrical and test engineers with some programming experience looking to use Perl but not able to attend a full multi-day class. See some book links here.
- Perl is a free programming language. It is particularly great for manipulating and examining text files including, schematics (sometimes through export), netlists, parts lists and simulation input and log files. It's popular with system and web site administrators. One of its rules is "Common things should be easy; advanced things should at least be possible." so it is quick to write simple programs in it.
- If you are going to look through a file manually or searching with a text editor, Perl can do it faster and better for complex searches. It has excellent "regular expression" processing.
- If you are going to do a task three or more times, just automate it. It's quicker and less error prone.
Copyright (c) 2006 Penguin Telecom, Inc.
Penguin Telecom, the Penguin Telecom logo, the stylized penguin and "Innovative. Efficient. Persistent" are trademarks of Penguin Telecom, Inc.
Trademarks and registered trademarks used are the property of the respective companies.