Algo-Logic Systems is seeking an experienced FPGA logic designer to implement next-generation CPU/FPGA hybrid systems for data centers, key-value stores, Internet of Things, accelerated finance, and other application domains.

Algo-Logic IP cores have been proven in real-time embedded systems and we are extending them to fulfill the needs of next-generation applications in other domains. We are seeking an experienced FPGA logic designer to implement continuously evolving logic on a variety of system architectures. In most cases this will be new functionality, not an incremental modernization that must maintain backward compatibility.

Algo-Logic FPGA based accelerators are implemented in both discrete PCI cards and cache-coherent tightly coupled CPU/FPGA hybrids, meaning the designs must support both a classical PCI interface (MMIO and interrupts) as well as modern cache-coherent interfaces (read-modify-write atomic operations). Experience with coherent memory models like IBM's CAPI and Intel's CCI-P/QPI are highly desirable.

Job Responsibilities

  • Design and implement end-user algorithms directly in FPGA logic using RTL
  • Work closely with kernel driver developers to implement fine-grained communication and synchronization between software and hardware
  • Develop design architecture for reusable and composable RTL cores of internal and user application logic
  • Correctness and performance testing of FPGA/CPU interface
  • Working directly with customers and vendors to define and interpret requirements and specifications
  • Attend technical conferences
  • Simulation and performance modeling of experimental and evaluation designs
  • Validate design in target system

Required Skills

  • Verilog/System Verilog
  • Pipelined access of on-chip RAM, off-chip DRAM, and PCI-based MMIO
  • Debugging of hybrid hardware/software systems
  • Hands-on testing of FPGA logic and complete systems
  • Verification using randomized testing
  • Understanding of IP Layers 1 & 2, UDP, multicast
  • Understanding of latency optimizations for programming and networking
  • Writing user and reference documentation
  • At least one scripting language such as: Python and/or Perl, shell (bash, csh, etc.) scripting, Makefiles

Preferred Skills

  • Working with reconfigurable systems based on FPGAs
  • Simulation using Questa Modelsim
  • MMIO, DMA, and MSI-X over PCIe
  • Git repositories
  • Key-value stores (MongoDB, Redis, Memcache, etc.)

To apply, please submit an employment inquiry.