diff options
| author | azidar | 2016-01-27 15:22:12 -0800 |
|---|---|---|
| committer | azidar | 2016-01-28 09:25:05 -0800 |
| commit | b6a370dbfbbc12d0674899aa075d613ec522c44b (patch) | |
| tree | d415696bce7ddeaeef14f599296766100e9c3cd4 /src | |
| parent | d6468e562b184c38ce67530c513ee9c4af93ae9c (diff) | |
Use IsInvalid instead of Poisons in chirrtl -> firrtl transform
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/stanza/chirrtl.stanza | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/main/stanza/chirrtl.stanza b/src/main/stanza/chirrtl.stanza index 9b3b90ab..9fc471fa 100644 --- a/src/main/stanza/chirrtl.stanza +++ b/src/main/stanza/chirrtl.stanza @@ -272,15 +272,15 @@ defn remove-chirrtl (c:Circuit) : (s:CDefMemory) : mport-types[name(s)] = type(s) val stmts = Vector<Stmt>() - val naddr = firrtl-gensym(`GEN,sh) + ;val naddr = firrtl-gensym(`GEN,sh) val taddr = UIntType(IntWidth(max(1,ceil-log2(size(s))))) - add(stmts,DefPoison(info(s),naddr,taddr)) - val ndata = firrtl-gensym(`GEN,sh) + ;add(stmts,DefPoison(info(s),naddr,taddr)) + ;val ndata = firrtl-gensym(`GEN,sh) val tdata = type(s) - add(stmts,DefPoison(info(s),ndata,tdata)) + ;add(stmts,DefPoison(info(s),ndata,tdata)) defn set-poison (vec:List<MPort>,addr:Symbol) -> False : for r in vec do : - add(stmts,Connect(info(s),SubField(SubField(Ref(name(s),ut),name(r),ut),addr,taddr),Ref(naddr,taddr))) + add(stmts,IsInvalid(info(s),SubField(SubField(Ref(name(s),ut),name(r),ut),addr,taddr))) add(stmts,Connect(info(s),SubField(SubField(Ref(name(s),ut),name(r),ut),`clk,taddr),clk(r))) defn set-enable (vec:List<MPort>,en:Symbol) -> False: for r in vec do : @@ -291,7 +291,7 @@ defn remove-chirrtl (c:Circuit) : defn set-write (vec:List<MPort>,data:Symbol,mask:Symbol) -> False : 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))) + add(stmts,IsInvalid(info(s),SubField(SubField(Ref(name(s),ut),name(r),ut),data,tdata))) for x in create-exps(SubField(SubField(Ref(name(s),ut),name(r),ut),mask,tmask)) do : add(stmts,Connect(info(s),x,zero)) |
