FPGA programming and design
We develop intelligent software for FPGA and CPLD crystals, design and integrate cores, interface controllers, data processing algorithms, processing cores and specialized modules.
Promwad experts offer an optimal selection of FPGA/CPLD microcircuits based on the complexity and budget, production and power usage requirements of the project.
- Preparation of specifications based on functional requirements
- Architecture definition and division into separate IP-cores, selection of IP-cores
- SystemC modeling
- Development of RTL definitions using VHDL/Verilog languages
- Logical and physical synthesis
- Topology verification
- DFT-testing compliance at all stages of design
- Adaptation of the project and specific IP-cores to various FPGA families
Integration of digital and control elements on a single chip managed by RISC CPU, DSP, signal processing blocks, peripherals, memory and interface with memory.
- Selection of the processor core architecture (ARM, PowerPC, MIPS)
- Integration of the processor cores (MicroBlaze, PicoBlaze, Nios) manufactured by ]]>Xilinx]]> and ]]>Altera]]>
- Adaptation of processor cores for the chip, core subsystem organization (interfaces, system buses, memory controllers, diagnostic utilities)
- Division of IP blocks into hardware (HW) and software (SW) elements
- Selection of the operating system (RTOS) for target hardware platform, application of the libraries and programs, ensuing interoperability of peripherals and the core, writing the programming code
- Development and integration of the interface controllers, peripheral modules, system buses
- Implementation of memory controllers (ROM, RAM, NOR/NAND FLASH, SDRAM, CF/SD/MMC), interface controllers (ISA, PCI, UART, LCD, LPC, MII, I2C, SPI, AC97), internal bus controllers (AMBA), control logic (FSM)
Data processing modules
- Digital signal processing algorithms: digital filters (FIR, IIR) and Fast Fourier Transforms (FFT)
- Specialized modules: DSP cores, multipliers, coders/decoders, ALU for operations with floating points
- Implementation of video processing algorithms: filtration, PIP, zooming, image stabilization, image part selection.