September 30, 2010
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
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
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
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
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
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
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 […]
March 31, 2010
“Intellectuals solve problems; geniuses prevent them.” Albert Einstein This profound quote says very succinctly where and how we should focus our efforts. How many of us are guilty of writing firmware and then getting it to work without thorough testing? Are we likely to make a change to the code […]
February 27, 2010
I recently asked the owner of a device driver what type of information about the hardware settings does the device driver return to the application after each job. I was asking about one particular piece of information, a setting that the application tells the device driver to configure in the […]
January 30, 2010
In the last two articles (here and here,) I discussed the dangers of read-modify-write operations on registers that create exposure to collision and corruptions by firmware. I discussed certain firmware and CPU techniques that can reduce these dangers, but not completely eliminate them. As promised, this month I will discuss […]