2010

December 31, 2010

Don’t Change Bit Assignments

While working for HP’s LaserJet lab, a hardware engineer told me about a customizable IP that we had purchased to put in one of our LaserJet ASICs. Depending on the customization settings used when the IP was instantiated, some register bits became unneeded and therefore were not visible in the […]
November 5, 2010

Being a Green Programmer

Much of what I read about Green Design involves building the product with recycled or renewable materials and consumables, and making the product recyclable at the end of its life. Hardware engineers can contribute to the green effort by influencing how the product is made and what it is made […]
October 30, 2010

Principle 7: Plan Ahead

This is the last in the series of newsletters that present seven principles to help guide your own processes and best practices in hardware/firmware interface design. This month’s principle focuses on the future. People who look to the future toward retirement prepare now by putting away money. Those who are […]
September 30, 2010

Principle 6: Design for Contingencies

This is the sixth in the series of newsletters that present seven principles to help guide your own processes and best practices in hardware/firmware interface design. This month’s principle focuses on preparing for problems that will occur in the design. Why do you carry insurance on your car (beside the […]
August 31, 2010

Principle 5: Anticipate the Impacts

In the game of golf, the golfer selects the club, puts the ball on the tee, looks down the fairway, checks the wind, lines up the club to the ball, and checks his stance. He is anticipating the impact of his club on the ball. He does this because he […]
July 31, 2010

Principle 4: Design for Compatibility

This is the fourth in a series of newsletters that present seven principles to help guide your own processes and best practices in hardware/firmware interface design. This month’s principle focuses on maintaining compatibility between versions of hardware and versions of firmware. Designing for compatibility means to design in such a […]
July 14, 2010

Verification: Can We Do More?

A comment in the GABEonEDA blog entry “Accellera Works Toward a Unified Verification Methodology (UVM)” recently caught my attention: Silicon respins due to design errors not only have not diminished in number, they have actually increased. This is an indication that complexity has grown more than the ability of verification […]
June 30, 2010

Principle 3: Balance the Load

This is the third in a series of newsletters that present seven principles to help guide your own processes and best practices in hardware/firmware interface design. This month’s principle focuses on balancing the tasks and work load between hardware and firmware. Hardware and firmware each have their strengths and weaknesses […]
May 31, 2010

Principle 2: Set and Adhere to Standards

This is the second in a series of newsletters that present seven principles to help guide your own processes and best practices in hardware/firmware interface design. This month’s principle focuses on establishing and applying standards for embedded systems development. Standards need to be set and followed within the organization. I […]
April 30, 2010

Principle 1: Collaborate on the Design

Over the course of these newsletters, I’ve been reeling off one best practice after another. Now, I realize that a particular best practice may not apply to a given embedded development project or organization. However, each of these best practices is rooted in one or more fundamental principles of embedded […]