diff options
| author | Adam Izraelevitz | 2016-08-15 10:32:41 -0700 |
|---|---|---|
| committer | GitHub | 2016-08-15 10:32:41 -0700 |
| commit | bebd04c4c68c320b2b72325e348c726dc33beae6 (patch) | |
| tree | 69f6d4da577977cc7ff428b0545bb4735507aad0 /src/main/stanza/firrtl-ir.stanza | |
| parent | cca37c46fc0848f5dbf5f95ba60755ed6d60712b (diff) | |
Remove stanza (#231)
* Removed stanza implementation/tests.
In the future we can move the stanza tests over, but for now they should
be deleted.
* Added back integration .fir files
* Added Makefile to give Travis hooks
* Added firrtl script (was ignored before)
Diffstat (limited to 'src/main/stanza/firrtl-ir.stanza')
| -rw-r--r-- | src/main/stanza/firrtl-ir.stanza | 238 |
1 files changed, 0 insertions, 238 deletions
diff --git a/src/main/stanza/firrtl-ir.stanza b/src/main/stanza/firrtl-ir.stanza deleted file mode 100644 index fdb7659a..00000000 --- a/src/main/stanza/firrtl-ir.stanza +++ /dev/null @@ -1,238 +0,0 @@ -;Copyright (c) 2014 - 2016 The Regents of the University of -;California (Regents). All Rights Reserved. Redistribution and use in -;source and binary forms, with or without modification, are permitted -;provided that the following conditions are met: -; * Redistributions of source code must retain the above -; copyright notice, this list of conditions and the following -; two paragraphs of disclaimer. -; * Redistributions in binary form must reproduce the above -; copyright notice, this list of conditions and the following -; two paragraphs of disclaimer in the documentation and/or other materials -; provided with the distribution. -; * Neither the name of the Regents nor the names of its contributors -; may be used to endorse or promote products derived from this -; software without specific prior written permission. -;IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, -;SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, -;ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF -;REGENTS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT -;LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -;A PARTICULAR PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF -;ANY, PROVIDED HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION -;TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR -;MODIFICATIONS. -defpackage firrtl/ir2 : - import core - import verse - import bigint2 - -public defmulti info! (x:?) -> FileInfo -public defmethod info! (x:?) : FileInfo() - -public val vector-expand-delin = `$ -public val bundle-expand-delin = `$ -public val module-expand-delin = `$ -public val scope-delin = `_ -public val inline-delin = `_ -public val delin = `_ - -public definterface Direction -public val INPUT = new Direction -public val OUTPUT = new Direction - -public definterface Flip -public val DEFAULT = new Flip -public val REVERSE = new Flip - -public definterface Width -public defstruct UnknownWidth <: Width -public defn IntWidth (width:Int) : IntWidth(to-long(width)) -public defstruct IntWidth <: Width : - width: Long - -public definterface PrimOp -public val ADD-OP = new PrimOp -public val SUB-OP = new PrimOp -public val MUL-OP = new PrimOp -public val DIV-OP = new PrimOp -public val REM-OP = new PrimOp -public val LESS-OP = new PrimOp -public val LESS-EQ-OP = new PrimOp -public val GREATER-OP = new PrimOp -public val GREATER-EQ-OP = new PrimOp -public val NEQUAL-OP = new PrimOp -public val EQUAL-OP = new PrimOp -public val PAD-OP = new PrimOp -public val AS-UINT-OP = new PrimOp -public val AS-SINT-OP = new PrimOp -public val AS-CLOCK-OP = new PrimOp -public val SHIFT-LEFT-OP = new PrimOp -public val SHIFT-RIGHT-OP = new PrimOp -public val DYN-SHIFT-LEFT-OP = new PrimOp -public val DYN-SHIFT-RIGHT-OP = new PrimOp -public val NEG-OP = new PrimOp -public val CONVERT-OP = new PrimOp -public val NOT-OP = new PrimOp -public val AND-OP = new PrimOp -public val OR-OP = new PrimOp -public val XOR-OP = new PrimOp -public val AND-REDUCE-OP = new PrimOp -public val OR-REDUCE-OP = new PrimOp -public val XOR-REDUCE-OP = new PrimOp -public val CONCAT-OP = new PrimOp -public val BITS-SELECT-OP = new PrimOp -public val HEAD-OP = new PrimOp -public val TAIL-OP = new PrimOp - -public definterface Expression -public defmulti type (e:Expression) -> Type - -public defstruct Ref <: Expression : - name: Symbol - type: Type with: (as-method => true) -public defstruct SubField <: Expression : - exp: Expression - name: Symbol - type: Type with: (as-method => true) -public defstruct SubIndex <: Expression : - exp: Expression - value: Int - type: Type with: (as-method => true) -public defstruct SubAccess <: Expression : - exp: Expression - index: Expression - type: Type with: (as-method => true) -public defstruct Mux <: Expression : - cond: Expression - tval: Expression - fval: Expression - type: Type with: (as-method => true) -public defstruct ValidIf <: Expression : - cond: Expression - value: Expression - type: Type with: (as-method => true) -public defstruct UIntValue <: Expression : - value: BigInt - width: Width -public defstruct SIntValue <: Expression : - value: BigInt - width: Width -public defstruct DoPrim <: Expression : - op: PrimOp - args: List<Expression> - consts: List<Int> - type: Type with: (as-method => true) - -public definterface Stmt -public defmulti info (s:Stmt) -> FileInfo - -public defstruct DefWire <: Stmt : ;LOW - info: FileInfo with: (as-method => true) - name: Symbol - type: Type -public defstruct DefRegister <: Stmt : - info: FileInfo with: (as-method => true) - name: Symbol - type: Type - clock: Expression - reset: Expression - init: Expression -public defstruct DefInstance <: Stmt : ;LOW - info: FileInfo with: (as-method => true) - name: Symbol - module: Symbol -public defstruct DefMemory <: Stmt : ;LOW - info: FileInfo with: (as-method => true) - name: Symbol - data-type: Type - depth: Int - write-latency: Int - read-latency: Int - readers: List<Symbol> - writers: List<Symbol> - readwriters: List<Symbol> -public defstruct DefNode <: Stmt : ;LOW - info: FileInfo with: (as-method => true) - name: Symbol - value: Expression -public defstruct DefPoison <: Stmt : ;LOW - info: FileInfo with: (as-method => true) - name: Symbol - type: Type -public defstruct Conditionally <: Stmt : - info: FileInfo with: (as-method => true) - pred: Expression - conseq: Stmt - alt: Stmt -public defstruct Begin <: Stmt : ;LOW - body: List<Stmt> -public defstruct BulkConnect <: Stmt : - info: FileInfo with: (as-method => true) - loc: Expression - exp: Expression -public defstruct Connect <: Stmt : ;LOW - info: FileInfo with: (as-method => true) - loc: Expression - exp: Expression -public defstruct IsInvalid <: Stmt : ;LOW - info: FileInfo with: (as-method => true) - exp: Expression -public defstruct Stop <: Stmt : ;LOW - info: FileInfo with: (as-method => true) - ret: Int - clk: Expression - en: Expression -public defstruct Print <: Stmt : ;LOW - info: FileInfo with: (as-method => true) - string: String - args: List<Expression> - clk: Expression - en: Expression -public defstruct Empty <: Stmt ;LOW - - -public definterface Type -public defstruct UIntType <: Type : - width: Width -public defstruct SIntType <: Type : - width: Width -public defstruct BundleType <: Type : - fields: List<Field> -public defstruct VectorType <: Type : - type: Type - size: Int -public defstruct ClockType <: Type -public defstruct UnknownType <: Type - -public defstruct Field : - name: Symbol - flip: Flip - type: Type - -public defstruct Port : - info: FileInfo - name: Symbol - direction: Direction - type: Type - -public definterface Module -public defmulti name (m:Module) -> Symbol -public defmulti ports (m:Module) -> List<Port> -public defmulti info (m:Module) -> FileInfo - -public defstruct InModule <: Module : - info: FileInfo with: (as-method => true) - name: Symbol with: (as-method => true) - ports: List<Port> with: (as-method => true) - body: Stmt - -public defstruct ExModule <: Module : - info: FileInfo with: (as-method => true) - name: Symbol with: (as-method => true) - ports: List<Port> with: (as-method => true) - -public defstruct Circuit : - info: FileInfo - modules: List<Module> - main: Symbol |
