What You Can Learn From Robots

Why schools are now pushing the basics of embedded systems.

popularity

My sons are in the robotics club at their high school. They program a small robot to perform simple tasks to score points in a competition. It’s a great way for them to learn about embedded systems and stimulate their interest in technology.

While looking for ways to help them improve their understanding of embedded systems we started going through some of the online material, one of the classes we came across recently is an edx.org course from UT, introducing students to embedded systems. The course looks like a good way to help them get started with the basics of embedded systems and give them the background they will need to understand their robot and its capabilities. An interesting point made early by the instructors is the value of simulation in developing and debugging the embedded system.

In discussions with experienced engineers I occasionally find people expressing the opinion that they won’t use a simulation model once they have a physical prototype. Their preference is to get into the lab as quickly as possible and do the debugging on the prototype rather than using a simulation model. Historically I believe the level of simulation performance largely drove this lab bias. The typical models were RTL or cycle-accurate models, which did not provide the run-time performance required to do reasonable software debug or analysis. With today’s ESL design and modeling techniques, we have simulation models that are much more abstract. They deliver execution speeds that are capable of enabling extensive software development and debug, as well as architectural analysis based on real-world workloads. In many cases I’ve seen customers creating and running virtual platforms that execute faster on their workstations than the target embedded system will execute.

It was encouraging to me to see the instructors focus on system simulation as a valuable step in learning about, understanding and developing an embedded system. As time goes on I expect to see fewer and fewer engineers with the lab bias. Use of a physical prototype or even a production board is critical in developing an embedded system, but some things are much easier to do on a virtual platform. As the course encouraged both virtual and physical exercises, engineers are able to develop more sophisticated and reliable products by leveraging the capabilities of both virtual and physical development flows