diff options
| author | azidar | 2015-12-12 14:37:41 -0800 |
|---|---|---|
| committer | azidar | 2016-01-16 14:28:17 -0800 |
| commit | 28e4c6a09011cafdd1e3533118f7c3499e0d3dc6 (patch) | |
| tree | 42e8e2ed50a254f7fea61bc0a56d963258463bb5 /src/main/stanza/ir-utils.stanza | |
| parent | d9f33f58c94382dfbd22e87e2f85600b9807328f (diff) | |
WIP. Fixed a bunch of tests. Starting on implementing chirrtl, but hit roadblock in assigning clocked ports
Diffstat (limited to 'src/main/stanza/ir-utils.stanza')
| -rw-r--r-- | src/main/stanza/ir-utils.stanza | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/stanza/ir-utils.stanza b/src/main/stanza/ir-utils.stanza index 9c997f39..0ff2669d 100644 --- a/src/main/stanza/ir-utils.stanza +++ b/src/main/stanza/ir-utils.stanza @@ -328,9 +328,22 @@ defmethod print (o:OutputStream, c:Stmt) : print-all(o, ["printf(" clk(c) ", " en(c) ", "]) ;" print-all(o, join(List(escape(string(c)),args(c)), ", ")) print(o, ")") + (c:CDefMemory) : + if seq?(c) : + print-all(o, ["smem " name(c) " : " type(c)]) + else : + print-all(o, ["cmem " name(c) " : " type(c)]) + (c:CDefMPort) : + print-all(o, [direction(c) " mport " name(c) " = " mem(c) "[" index(c) "], " clk(c)]) if not c typeof Conditionally|Begin|Empty: print-debug(o,c) +defmethod print (o:OutputStream, m:MPortDir) : + switch { m == _ } : + MRead : print(o,"read") + MWrite : print(o,"write") + MReadWrite : print(o,"rdwr") + defmethod print (o:OutputStream, t:Type) : match(t) : (t:UnknownType) : |
