Impulse Accelerated Technologies announced the first commercial release of CoDeveloper, a new C language design tool for programmable platforms based on the Altera Nios and Xilinx MicroBlaze embedded processors.
Impulse CoDeveloper is a hardware/software design tool that allows the C language to be used to develop applications for mixed hardware/software platforms including Altera Nios-based Cyclone or Stratix FPGAs and Xilinx MicroBlaze-based Virtex II or Spartan FPGAs.
The Impulse C libraries and related compiler tools support multiple programming models, including streams-based programming, allowing a software programmer to make use of available FPGA resources for hardware coprocessing without the need to write low-level hardware descriptions.
The compiler tools included with CoDeveloper provide the necessary C to RTL compilation path, as well as providing automated generation of software/hardware interfaces that are specifically optimized for the MicroBlaze and Nios processor platforms. This capability makes it possible for an application developer to create a complete hardware/software application with no need to write VHDL or Verilog code.
Instead, the CoDeveloper tools create the necessary low-level hardware and software descriptions (in the form of HDL outputs and automatically-generated software libraries) which can then be imported directly into the Xilinx and Altera tools for hardware synthesis and implementation. CoDeveloper HDL outputs are also fully compatible with third-party synthesis tools including those available from Synplicity, Mentor and others.
Enabling C Language Design for Highly Parallel Platforms
For desktop simulation, the Impulse C libraries allow Microsoft Visual Studio, Metrowerks CodeWarrior, GCC-based tools and other standard IDEs to be used for application development and debugging. During simulation, CoDeveloper monitors Impulse C applications and identifies communication bottlenecks such as over-utilized stream buffers.
"CoDeveloper broadens the reach of programmable platforms" asserts Brian Durwood, Impulse co-founder and CEO. "We believe there is an opportunity to leverage both ANSI C and popular C-based tools into the existing FPGA tool flow in a way that does not require low-level knowledge of hardware. Providing standard ANSI C-compatible library functions that enable parallel software programming for Nios- and MicroBlaze-based FPGAs, when combined with the FPGA vendors' embedded development kits, makes it possible to obtain everything needed for hardware/software codesign"including a hardware reference board"for under $3000."
CoDeveloper's enabling technologies include the Impulse C libraries, which allow standard ANSI C to be used to describe, compile and simulate highly parallel algorithms, and the CoDeveloper hardware compiler, which allows specific Impulse C processes to be identified as hardware and compiled directly to FPGA logic. With this approach, parallelism in an application can exploited in two ways: through compilation and automated optimizations performed at the level of individual processes (loop pipelining, for example) and at the application level by providing a streams-based programming model appropriate for highly parallel platforms
In addition to generation of hardware (in the form of automatically-generated HDL files) and of the hardware/software interfaces, the CoDeveloper tools go a step further by exporting generated files (which include platform-specific run-time libraries, HDL components and Tcl scripts) directly into an Altera Quartus or Xilinx Platform Studio project. This level of automation makes it possible for engineers with little or no existing knowledge of FPGA devices and tools to generate complete FPGA-based embedded applications.
Addressing the Hardware/Software Interface
The founders of Impulse (who trace their lineage back the early 1980s and the advent of complex PLDs and FPGAs and related design tools including Data I/O's ABEL and later VHDL-related products) state that their goal is to allow software and hardware application developers to make use of programmable hardware without the need to write low-level hardware descriptions. While they acknowledge that for many performance-critical applications some level of hardware design knowledge will be important, the ability to quickly create new, alternative hardware/software solutions will have dramatic productivity benefits. By allowing application developers (including software engineers) with a wide range of experience to develop prototypes or end-products that make use of FPGA resources, CoDeveloper promises to dramatically improve development productivity and improve design innovation, in large part by allowing developers the freedom to try new and different ways of implementing mixed software/hardware applications, without the hardware design lead-times that would otherwise be required.
"One of the key benefits we offer embedded systems designers is the ability to experiment," stated David Pellerin, co-founder and Chief Technology Officer of Impulse. "Our target customers include software developers who are capable of using modern, parallel programming methods such as dataflow but may not be familiar with low-level FPGA design techniques and tools, and who are unwilling to invest the amount of time needed to craft hardware solutions using existing methods. In support of these users, we provide not only the compiler tools allowing C language software processes to be compiled to hardware, but also automate the creation of the required hardware/software interfaces."
CoDeveloper for Nios and CoDeveloper for MicroBlaze pricing and availability
CoDeveloper for Nios and CoDeveloper for MicroBlaze are each available now for $4995 (permanent license, single-user). One-year licenses for either product are $1995, including all support and updates. The universal version covering both Altera and Xilinx platform targets (as well as other platforms to be announced) is available for $8995.
CoDeveloper for either Xilinx or Altera platforms includes the Impulse C libraries, the CoBuilder C to RTL compiler and optimizer, the CoDeveloper Application Manager and Application Monitor and the necessary Platform Support Packages.
Users of CoDeveloper for Nios will also require the Quartus II and SOPC Builder software (available from Altera) as well as one of the widely-available Nios-based reference boards (also available from Altera).
Users of CoDeveloper for MicroBlaze will require the Xilinx Platform Studio product, which includes Xilinx ISE and the Xilinx Embedded Development Kit. MicroBlaze users will also require a MicroBlaze-based FPGA reference board, available from Insight Electronics or from other Xilinx partners.
CoDeveloper HDL outputs are fully compatible with third-party synthesis tools including those available from Synplicity, Exemplar Logic and others.
Free 30-day evaluation licenses of CoDeveloper are available. Visit www.ImpulseC.com for more information.