Efforts to produce an efficient way of linking those programming in C with the ability to create hardware have been under way for many years. One of the first tools generated to support this was created in the early 1990s in Oxford University’s Computing Laboratory, where Ian Page developed Handel-C as means of bridging between C and silicon.
The interest generated by Handel-C saw the software commercialised by Embedded Solutions, later to become Celoxica. Handel-C, meanwhile, was bought and sold and is now part of Mentor Graphics’ DK Design Suite. Mentor says this software, which supports code being compiled directly into FPGA logic, is suitable for those using C and C++, but who don’t have much hardware design experience.
While efforts have been made to develop C to hardware technologies, there has also been work on developing C to multicore systems, recognising the growing importance of the latter technology in embedded systems.
One of the biggest European projects to date is bringing together something like 100 partners to work on the challenge. Called EMC² – ‘Embedded Multi-Core systems for Mixed Criticality applications in dynamic and changeable real-time environments’ – the ARTEMIS Joint Undertaking project has a budget of some €100million.
Flemming Christensen, managing director of Sundance Multiprocessor Technology, said: “EMC² is massive and one of the EU’s biggest funded projects.”
According to Christensen, EMC² ‘wants to make an impact’. “It’s addressing areas such as embedded computing, the IoT and the things that go around them. The focus is on multicore and on time critical applications, where things cannot go wrong.” And the EMC² website highlights this, noting ‘the objective of EMC² is to establish multicore technology in all relevant embedded systems domains’.
According to EMC², the development of multicore hardware architectures and concepts with partial reconfiguration will open up what it calls a ‘new era’ of time multiplexed hardware coprocessors. These devices, which are expected to reduce power consumption and improve efficiency, have the potential to enable reconfigurable multicore processors, it contends.
“EMC² is also about making multicore systems safe,” Christensen noted, “because these types of device will eventually be used in embedded computing. In short, it’s about making sequential applications into multicore applications.”
He estimated that some 95% of embedded solutions feature a single CPU, but pointed out that almost all new processors are multicore. In a complex system, such as a car, there might be more than 100 CPUs. “Wouldn’t it be better if fewer multicore chips could be used?” he wondered. And that multicore device might not just feature CPU cores. “EMC²’s goal is ‘generic’ multicore; it could be a number of CPUs, with hardware accelerators alongside,” he continued. “So while the C to VHDL aspect of EMC²’s work is relevant to FPGA users, there is also a significant element that is exploring how to map software to multiple CPUs.”
In Christensen’s opinion, this latter aspect remains the ‘Holy Grail’ of embedded software development. “It might be 20 years before the multicore dilemma is solved, maybe longer.”
Sundance has a long history of developing C to VHDL hardware and software and has a range of products for high performance embedded processing applications. Initially, it designed devices for the parallel processing market, but has since broadened its scope to include PC add-in boards and modules. Most of its products are based on TI’s TMS320C6x processors or on Xilinx’ Virtex FPGAs.
0 comments:
Post a Comment