Expert in Digital System Design, High Speed Logic, Firmware, Software, Signal Processing, Video/Analog I/F
2. Has designed several JTAG boundary scan controllers which find/localize most opens/shorts on a board, program various devices, and provide control/visiblity to operate microcontroller based circuits.
3. Has designed circuitry co-resident with application h/w to perform in vivo signal signature analysis to confirm system validity/sanity while running.
4. Has developed algorithms and s/w for various systems to enable self-test validation of basic operability and health.
Developed several JTAG boundary scan controllers. These enable suitably connected circuits to access and localize open/shorts on most signals by host computer scan operations. They also enable scanning in/out programmable devices in the target circuit. They further enable access to microcontrollers/processors with JTAG interfaces to gain debug control for user test visibility (single-step, peek, poke, register access) and even the ability to run non-invasive programs to test attached resources at real-time rates.
Boundary scan test applies the IEEE-1149.1 methodology (called JTAG) to enable shifting in and out logical test patterns throughout an entire circuit board. This exploits special features built into many integrated circuits (IC's) to daisy chain such serially shifted patterns with only a few connection pins from one device to another. Part of the shifted bits are internally routing to most of the other functional pins of such devices allowing their values to be statically updated and read during special scan modes. Thus, for each scan cycle, all such pins in a circuit can be set to a known pattern and sensed for incoming levels. By repeatedly scanning with varying patterns, and checking inputs against the known net list of the board (its wired hookups), a rapid computerized means is available to determine signals being open (broken connection) or shorted to another signal, thereby localizing board defects. This is especially effective where device pins are inaccessible, such as with dense packages, where physical probing is impractical. Other uses of this method enable interacting with various devices on the board in order to test at a functional level and/or program with new content, during the same test session.
'Build-in self-test' refers to a feature designed into many complex circuit boards to enable automatically determining its operational status. Typically such testing aims at a 'go' or 'no-go' decision and indication that it is basically capable of performing its functions. Emphasis is on whether or not devices and hookups are intact, focusing on the normal failure modes. If determined as 'passing', it is usually presumed that operation over the entire range of behavior will comply with its design (having been tested during development) since the devices are alive and properly interconnected. If the circuit is managed by a central processing resource (such as a microprocessor or microcontroller), such 'build-in-test' is typically performed by means of appropriate firmware, often upon initial power-up. This test code would operate the various resources on the board to establish basic functionality. In other cases, the circuit design itself may include special modes or methods to validate the essential operability of the overall board as a hardware feature.
The bus architecture of a system defines a particular arrangement of signals and methods over which multiple circuit elements can robustly communicate information. Such architecture would include the number of parallel lines over which the information patterns can pass, the special signaling lines employed to manage the steps of each transfer, the set of rules and timing sequences by which the elements understand how and when information is transfered, as well as any special electrical features of such lines. By rigorously itemizing all such aspects into a bus protocol specification, various disparate manufacturers of electronic elements (boards and/or devices) are enabled to convey information between each other in a reliable and timely manner.
Computation is the mechanization for performing numerical operations. It operates on input numbers fed to it, performing fixed mathematical operations with them, resulting in transformed output numerical values. Typically this is done in order to gain useful meaning from measureable inputs. For example, converting certain electrical voltage levels from a sensor into temperature, in centigrade units for example, and then outputting a visible pattern to a display indicator. In this case, the computation performs the mathematical conversion between the voltage and the temperature. Such numerical operations can normally be performed in programmable processors, such as microprocessors, using software or firmware algorithms. In some cases, fixed logic circuits can be designed to carry out the particular algorithm using properly interacting functions, such as binary counters, adders/subtractions and/or other standard logic.
A generalized processor circuit designed to perform steps according to an alterable program. It is typically connected to several resources to sense inputs (such as keyboard, mouse, external links) and drive outputs (such as screens, indicators, links, motors), memory to hold temporary values or patterns (such as RAM), non-volatile storage (such as disk drives, flash) where typically the various programs are held even when powered down. The reaction to the inputs and the output patterns conveyed are fully specified according to the stored programs which supply the numerous steps in time for the central processor of the computer. These steps include its acquisition of the inputs and its generation of output patterns following intermediate operations with them. Since the overall behavior is highly dependent on the program steps, the range of computer behavior is virtually unlimited.
This applies throughout his professional experience to virtually all projects he has been involved with. Virtually all tasks can be described as the employment of knowledge of electronic circuits for the development of practical operational systems.
On multiple occasions, embedded microprocessor systems I worked on required programming at the assembly language level. There were various reasons for this choice (usually instead of a higher level language such as C, Basic, ADA, etc.) on various occasions. The major advantage is to enable a particular process to be very tightly controlled for high performance this approach is preferred. Assembly language provides the most precise control of the processor steps, and this is highly significant if the overall operation dwells on some cycle many times multiplying its duration as observed by the user. This level of programming is highly specific to the particular model of processor employed. It is usually much more cumbersome with lower effort efficiency, in order to gain the above control capability.
A widely employed example of this method is the common RS-232 standard. The chief benefit is few (if more than one) signals per direction of data flow making hookup and cabling minimal. A central feature is that the lack of a clocking signal. The timing and synchronization for bit information sequencing is encoded in the transition pattern. A standard start bit marks the commencement of a data item (e.g. a byte for RS-232). Informational payload content bits then progress at pre-defined time intervals, ending with a standard stop bit. It is up to the receiver end to resyncrhonize itself with each data item and sample the payload bit levels at appropriate time. A major downside of this method is that data rates are limited in rate given the uncertainty of localizing exact positions of bit validity.
Legal- Reviewed a circuit board schematic to determine level of complexity and estimated effort required in its design. Also reviewed deposition of plaintiff to evaluate his claims. Advised the attorney as to the technical achievements involved and to the utility of the circuit board he designed.
Participated over the phone in an arbitration hearing, answering technical questions of the arbiter and attorneys. I also made queries of the plaintiff to clarify certain issues.
Legal - Reviewed client's patent application and compared claims against that of an existing similar patent. Summarized key elements of both concepts, comparing and contrasting in a written report.Legal - Reviewed draft patent applications and concept specification documents of the employee written while serving plaintiff. Identified and enumerated the possible set of proprietary inventions and know-how which rightfully belong to plaintiff.
Advised hiring attorney of concepts which are novel as opposed to commonly found in engineering practice. Provided background explanation and theory of the technology.
Reviewed design specifications of circuits under development at the new place of employment to detect transfer and exploitation of plaintiff's intellectual property. The case is still being developed.
Expert may consult nationally and internationally, and is also local to the following cities: Los Angeles, California - San Diego, California - Long Beach, California - Santa Ana, California - Anaheim, California - Riverside, California - Glendale, California - Huntington Beach, California - San Bernardino, California - Chula Vista, California
|Year: 1972||Degree: MA||Subject: physics||Institution: Duke|
|Year: 1970||Degree: MA||Subject: Physics||Institution: San Diego State University|
|Years: 1981 to Present||Employer: Undisclosed||Title: Systems Engineer||Department:||Responsibilities: wide range of electronics systems design and development, hardware and software.|
|Years: 1972 to 1981||Employer: numerous electronic development firms||Title: systems engineer||Department:||Responsibilities: wide range of electronics systems design and development, hardware and software.|
|Years: 1972 to 1976||Agency: Naval Electronics Lab Center||Role: systems engineer||Description: Managed large suite of computers, peripherals, radar. Performed maintenance,
upgrades, custom test fixtures, conversion interface hardware circuit design, and wrote diagnostic software.
|Expert Witness Experience|
|Several cases: Provided technical advise, explanation, interpretation and testimony on a number of legal cases involving intellectual property. This included identifying engineering
methods/inventions and relationships to patents.
1. Attorney's client was defending against a previously hired consultant who claimed breach of agreement. Although fully paid on an hourly basis, he claimed equity participation was promised to him when the resultant product yielded revenue. This was due ostensibly to his significant contribution to the overall development of a custom microprocessor IC. This was over and above the actual design of an evaluation circuit board containing this device, which was his primary duty.Reviewed the circuit board schematic to determine level of complexity and estimated effort required in its design. Also reviewed deposition of plaintiff to evaluate his claims. Advised the attorney as to the technical achievements involved and to the utility of the circuit board he designed. Participated over the phone in an arbitration hearing, answering technical questions of the arbiter and attorneys. I also made queries of the plaintiff to clarify certain issues.
The matter was settled at that hearing.
2. This matter related to a method of stacking memory IC's for high density memory modules. The attorney's client was applying for a patent of their method and sought advise on any similarity or innovative improvement relative to an existing patent. Reviewed client's patent application and compared claims against that of an existing similar patent. Summarized key elements of both concepts, comparing and contrasting in a written report.
3. Engineering employee possibly transferred intellectual property of plaintiff (whose attorney hired me) to his new company. Relevant field is computer hard-disk controller circuitry. This is an exploratory study of relevant issues to establish justification for pursuing a lawsuit. Reviewed draft patent applications and concept specification documents of the employee written while serving plaintiff. Identified and enumerated the possible set of proprietary inventions and know-how which rightfully belong to plaintiff. Advised hiring attorney of concepts which are novel as opposed to commonly found in engineering practice. Provided background explanation and theory of the technology. Reviewed design specifications of circuits under development at the new place of employment to detect transfer and exploitation of plaintiff's intellectual property. The case is still being developed.
|Training / Seminars|
|TA during graduate school.
Related to various working assignments provided briefings, seminars and overviews at various times.
|Spanish||Studied during all high school years. On-and-off interaction with persions on occassion. Can get by.|
|German||First language spoken as a child. Can get by on a limited basis.|