David Jeffrey Ljung Madison

Programming, Algorithm Design/Development, VLSI Verification

Version Info

Resume v3.9, released 2004-09-18.
Please get current source at: http://Daveola.com/Resume/

Contact Info

Please don't contact me about full-time work, I'm a contractor.
I'm also not interested in any long-term relocating.

Home: 415.922.2697
Email:

Objective

To find contracting work in hardware verification or software development.
(See DaveSource.com for more information.)

Work Experience

Independent Consultant, DaveSource Consulting. Jul 2002 - Present.
Doing contract work in either VLSI/Processor Verification or software design/implementation.
  • Designed and implemented operations management algorithms. Order of magnitude improvement in runtime and savings.
  • Custom image sorting software, custom web apps.
CPU Verification Engineer, Transmeta Corp. Jan 2000 - Jul 2002.
  • Created cycle-accurate models (verilog, perl, scheme) of blocks
  • Created testbenches for formal verification for a number of blocks.
  • Wrote pseudo-directed random test generators (verilog, scheme).
  • Accomplished such high coverage for blocks on final project (due to formal verification and test generators) that all but three bugs were found prior to fullchip testing.
CPU Verification Engineer, SandCraft Inc.. Jul 1998 - Jan 2000.
In charge of initial verification of the execute half of SR1/Montage CPU:
  • Designed modular verilog/PLI testbench for blocks/fullchip, verified blocks
  • Created majority of verification tool environment.
  • CPU Verification and Debug, VLSI Technology Lab, Hewlett-Packard. Aug 1995 - Jun 1998.
    Post-silicon debug/tools:
  • Created the entire tool chain from scratch (except for some random code generators), including boot code and test framework, controller/environment scripts, shmoo scripts, fail search/eval, etc..
  • Hardware environmental testing and debug software
  • Finding and debugging failures
    Pre-silicon verification:
  • Random code generators, test creation
  • Test checkers and evaluators
  • Tools writer
    Other duties:
  • Lab Resource: Unix, programming, scripting..
  • Published in HP Journal article on CPU verification
  • Tool geek (wrote CAD tools, personnel tools, etc..)
  • Shareware Programmer, Marginal Hacks

    I wrote many popular tools at Marginal Hacks, including the highly popular album software.

    Shareware Programmer, WizPort Project June 1993 - Current.

    In college I spent a number of years creating a large software project called the WizPort, a solution to a very complex UNIX problem. See the site at DaveSource.com for more info.

    Project references available on request

    Skills

    Computer Languages

    Fluent in C, Perl, Java, Scheme, Verilog and many versions of Assembly. I often become the perl guru/resource wherever I work. I can do C++, but I'm not a fan.
    At one time I've used the following languages: Lisp, Basic, Fortran, Ruby, Python, sed, yacc, sh, ksh, zsh, csh, tcsh, etc.. I generally require only two days to learn a new language, and I gain fluency soon thereafter.

    Breaking things

    I like to use things in new and interesting ways, I believe this makes me a good verification engineer. I have managed to break and find bugs in almost every tool I have used, including some of the big guys:
    gcc, cpp preprocessor, HPUX CC, HPUX linker, various assemblers, perl (2 so far), various shells (tcsh, ksh, ..), various verilog interpretors (VCS, ESP), rccs versioning software, etc..

    Education

    Degree: B.S. ECE/CS (Electrical Computer Engineering with Computer Option doubled with Computer Science)
    School: 1989-1994: University Of Wisconsin, Madison