Custom IP Design & Integration
Unleash the potential of your reconfigurable platform - custom IP core services from PetaLogix
The FPGA is a blank canvas. How can you best use this resource to meet your functional, performance, cost and time-to-market objectives? Beyond the standard IP cores from FPGA vendors, there is a huge ecosystem of third party IP vendors. Or perhaps you require something unique to your product.
PetaLogix have a proven track record in sourcing, developing and integrating custom IP cores for high performance FPGA-based systems. We can help you determine if there is something available off-the-shelf, either from a 3rd party or from our growing IP library, or if you need something fully customised.
Even if you have IP development capabilities in-house, we can help you understand your options in how to best connect to the rest of the embedded system, to avoid performance bottlenecks and maximise reuse opportunities.
Here are some of our recent projects in this area:
- Integrating a 3rd-party JPEG decoder core into a MicroBlaze system for real-time multi-megapixel image processing
- Developing graphical framebuffer interfaces to QVGA LCD display modules
- Creating high-performance, DMA-enabled interfaces for off-chip custom communication protocols
Of course, it doesn't end with the hardware. Developing high performance, easy to use, and extensible device drivers and software APIs for unique hardware designs can be challenging. PetaLogix is unique in having one foot firmly in each side of the hardware/software divide - see our Kernel and Driver Customisation services to learn more.
Custom hardware interfaces
- PLB (Processor Local Bus) - standard system bus for MicroBlaze and PowerPC systems, including high-performance burst and DMA capabilities
- FSL (Fast Simplex Link) - the native coprocessor interface for MicroBlaze and PowerPC (via the Xilinx APU to FSL bridge)
- NPI (Native Port Interface) - connect directly to the Xilinx high performance MultiPort Memory Controller (MPMC)
- custom high-performance on-chip and off-chip interfaces
Different roles for custom hardware
Over the years we've had the privilege of working on a range of customer designs - some targeting high performance, others with highly customised I/O requirements. While every system is different, we've seen some patterns emerge:
- The Coprocessor:
- tightly coupled functional units, typically operating on small data packets and often in latency-sensitive situations. Examples include cryptography function offload, and custom datapaths to accelerate common dataprocessing sequences. The FSL interconnect is often a good choice in this scenario.
- The Custom Peripheral:
- loosely coupled data processing or analysis units, often operating on larger data packets. Image and audio processing units are good examples. Sometimes these will source or sink data off-chip, leading to intelligent I/O controllers performing prefiltering on high bandwidth datastreams, only interrupting the CPU for particular events of interest.
- The System Controller:
- A more conventional digital design comprising most of the FPGA logic, with a small embedded soft-CPU subsystem for control and monitoring. Embedded Linux shines in this scenario, providing a ready-to-use networking stack for web and network based control, management and upgrade.
In all of these scenarios, careful architecture design is critical to keep high-bandwidth datapaths flowing freely, while still leveraging value from the embedded Linux subsystem.
PetaLogix Architecture Design Services are geared towards ensuring your system meets these goals, first time.