Santa Cruz, Calif. With a goal of helping systems-on-chip architects and designers make sound decisions, startup CoFluent Design (Nantes, France) is gearing up to sell CoFluent Studio, a functional and architectural design tool. It helps define a hardware/software architecture, and it generates C code and synthesizable VHDL.
CoFluent was launched earlier this year by its three founders: director Vincent Perrier previously worked as an applications engineer at Wind River Systems Inc., general manager Stephane Leclercq worked for Motorola Computer Group and chief technology officer Jean-Paul Calvez is a professor at the University of Nantes (France). Calvez created the hardware/software co-design methodology on which CoFluent Studio is based.
Perrier said the new company is currently shipping a "very mature and stable" CoFluent Studio version 0.9 to European customers and plans to release version 1.0 before year's end. While the initial focus is on Europe, he said CoFluent plans to have local sales and support in the United States in 2004.
CoFluent Studio lets designers capture information through graphics, C code and specification of attributes, Perrier said. Users first create, and simulate, a fully timed and executable functional model. Next, they define a physical architecture, using performance analysis and co-simulation. Finally, those who choose can generate C code for real-time kernels and VHDL for hardware portions of the design.
Compared with other co-design or electronic system level (ESL) design tools, CoFluent Studio operates at a higher level of abstraction, Perrier said. "It enables true architectural exploration," he said. "It can be seen as an entry tool to most existing ESL or co-design tools."
Perrier noted that users can start with no preconceived ideas about a hardware/software platform, develop a functional model, and then go through an "interactive architectural exploration cycle" that helps find the best solution in terms of partitioning, CPU utilization, processor selection, bus architecture, throughput and other criteria.
"Today, system architects have no tools to help them make those decisions," Perrier said. "They don't have tools that tell them that if they put this function on this processor, it will run correctly."
CoFluent Studio is based on the MCSE methodology. (Translated from French, MCSE stands for the co-design methodology for electronic systems.) This methodology involves five distinct steps: requirements definition; system specification; functional design; architectural design; and prototyping. CoFluent Studio provides the last three steps.
An important part of the methodology is the separation of functional and architectural design, Perrier noted.
"You think in terms of solving your problem, not in terms of hardware or software," he said. "Once you've solved the problem, then you think of the executive platform [physical architecture] that provides this functionality."
Users start by capturing a functional model that represents the system's structure, based on functions and the communications between them. They define the behavior for each elementary function, and execution times of operations and communications.
To capture this information, three editors are available. A graphical editor captures a block diagram, an algorithm editor lets users input sequential C code, and an attribute editor allows users to specify such criteria as execution times.
The next step is defining the executive structure of the system in terms of processors, memories, and communications nodes. The timing constraints and performances of the functional model help determine the hardware/software partitioning. Functions and relations in the functional model are mapped to the executive structure, producing an architectural design.
Designers can verify the behavior of the architectural model through performance analysis and co-simulation. CoFluent Studio translates the model into a C++ or SystemC program. The simulation engine uses a high-speed, event-driven engine that directly executes algorithms of operations, rather than emulating each instruction of a CPU.
During simulation, designers can view such information as a system execution timetable, evolution of system variables over time, performance indices such as CPU utilization and throughput, debugging output, and image processing output.
In the final, prototyping stage, users can generate C code for selected real-time operating systems, such as Wind River's VxWorks. They can also produce RTL VHDL code. CoFluent has no current plans to support Verilog, but that capability could easily be added in the future, Perrier said.
CoFluent Studio runs on Unix, Linux and Windows platforms and starts at $3,000, or 3,000 euros, per user.
See related chart