In their press release they said: SpaceStudio™ 2.2’s virtual platform technology features new libraries with the ARM Cortex‐A9 dual MPCore processor and AMBA bus architecture that will be useful for the ESL design implementation of the upcoming Xilinx Zynq (Extensible Processing Platform) family. Tailored to system architects and software developers, SpaceStudio™ 2.2 will serve as a comprehensive Electronic System Level (ESL) tool that covers the early and middle System On Chip (SoC) design cycle.
This got me to thinking about the partitioning process, because it is not just about hardware/software partitioning, it is also software/software partitioning with the multiple processor cores. Gary had this to say: "Designers can create an initial architecture and then start exploring the design space. Hardware/software partitioning is supported by the ability to move hardware IP's from an interconnect to a processor - and vice-versa. The same SystemC module that might have been implemented as hardware can run as a processor-based application in your final embedded system with the use of our special porting libraries. In a multicore scenario, software/software partitioning is carried out by reallocating functions between processors to balance loads and/or improve performance. In a multiple bus or network-on-chip architecture, hardware/hardware partitioning involves moving hardware functions from one channel to another. To help the engineer make such decisions, we provide Space-Monitor for seamless and non-intrusive performance profiling."
Finally, I asked Gary to define how this would fit into a complete ESL flow. His answer: First, functional specification is carried out using SpaceStudio’s Elix module, working at a high level of abstraction prior to committing system functions to either hardware or software. Communication between blocks can be specified and functional validation of specifications carried out by generating executable models of the system to perform untimed or timed functional simulations. Next, the system’s architecture is created in SpaceStudio’s Simtek module, using component libraries (our SpaceLib, as well as user's own or third party IP) and the mapping of Elix-validated functional blocks to the architecture’s components."
As far as I know, Space is the only hardware/software codesign tool on the market. Ten years ago, it was the hot topic of research and even Cadence was peddling a solution to this problem, which was sold to CoWare, that got bought by Synopsys and somewhere along the line this capability disappeared.
Brian Bailey – keeping you covered