Download PDF1 - Greg Gibeling

Transcript
compiling and mapping to a Xilinx FPGA, an Altera FPGA or a Java platform and a copy of this
thesis.
Program 15 Port Variance
port pstruct {
covariant message munion {
3
LoadRequest
Load ;
4
Store
Store ;
5
}
MemIn ;
1
2
6
contravariant message
LoadReply
MemOut ;
9}
MemIO ;
7
8
5.4.5
Opaque
In order to build a reasonable standard library of
units, it is desirable to sometimes create a unit
which does not operate on the data it processes.
In particular, imagine a memory structure of some
kind such as a FIFO (see Section 7.3) or RAM
which merely stores data for later retrieval. It may
be desirable for this unit to accept messages of any
type without regard to their contents.
In order to accomplish this, the opaque keyword
should prevent any RDL tool from generating message formatting logic, in particular packing (see
Section 4.2.2) and marshaling (see Section 4.2.1)
logic for a particular port. In combination with a
unit level parameter for the type of the port, this
will allow the unit to accept or send messages without tying the unit implementation to a particular
message type.
5.5
Conclusion
RDL was designed both to help formalize RDF, and
to capture systems within them for manipulation by
automated tools, in particular the RDL Compiler
(RDLC) and is a declarative system level language,
and contains no behavioral specification for units,
relying on existing design libraries and languages.
In this section we have presented the lexical structure, syntax and semantics of the RAMP Description Language (RDL) particularly as they relate to
the goals of RAMP (see Section 2.2). In particular the type system (see Section 5.2) is vital to
the community building efforts of RAMP, as it allows researchers working with disparate HDLs or
software languages to define common, easy to understand interfaces. Section 6 covers the netlisting
aspects of RDL, through which target and host systems are constructed.
The complete RDLC1 and RDLC2 code, examples and documentation downloads can be down on
the RAMP Website [9]. In addition to the complete
source code, the downloads include instructions for
36