As a Xilinx Design Partner since 2012, Cardinal Peak provides FPGA design services and has developed dozens of products using Xilinx field-programmable gate arrays (FPGAs) and programmable SoCs. These highly flexible programmable silicon components enable complex solutions without the need for custom silicon. Our experience with Xilinx design services and verification tools includes both current and legacy systems.
Our clients for FPGA engineering services are equally split between commercial businesses and aerospace and defense contractors. For our typical commercial client, we take responsibility for a complete design or subsystem, thereby reducing the management burden for our client. For aerospace and defense clients, we typically work in a staff augmentation model where our engineers are managed directly by our client’s project managers. Having provided long term support to multiple defense and aerospace contractors, we are well versed in the unique requirements of working with those firms including compliance with DD2345. Our FPGA design consultants support high-speed audio, video and software-defined radio applications in both defense and commercial markets.
FPGA Consulting Example with Sub-MS Latency
An example of the type of FPGA development services we provide, we designed a high-speed, ultra-low-latency wireless link that demanded more than any off-the-shelf radio could provide. Our solution was to develop a custom modem implemented in programmable logic. We joined a Xilinx Zynq processor with an Analog Devices transceiver, enabling our team to build a powerful, frequency-agile radio capable of meeting the application’s extreme requirements (sub-millisecond latency for sustained bi-directional 10 channel audio).
Building the modem entirely in the FPGA fabric offered the speed and reliability of a dedicated ASIC with the flexibility to design a perfectly tailored solution to meet the customer’s needs. Learn more about the SDR application utilizing our FPGA services.
FPGA Design Services Example for Pro Audio
We provide FPGA design services for pro audio customers. One such design was a PCIe based Dante® networked audio system controller card that featured multiple Xilinx Spartan 6 and Artix-7 FPGAs. Critical to this design was an RTL architected to be capable of high bandwidth throughput, for which the FPGA is ideally suited. Additionally, we were required to optimize the Linux kernel on the computer hardware (PC), to guarantee it would be able to keep up with the hardware.
For another pro audio customer, we were approached for a cost-reduction redesign of one of their network-centric digital signal and control processor lines, supporting over 400 bidirectional audio channels. The original Power-PC based design was rearchitected using a Xilinx Artix-7 as a central router and variable number of Analog Devices DSPs for various product model configurations and options. Learn more about our Dante audio design experience, beyond the above FPGA engineering services.
FPGA Services for Defense & Aerospace
While we can’t speak to the details of our aerospace & defense work, we can say that most involve large Xilinx Kintex and UltraScale FPGAs used for terrestrial and flight systems. These are predominantly image processing applications involving extremely high speed “fat” data pipes (PCIe, Rapid-IO, Aurora, etc.), using DMA, and low-latency processing.
In all cases, our (VHDL or Verilog) FPGA engineers have extensive experience in digital design verification using UVM, SystemVerilog and SYSTEMC software. We develop system and unit level verification test bed design using Universal Verification (UVM) and Open Verification Methodology (OVM). Below are some of our most common Xilinx capabilities.
Xilinx FPGA Design Capabilities
Current Xilinx Tools | Legacy Xilinx Tools | Devices | |
---|---|---|---|
Vivado | ISE Design Suite | Virtex | MIG |
Vitis including SDK | EDK | Spartan | Zynq SoC & MPSoC |
IP Integrator | MicroBlaze | Artix | Kintex Ultrascale |
Vivado Simulator | PowerPC | Kintex | Zynq Ultrascale+ |
ChipScope | PCIe | Most legacy devices |
FPGA Design Services Case Studies
As a top FPGA consulting firm, Cardinal Peak provides innovative FPGA engineering services as illustrated in the projects below. If you’re looking for FPGA design consultants, reach out today.
FPGA Capabilities and Design Experience
How does A2B work and where has Cardinal Peak used it?
Developing a Cryptocurrency Wallet
FPGA Consulting FAQs
What are FPGA Development Services?
Like a box of Lego bricks, field-programmable gate arrays (FPGAs) contain an array of programmable logic blocks designed to be configured after manufacturing, allowing the blocks to be intertwined in different configurations. Infinitely configurable FPGA fabric allows an electrical engineer to design an FPGA to perform virtually any function. While infinitely flexible, programming of an FPGA can be a sophisticated process which requires simulation and testing to ensure the final product does exactly what it is meant to do. Our FPGA engineers are experts in all the development and simulation tools such as Vivado and Vitis along with devices such as Virtex, Spartan, Artix, and Kintex. To read about some of our FPGA design services and successes, please see our FPGA design experience brief. For those interested in the history of FPGAs please read our blog titled Curious about what an FPGA is and How it Actually Works?
What Can I Expect From Your FPGA Design Services?
We provide the right FPGA consulting expertise at the right time to support your development timeline. As FPGA projects vary in complexity and specific skills, the first step in tailoring our FPGA design services to your needs is to understand your project scope and schedule. From that starting point, we can estimate the number and type of resources necessary. This allows you to bring in all the talent you need, when you need it, for just the time window that you need it.
What Skills Are Needed to Design FPGAs?
Most FPGA developers utilize a hardware description language (HDL), such as the Very High-Speed Integrated Circuit hardware description language (VHSIC-HDL or just VHDL) or Verilog, which is a portmanteau of “verification” and “logic.” The two languages vary in syntax overhead and variable type-checking rigor, but in one key aspect, they both differ from traditional programming languages. Traditional programming languages are executed sequentially on an MCU or CPU. That is, the MCU/CPU fetches and executes each machine instruction in order of the execution. By contrast, HDLs are massively parallel, and within certain syntax boundaries, all the HDL statements execute concurrently within each clock cycle. This massive parallelism is where FPGAs improve execution speed. Learn more about our FPGA development services.
FPGA Engineering Services Related Articles
What is an FPGA and How Does It Work?
An FPGA is a field programmable gate array where SRAM-based fabric replaces metal interconnections between logic elements. It’s infinitely flexible and doesn’t wear out. Our engineer addresses key FPGA programming challenges, like how to avoid reprogramming the SRAM every time you power up.
FPGA Design Engineers' Toolbox: UVM and OVM in System and Unit Level Verification Test Bed Design
The Importance of Encrypting Video Over IP
Emphasizing the importance of encrypting video over IP, this blog post addresses an IP security vulnerability that vendors of any network-connected IP video device should take action against to prevent attackers from potentially viewing or inserting video on the network.
An FPGA is a field programmable gate array where SRAM-based fabric replaces metal interconnections between logic elements. It’s infinitely flexible and doesn’t wear out. Our engineer addresses key FPGA programming challenges, like how to avoid reprogramming the SRAM every time you power up.
Emphasizing the importance of encrypting video over IP, this blog post addresses an IP security vulnerability that vendors of any network-connected IP video device should take action against to prevent attackers from potentially viewing or inserting video on the network.