aboutsummaryrefslogtreecommitdiff
path: root/src/main/stanza/firrtl-ir.stanza
diff options
context:
space:
mode:
authorAdam Izraelevitz2016-08-15 10:32:41 -0700
committerGitHub2016-08-15 10:32:41 -0700
commitbebd04c4c68c320b2b72325e348c726dc33beae6 (patch)
tree69f6d4da577977cc7ff428b0545bb4735507aad0 /src/main/stanza/firrtl-ir.stanza
parentcca37c46fc0848f5dbf5f95ba60755ed6d60712b (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.stanza238
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