aboutsummaryrefslogtreecommitdiff
path: root/src/main/stanza/chirrtl.stanza
diff options
context:
space:
mode:
authorazidar2016-01-23 16:11:40 -0800
committerazidar2016-01-23 16:11:40 -0800
commit4426f118831a95869adf5e55bbff99c1951ac0ed (patch)
tree365a4c6fa8b7174ca60d97a15a6bc6d92248c2a1 /src/main/stanza/chirrtl.stanza
parentbc8a54c292f5e9d8a61571cbc814950ef2927842 (diff)
Fixed bug where the write mask wasn't being generated correctly
Diffstat (limited to 'src/main/stanza/chirrtl.stanza')
-rw-r--r--src/main/stanza/chirrtl.stanza9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/main/stanza/chirrtl.stanza b/src/main/stanza/chirrtl.stanza
index ed4b2550..4854a61d 100644
--- a/src/main/stanza/chirrtl.stanza
+++ b/src/main/stanza/chirrtl.stanza
@@ -265,7 +265,7 @@ defn remove-chirrtl (c:Circuit) :
for r in vec do :
add(stmts,Connect(info(s),SubField(SubField(Ref(name(s),ut),name(r),ut),en,taddr),zero))
defn set-write (vec:List<MPort>,data:Symbol,mask:Symbol) -> False :
- val tmask = type(create-mask(`blah,type(s)))
+ val tmask = create-mask(type(s))
for r in vec do :
add(stmts,Connect(info(s),SubField(SubField(Ref(name(s),ut),name(r),ut),data,tdata),Ref(ndata,tdata)))
for x in create-exps(SubField(SubField(Ref(name(s),ut),name(r),ut),mask,tmask)) do :
@@ -338,8 +338,11 @@ defn remove-chirrtl (c:Circuit) :
(e:Ref) :
if key?(repl,name(e)) :
val vt = repl[name(e)]
- val f = create-mask(`blah,mport-types[name(e)])
- SubField(exp(vt),mask(vt),type(f))
+ println(exp(vt))
+ println(type(exp(vt)))
+ val t = create-mask(type(e))
+ println(t)
+ SubField(exp(vt),mask(vt),t)
else : e
(e) : e
match(s) :