JIFFE Robot Control Processor

Home

Projects

Match-Moving

Robot Ping-Pong

Human Interface

EPCOT

BattingCage

Hardware

About Me

Bio

Publications

Vitae

Halloween

 


Circa 1987, dated now, but still nice work

Features:

  • Delivers 20 Mflops to user `C' programs.
  • Extensively optimizing C compiler.
  • Very Long Instruction World (VLIW) architecture.
  • Designed for ``random'' scalar computing
  • VME master and slave interfaces.
  • 32 bit IEEE floating point format.
  • Sun-3 compatible.

General Description

JIFFE is a very high performance processor specialized for robot control applications. As a Very Long Instruction Word (VLIW) processor, it can efficiently implement the ``random'' sequence of operations arising from minimized robot kinematics and dynamics (unlike an array processor). The JIFFE processor can completely control a 6 or more degree of freedom robot at 1 KHz servo rate. JIFFE performs up to 20,000 floating point operations per millisecond, enough for trajectory generation, kinematics, dynamics, force control, and servo algorithms. JIFFE is also well suited to control sophisticated robot hands with many degrees of freedom, such as the University of Utah's.

The fastest processor is useless without a good way to program it. JIFFE's standard C compiler lets you get code onto JIFFE quickly, and get the performance you expect. You will not have to write assembly language. The C compiler features common subexpression minimization and built-in functions to efficiently access hardware features such as square root, absolute value, and minimum/maximum. The C compiler performs extensive code reordering and packing to take advantage of JIFFE's VLIW architecture. Some matrix extensions to the compiler enable easy entry of published matrix control equations for experimentation, and JIFFE's 40 Mflops (asymptotic) matrix multiplication performance offsets the cost of the unminimized matrix formulation. JIFFE also provides a complete operating environment resembling that of the UNIX(tm) operating system, including terminal and file I/O and mathematics functions. Of course, I/O isn't appropriate in real-time operation, but it greatly facilitates off-line debugging.

The JIFFE processor is a generic processing engine placing no restrictions on the controlled robot. (It can be used for vision or general computing, for example.) JIFFE can be a VME master, so it can directly control your standard VME-bus robot interface cards. JIFFE receives higher-level direction from the host via its dual-ported memory.

Detailed Specifications

Program Memory: 1.6 Mb, 64K 200 bit words : ~50K lines of C

Data Memory: 256 Kb, 64K 32 bit words

Register File: 64 32 bit, 16 for C, 32 scratch

VME Master Interface: A24D32, A24D16, A16D32, A16D16; 3-4 Mb/sec depending on target. BR(3), INT(1)

VME Slave Interface: A24D32 slave, ~0.25 Mb

Size: DIN 9U x 400 mm Sun-3 card

Power: 17 A @ 5 V from Sun-standard P3 connector

Air Flow: 400 feet per minute minimum 

Performance:

  • 20 Mflops +,-,*;
  • 40 Mflops in matrix multiplication;
  • 300 nsec divide, two at once;
  • 400 nsec sqrt, two at once;
  • 1.1-1.4 usec for full range sin & cos;
  • 23,585 dhrystones/sec;
  • 24.5 M whetstones/sec;
  • 5-134x faster than Sun-3/260.

Software:

  • C compiler,
  • assembler/loader,
  • -lc library emulates UNIX(tm) operating system,
  • optimized -lm math library,
  • debugger,
  • driver library for host programs.