Nikolaos Kavvadias - Research Scientist

May 31, 2014; office@home; my all-hardware, FPGA-based 2D cellular automata shown on the left.

I have 15+ years experience in providing hardware and software development, design, consulting and support services. My services focus on:

  • Custom EDA (Electronic Design Automation) tool development. Visit the YARDstick and HercuLeS webpages for previous and ongoing projects.
  • System and processor IP development using VHDL or Verilog HDL
  • Technical writing assignments
  • Funding and support for developing high-level synthesis or ASIP synthesis tools

Pricing details and arrangements available upon request.

I am also on Twitter (as nkkav), Skype (as nikolaos.kavvadias) and LinkedIn (as Nikolaos Kavvadias). In addition to conventional media, I accept Paypal payments, ask for details if interested.


Follow @nkkav Tweet
     
What you can find on this page:

Commercial projects [UPDATED: 2014-12-07]

PNG logo loopgen: VHDL IP cores for implementing nested loop structures (HTML) (PDF) (Product brief)
PNG logo xmodz: Fast hardware implementations of integer modulo (HTML) (PDF) (Product brief)
PNG logo llvmparse: Portable, standalone, parsers for the textual LLVM IR (HTML) (PDF)
PNG logo mprfgen: Multi-port register file generator (HTML) (PDF)
PNG logo aprof: Intermediate language profiler and resource utilization estimation tool (HTML) (PDF)
PNG logo hlo: C-to-C source code optimizer (HTML) (PDF)
PNG logo fxpemu: Fixed-point emulation library for ANSI C (HTML) (PDF)

FREE/open-source projects [UPDATED: 2014-12-07]

fixed extensions: VHDL fixed-point arithmetic extensions package (HTML ) (PDF) (github repository)
PNG logo ratpack: Rational arithmetic package for VHDL (HTML) (PDF) (OpenCores repository)
PNG logo kdiv: C and assembly code generators for integer division by constant (HTML) (PDF) (Sourceforge repository)
PNG logo kmul: C and assembly code generators for integer multiplication by constant (HTML) (PDF) (Sourceforge repository)
libpnmio: C library for reading and writing ASCII and binary PNM (PBM, PGM, PPM) and PFM (Portable Float Map) image files (HTML) (PDF)
kvcordic: Synthesizable VHDL IP core for a universal, multi-mode CORDIC computer (HTML) (PDF) (OpenCores repository)
PNG logo complexpack: VHDL package for complex arithmetic (HTML) (PDF)
palutils: Palette utilities for low-level image manipulation (HTML) (PDF)
bbcount: Basic block annotation pass for the Machine-SUIF compiler (HTML) (PDF)
instrmix: Instruction mix report generator for the Machine-SUIF compiler (HTML) (PDF)
loopstr: Natural loop analysis pass for the Machine-SUIF compiler (HTML) (PDF)
liveanalysis: Liveness analysis report generator for the Machine-SUIF compiler (HTML) (PDF)
xopreplace: Machine-SUIF pass for replacing a function call by a SUIFvm operator (HTML) (PDF)
bbpart: CDFG extraction pass for the Machine-SUIF compiler (older version) (HTML) (PDF)
tcfggen: Task control flow graph (TCFG) extraction pass for the Machine-SUIF compiler (HTML) (PDF)
zolcgen: Zero-overhead loop controller code generation pass for SALTO (HTML) (PDF)
rasm: Retargetable assembler (HTML) (PDF)
digikaleid: Digital kaleidoscope using 2D cellular automata (PDF in ENG) (PDF in GRE). The digital kaleidoscope was exhibited at the 2nd Panhellenic meeting on New Technologies and Robotics. Download the bitstream and the MCS ROM file for the Xilinx Spartan-3AN starter kit board.
bstest: Buttons and switches tester for the Xilinx Spartan-3E (bstest-s3esk.zip) and Spartan-3AN (bstest-s3ansk.zip) starter kits (HTML for S3ESK) (PDF for S3ESK) (HTML for S3ANSK) (PDF for S3ANSK)
ledramp: LED ramp effect for the Xilinx Spartan-3E (ledramp-s3esk.zip) and Spartan-3AN (ledramp-s3ansk.zip) starter kits (HTML for S3ESK) (PDF for S3ESK) (HTML for S3ANSK) (PDF for S3ANSK)
color_maker: A color picker as a VGA tester for the Xilinx Spartan-3E (color_maker-s3esk.zip) and Spartan-3AN (color_maker-s3ansk.zip) starter kits (HTML for S3ESK) (PDF for S3ESK) (HTML for S3ANSK) (PDF for S3ANSK)
PNG logo image_processing_examples (ipe): Image processing primitives for reading and writing PNM files in VHDL testbenches (HTML) (PDF). This is a fork of Martin J. Thompson's image_processing_examples
elemapprox: Approximating and plotting elementary functions as ASCII or bitmap (PBM) for ANSI C, Verilog HDL and VHDL (HTML) (PDF)
PNG logo interval: Interval arithmetic API for ANSI C (HTML) (PDF)
oberon00: Oberon-0 subset for use as a hardware-software description language (HTML) (PDF)
gvizparse: Standalone lex/yacc parser for the Graphviz format (HTML) (PDF)
pde2hw: FPGA-based hardware prototypes in Processing (HTML) (PDF)
PNG logo dlx: DLX functional model for ArchC (HTML) (PDF)
PNG logo toy: Assembler and simulator for the Princeton TOY machine (HTML) (PDF) (Princeton TOY website)
PNG logo toysim: ArchC functional simulator for the Princeton TOY machine (HTML) (PDF)
PNG logo [UPDATED] mu0: HDL models and programming tools for the educational MU0 processor (HTML) (PDF) (Prof. G. Constantinides-Architecture-Lecture 2-A very simple processor) (Assembler and debugger/simulator by benjya) (Pete Jinks-MU0-A Simple Computer) (James Bedford-Understanding the MU0 Processor)
[NEW] rasalghul: The RASter ALGorithms HULk

Blog posts


Articles and references in the press


Technical videos



free counters