IMAP-VISION
Links
Ordering
Contact

The programming environment consists of the following parts:

Additional information can be found in the documentation:

The 1DC language
1DC is a language developed by the NEC Incubation Center as a machine independent high-level programming language for linear array parallel (SIMD) processing cards. The language is based on the widely used C programming language and follows the ANSI C syntax. 1DC has the following features, which can be considered as extensions to ANSI C to allow distributed variables and communication:

  • "separate" variables
  • individual processor addressing
  • processor masking
  • neighbor processor addressing
  • global AND/OR operations

1DC compiler - IMAP-assembly language - debugging environment

The compiler
A 1DC compiler for the IMAP-VISION card, called ccimap, has been developed. Its usage is the same as that of usual C compilers. It compiles 1DC source files into object files and links them with other object and/or libraries to create executables for the IMAP-VISION card.
1DC compiler for the IMAP-VISION1DC compiler for the IMAP-VISION


1DC language - IMAP-assembly language - debugging environment

The assembly language
The IMAP-VISION card can quite easily be programmed using 1DC, but as always, communication goes best in one's native language. IMAP-VISION's native language is an assembly language called IMAP-assembly. It can be used to write more efficient and more specialized code than is possible in 1DC. Assembly functions are generally 1.2 to 1.6 times as fast as their 1DC equivalent and especially when a function is called in a loop this can make a big difference.

The IMAP assembly language looks very complicated. One of the reasons is that there can be two instructions on every line of code and two flags. The first instruction is a control processor instruction, the second a PE instruction. The flags are to enable interrupts and to indicate if and how the PE mask register should be taken into account for the execution of the PE instruction.

But, because the PEs and the controller have a small instruction set (RISC), it is not very difficult to learn the assembly language.

The IMAP-assembly files can be assembled using ccimap or by directly calling the assembler asimap.


1DC language - 1DC compiler - debugging environment

The debugging environment
The debugging environment for 1DC using the IMAP-VISION consists of a source-level debugger called sdbimap and a graphical user interface using X-windows (on UNIX systems) or Microsoft Windows®95 (on PCs). For IMAP-VISION boards of type RVS-D-10G and newer the source-level debugger also exists for Windows®NT.
Software used for developingSoftware used for developing IMAP-VISION program.

After compiling and linking a program can be loaded into the debugger. The debugger will load the program into the program memory and execute it in a controlled way. It can place breakpoints, execute in step mode etc.. Also it is possible to watch the values of variables and their evolution during program execution.

Another facility of the debugger is profiling. It can show the total execution time of a program or function and the time for each line of code in that program or function. This can help in the optimalization process by finding the slowest parts of a program.

Finally it is possible to change the value of a program's variables during execution.

More information can be found in the "Reference guide for the IMAP-VISION source-level debugger, sdbimap".


1DC language - 1DC compiler - IMAP-assembly language