Modeling micro-controller peripherals for high-level co-simulation and synthesis
H. Hseih, Luciano Lavagno, Claudio Passerone, Claudio Sansoè, Alberto Luigi Sangiovanni-Vincentelli · 1997
Luciano Lavagno, Claudio Passerone, and Claudio SansoePolitecnico di TorinoMapping a behavior on an embedded system involves hardware-software partitioning and assignment of software and hardware tasks to different components. In particular, software tasks in embedded controllers are mostly assigned to a micro-controller. However, some micro-controller peripherals are implemented with partly programmable components that can be regarded as very simple co-processors with limited instruction sets and capabilities. Embedded system designers are used to mapping some simple software tasks onto these simple co-processors, obtaining overall performances that can be orders of magnitude superior to the ones obtained mapping all software tasks to the micro-controller itself. In this paper, we propose a methodology to specify, simulate, and partition tasks that can be implemented on programmable micro-controller peripherals such as Timing Processing Units (TPUs). Following our general philosophy, we let the designer propose a partition, and we provide an environment to: - efficiently simulate and evaluate a particular implementation choice, - automate downstream synthesis for software, hardware, as well as peripheral programming routines.