This talk is dedicated to models, methods and tools enabling electronic circuits to be designed more productively and more efficiently allowing higher abstraction and automation levels. It is known that most models of computation include components with state, where behavior is given as a sequence of state transitions. The latter can be encapsulated in reusable modules at a specification level. The modules can be activated hierarchically and in parallel. Besides they might be recursive. Module-based specifications possess a number of advantages, because they:
- Make easier reusability (any module can be used in a new more complex specification);
- Enable higher level of abstraction to be provided comparing with state transitions at a single level;
- Can formally be implemented relying on advanced FSM models (e.g. hierarchical FSMs, parallel FSMs, communicating FSMs) and thus, support model-based methodologies;
- Enable reconfigurability at the level of modules simplifying adaptability and self-reconfiguration;
- Provide support for fault tolerance because verification can be done at modular level assuming that modules can be replaced with some other modules and the latter might be reconfigured, if required;
- Open great opportunities for software/reconfigurable hardware co-design and co-simulation;
- Implement some additional useful features that will be addressed in the talk.