On Fri, 2007-04-06 at 23:23 -0700, Vasile Surducan wrote: > True simulation of any serial programable device can be made only in > the real world. > Mostly because there are small timing differencies between various > manufacturers products, so even a simulation works, a real connection > may not work. So why spending time and nerves on simulation? Vasile, Having written my own PIC/System simulator I'm clearly biased... However I second Gerhard's reply. A simulator is an excellent tool for development. I also understand the premises behind your concern. Here's my view. When confronted with a new project, I have two ways in which to develop. I can either start writing the code and debug on real hardware -or- I can spend time to create simulation behavioral models for the crucial devices in my system and develop code on simulated hardware. Both approaches are valid, and typically (in my case) both are applied. I view the creation of a simulation model as an investment in a tool that I can use over and over again. Sometimes the initial cost is prohibitive. However, over time you can accumulate quite a number of useful simulation models that you can then leverage off of for other tasks. I'm not sure if you followed the LCD Font thread or not, but this is an example where a simulation model is invaluable. First of all, I don't even have real hardware! So it's impossible to even test the code out on a real device. But I've created a simulation model of a graphics LCD device that allows me to go ahead and begin development. I know for a fact that this model has deficiencies, but over time I'll work these out. The graphics LCD will be used in a proprietary product that consists of many other components, most of which have simulation models. The models have been refined to the point where I have a high degree of confidence that if firmware works in the simulation that it will work in the real device. If there's a discrepancy, I resolve it and fix the simulation model. However, I *always* test firmware on a real device before releasing it to a client. In addition to development, there's also the issue of maintenance. For example, suppose a bug is discovered in your firmware after it's been out in the field for a year. If you fix this bug, what's the degree of confidence you have that this fix doesn't have an impact elsewhere? Simulation regression tests and unit tests are invaluable here! Scott -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist