A programming language for hardware/software co-design

被引:0
作者
Watt, DR [1 ]
May, D [1 ]
机构
[1] Univ Bristol, Dept Comp Sci, Bristol, Avon, England
来源
COMMUNICATING PROCESS ARCHITECTURES 2001 | 2001年 / 59卷
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
We have developed a programming language that allows programs to be expressed as single specifications in which any number of processes may be tagged for hardware compilation and the rest are compiled into software. We introduce a number of novel transformations that may be arbitrarily applied to an occam process in order to decompose it into two semantically equivalent concurrent processes. Our compiler targets hardware by compiling one of these processes into a field programmable gate array and the other into x86 object code. Furthermore, the compiler integrates a specialised communications protocol between the two programs that consists of a full-duplex channel implementation, multiplexor and buffers that are dependent on the program structure and that guarantee all external communications are free from deadlock. We demonstrate the elegance of our language and the power of our compiler on a small benchmark program.
引用
收藏
页码:167 / 178
页数:12
相关论文
共 8 条
  • [1] Aubury Matthew, 1996, HANDEL C LANGUAGE RE
  • [2] BAILY B, MAKING SHIFT INTEGRA
  • [3] COMMUNICATING SEQUENTIAL PROCESSES
    HOARE, CAR
    [J]. COMMUNICATIONS OF THE ACM, 1978, 21 (08) : 666 - 677
  • [4] HOARE CAR, 1993, TRANSPUTER COMMUNICA, V1, P3
  • [5] *INMOS LTD, 1988, OCCAM 2 REF MAN
  • [6] Luk W., 1994, Proceedings IEEE Workshop on FPGAs for Custom Computing Machines (Cat. No.94TH0611-4), P82, DOI 10.1109/FPGA.1994.315604
  • [7] PAGE I, 1995, CONSTRUCTING HARDWAR
  • [8] PAGE I, 1998, HANDEL C LANGUAGE