David Jeffrey Ljung Madison
Programming, Algorithm Design/Development, VLSI Verification
Resume v4.0, released 2005-02-02.
Please get current source at: http://Daveola.com/Resume/
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 (call between 12-8p PST)
To find contracting work in hardware verification or software development.
(See DaveSource.com for more information.)
- Independent Consultant, DaveSource Consulting.
Jul 2002 - Present.
Doing contract work in either VLSI/Processor Verification or
- 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,
I wrote many popular tools at Marginal Hacks, including
the highly popular album software.
- Shareware Programmer,
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
- 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..
(Electrical Computer Engineering
with Computer Option doubled with
1989-1994: University Of Wisconsin,