n dn
Software & Hardware
Design Services

n dn

Coast Computer Design provides software, firmware and hardware design and implementation in C++, C, and assembly language for embedded systems and for Windows, Macintosh and UNIX hosts.

 

ETHAN GROSSMAN, d.b.a. Coast Computer Design

228 Corte Madera Ave, Mill Valley, CA 94941
Voice: (415) 389-0793 Fax: (415) 389-0794

ethan@ieee.org

Software, Firmware and Hardware Design and Implementation

  • C++ and C language programming for Windows, Macintosh and UNIX hosts. Emphasis in low-level layers such as data transport and device drivers.
  • Embedded systems programming of 8, 24, and 32 bit microprocessor and DSP systems in C, C++, and assembly language. Specific expertise in 8051, 68HC11, i960 and PowerPC microprocessors, 56301 DSP.
  • Application expertise in digital video, MPEG2 and DVD, audio, telecom, networking. Also "Board support packages" (adapting RTOS driver layer to run on custom hardware) with substantial experience in VxWorks for PowerPC and IxWorks for i960.
  • Board level hardware design of digital and analog circuits. Specific expertise in 68HC11 and 8051 microcontrollers, 56301 DSP, PCI, digital video, digitally controlled analog audio, serial communications, MOSFET power control. Coursework and preliminary design using Philips Trimedia processor.

Personal Strengths

  • Concise, timely and accurate written and verbal communication.
  • Object-oriented design philosophy, emphasizing clarity and simplicity. Careful adherence to naming, coding, and documentation conventions.
  • Understanding of both HW and SW and their interaction.
  • Systematic attention to details, consistent focus on completing stated goals, and efficient time management.

Consulting Clients and Projects

  • SimpleDevices. Designed and implemented PC application (Windows98/C++/MFC/TCP/IP) to stream mp3 digital audio to embedded devices connected to the PC via wireless HomeRF LAN. Wrote PC applications to simulate the three different embedded devices to allow pre-HW testing of the system.  Four months full time.
  • Phone.com. Documented and implemented code module (UNIX/C++) to allow tracking and auditing of the sequence and effect of incoming commands in a wireless provisioning server. Nine weeks full time.
  • Applied Microsystems Corporation. Wrote "Tornado 2 WDB/non-WDB emulator backend". This consisted of host and target code to allow their JTAG-based PowerPC emulator hardware to operate under the control of the Wind River Systems Tornado2/VxWorks cross-development/debug environment for both WinNT and Solaris hosts. This involved writing C++ source code files totaling over 600 K bytes during a year of full time work.
  • Lucent Technologies Wireless Systems Division. Detailed analysis of changes required for porting a large embedded C/C++ code base from an i960 CPU to a PowerPC CPU. Three months full time.
  • Panoramic Systems (consulting group specializing in Wind River Systems products). VxWorks board support packages for various clients.

Full-Time Employment History

11/95 to 9/98 Sonic Solutions, Novato, CA

Senior Software/Hardware Design Engineer. Designed software, hardware and systems for decoding MPEG2 video and graphics for DVD (Digital Versatile Disk) authoring systems.

For the first generation system I did board-level HW design and bringup for a PCI bus card for the PowerPC Macintosh platform. The board included a Motorola 56301 DSP, a Xilinx 4025 FPGA, a Gennum video scaler, and an IBM MPEG2 video decoder chip. I wrote a complete "DVD presentation engine"(in C and assembler) for the 56301 directly from the DVD 0.9 spec, including demultiplexing the DVD stream, support for audio/video sync, and subpicture display (graphics overlay) using DSP and FPGA.

For the second generation board I wrote the system-level HW and SW design specs, and ported existing embedded code to the new platform. This board included an i960RD CPU running IxWorks (IxWorks is a version of VxWorks adapted for "i2o", Intel’s Intelligent I/O DMA architecture). I also designed and wrote the Macintosh host-side driver classes in C++ for the board API functions, and for an i2o-compatible message port.

At Sonic I used Windows NT-based tools for HW design and embedded coding, including ViewLogic, Motorola DSP C compiler and assembler, Domain Technologies JTAG DSP emulator, and Wind River Systems Tornado/Intel i960 tools. Mac toolchain for host coding was MPW and MetroWerks CodeWarrior. For HW debug I used HP logic analyzers and Tektronix oscilloscopes.

9/91 to 10/95 Clear-Com Intercom Systems, Berkeley, CA

R & D Engineer. Developed network-based architecture for next-generation, all-digital production intercom system (a high-fidelity, programmable voice communication system used in television and audio production environments).

This involved detailed evaluation and integration of technologies including DSP, RISC, FDDI, Ethernet, ISDN, and SNMP. Evaluated software and hardware tools including real-time operating systems, object-oriented software methodologies, CASE tools, and programmable logic (FPGA).

Wrote PC-based configuration program for intercom system (12K LOC C++) using event-driven, object-oriented windowing environment (CSCAPE).

Designed 68HC11-based CPU board for intercom system. Wrote and produced 400 page manual for intercom system SW and HW. System Administrator for 35-node Novell/Win3.1 network.

5/89 to 6/91 Archimedes Software, San Francisco, CA

Applications Engineer for DOS and UNIX hosted "C" cross-compilers and functional simulators for 8051, 68HC11, 8096, and Z80 microcontrollers.

Wrote application notes with functional C code, including "Writing Optimized Microcontroller C" and "An 8051-based Flash PROM programmer".

Adapted public domain RTOS kernel for 68HC11 for use with C compiler. Wrote 500 page user/reference manual for 8051 C cross-compiler. Helped write and debug customers' programs. System Administrator for Novell network of PCs.

12/88 to 4/89 Ronin Research and Development, Alameda, CA

Member of Technical Staff. Designed, prototyped and tested 28 MHz 68030-based accelerator board for (7 MHz 68000-based) Amiga computer.

11/88 to 12/88 Pixar, San Rafael, CA (by contract)

Software Technical Support for Sun UNIX-based computer graphics tools for imaging and visualization.

1/88 to 11/88 Visionary Electronics, San Francisco, CA

Design Engineer. Developed PC plug-in card version of stand-alone 8085-based intelligent buffered modem.

Wrote PC-based communications software package for modem. Designed PC-based automated modem fault analysis system. Designed bus activity recorder to examine interaction of modem with commercial communications software packages.

5/74 to 8/84 The Exploratorium, San Francisco, CA (part time)

Engineering Apprentice. Developed interactive science museum exhibits. Maintained lab instruments and worked on a wide variety of electrical, mechanical and optical exhibits.

Education

12/87 San Francisco State University, San Francisco, CA

BS.EE Cum Laude

 

COAST COMPUTER DESIGN HOME