Open RVC-CAL Compiler

The Open RVC-CAL Compiler (Orcc) can generate code for any platform, including hardware (Verilog, VHDL), software (C, LLVM), heterogeneous platforms (mixed hardware/software), and multi-softcore platforms, from a platform-agnostic, high-level description.

The Orcc project also provides a dedicated Virtual Machine, the Just-in-time Adaptive Decoder Engine (Jade) based on LLVM infrastructure, that can dynamically produce machine code for a wide range of software platforms.

Introduction

Orcc is a collection of support tools under BSD license. The primary purpose of Orcc is to provide developers with a compiler infrastructure to allow several languages and combination of languages (in the case of co-design) to be generated from RVC-CAL actors and XDF networks. Orcc does not generate assembly or executable code directly, rather it generates source code that must be compiled by another tool.

What is a network?

Something like this:

What is an actor?

Something like this:

package org.mpeg4.part10.cbp.selectMacroblock;

import org.mpeg4.part10.cbp.MacroBlockInfo.BLOCK_TYPE_INTRA_MAX;

actor SelectMb()
	uint(size=6) MbType,
	uint(size=8) MbFromIntra,
	uint(size=8) MbFromInter
		==>
	uint(size=8)  MbOut
		:
	uint(size=6) mbType;

	getMbType: action MbType:[valMbType] ==>
	do
		mbType := valMbType;
	end

	forwardMb.intra: action MbFromIntra:[x] repeat 64 ==>
		MbOut:[x] repeat 64
	guard
		mbType <= BLOCK_TYPE_INTRA_MAX
	end  

	forwardMb.inter: action MbFromInter:[x] repeat 64 ==>
		MbOut:[x] repeat 64
	guard
		mbType > BLOCK_TYPE_INTRA_MAX
	end

	schedule fsm GetMbType:
		GetMbType (getMbType  ) --> ForwardMb;
		ForwardMb (forwardMb  ) --> GetMbType;
	end
end

Quick install

Install Orcc from the update site http://orcc.sf.net/eclipse/
More information

Contact

Whether you need (or want to offer) help or advice, or if you just want to discuss/chat about Orcc, feel free to contact us!

Most of the team is based in Europe, so you might expect people to be connected and answer mail during the day (GMT+1).

Useful links

Main Github page
Open RVC CAL Compiler project
Open RVC CAL applications project

OpenDF community
Cyberspace of Shujun Li on RVC
Open Video Coding

RVC on wikipedia
CAL on wikipedia
TTA on wikipedia

LLVM compiler infrastructure
TTA-based Co-design Environment


This website is hosted by Get Open RVC-CAL Compiler at SourceForge.net