diff options
| author | azidar | 2016-01-23 16:11:40 -0800 |
|---|---|---|
| committer | azidar | 2016-01-23 16:11:40 -0800 |
| commit | 4426f118831a95869adf5e55bbff99c1951ac0ed (patch) | |
| tree | 365a4c6fa8b7174ca60d97a15a6bc6d92248c2a1 /src/main/stanza/chirrtl.stanza | |
| parent | bc8a54c292f5e9d8a61571cbc814950ef2927842 (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.stanza | 9 |
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) : |
