Last week I was helping a friend put on an art exhibition in Columbia, CA, a preserved gold mining town from the mid 1800s. I wrote about that in my personal blog. In the few hours that I had free, I went to nearby Jamestown – a historic short line railway that has been turned into a state park. It is home to one of the most famous steam engines in the US, having appeared in many films including Rawhide, Back to the Future III and more than 200 others since 1919. But it was another engine that really caught my attention. The drive system was completely different from any other steam engine that I had ever seen before – and that got me thinking.
In England, all of the steam engines have a common basic design. The boiler generates the steam that is led to a cylinder that lies horizontally. Some of the larger engines have a couple of cylinders there, but rather than being for extra power, I believe they are to enable reversing. If you need more power, you create bigger cylinders. The pistons transfer the power to a set of driving wheels. This is the same common design used by most of the American steam engines as well.
But the one shown here is different. There are three cylinders each mounted vertically.
They each contribute to the turning of a drive rod and the wheels are in turn driven by a worm gear
In many respects this is the drive system in a car. Multiple cylinders turning a crank which is attached to the drive wheels through a worm drive in the differential. It appeared to me that it makes some very different design tradeoffs. It would be easy to add additional cylinders, but are the worm gears the weak spot in the design? How would you go about analyzing the tradeoffs? Back then they had no CAD tools to help them make such decisions which is why it would make sense to do design by incremental refinement. But does this technique only allow you to find a local minimum – the optimal set of refinements on a sub-optimal solution?
This is something that many people are beginning to realize when they start using ESL tools. In my book “ESL Models and their Application” I provided a specific example where a company was designing a wireless receiver using a MIMO approach. There are several ways in which this can be implemented including performing a QR decomposition or using Eigen equations. They had been using the Eigen equations in the past and expected to continue using them for future designs. With ESL tools available to them, they started to explore the architectural space and that seemed to confirm that they had made the right decision but then they found a different micro-architecture that totally favored the QR decomposition approach, producing a smaller design that operated at higher frequency. This was not a small improvement; it was a 38% area savings and an 11.5% performance improvement. Without the ability to perform this higher level analysis they never would have started to use a different approach. I wonder how many other designs are like that, possibly include the design of the steam engine?
Brian Bailey – keeping you covered