Closed leonardt closed 6 years ago
Here is the output of the printer pass
{"top":"global.top",
"namespaces":{
"global":{
"modules":{
"Op":{
"type":["Record",[
["I0","BitIn"],
["I1","BitIn"],
["I2","BitIn"],
["O","Bit"]
]],
"instances":{
"inst0":{
"modref":"global.and_wrapped"
},
"inst1":{
"modref":"global.and_wrapped"
},
"inst2":{
"modref":"global.and_wrapped"
},
"inst3":{
"modref":"global.Or3xNone"
}
},
"connections":[
["self.I0","inst0.I0"],
["self.I1","inst0.I1"],
["inst3.I0","inst0.O"],
["self.I1","inst1.I0"],
["self.I2","inst1.I1"],
["inst3.I1","inst1.O"],
["self.I2","inst2.I0"],
["self.I0","inst2.I1"],
["inst3.I2","inst2.O"],
["self.O","inst3.O"]
]
},
"Or3xNone":{
"type":["Record",[
["I0","BitIn"],
["I1","BitIn"],
["I2","BitIn"],
["O","Bit"]
]],
"instances":{
"inst0":{
"genref":"coreir.orr",
"genargs":{"width":["Int",3]}
}
},
"connections":[
["self.I0","inst0.in.0"],
["self.I1","inst0.in.1"],
["self.I2","inst0.in.2"],
["self.O","inst0.out"]
]
},
"and_wrapped":{
"type":["Record",[
["I0","BitIn"],
["I1","BitIn"],
["O","Bit"]
]],
"instances":{
"inst0":{
"modref":"corebit.and"
}
},
"connections":[
["self.I0","inst0.in0"],
["self.I1","inst0.in1"],
["self.O","inst0.out"]
]
},
"fold_xor3None":{
"type":["Record",[
["I0","BitIn"],
["I1","BitIn"],
["I2","BitIn"],
["O","Bit"]
]],
"instances":{
"inst0":{
"modref":"global.xor_wrapped"
},
"inst1":{
"modref":"global.xor_wrapped"
}
},
"connections":[
["self.I0","inst0.I0"],
["self.I1","inst0.I1"],
["inst1.I0","inst0.O"],
["self.I2","inst1.I1"],
["self.O","inst1.O"]
]
},
"top":{
"type":["Record",[
["I",["Array",16,"BitIn"]],
["O",["Array",5,"Bit"]]
]],
"instances":{
"popcount16":{
"genref":"rosslib.PopCount",
"genargs":{"width":["Int",16]}
}
},
"connections":[
["self.I","popcount16.I"],
["self.O","popcount16.O"]
]
},
"xor_wrapped":{
"type":["Record",[
["I0","BitIn"],
["I1","BitIn"],
["O","Bit"]
]],
"instances":{
"inst0":{
"modref":"corebit.xor"
}
},
"connections":[
["self.I0","inst0.in0"],
["self.I1","inst0.in1"],
["self.O","inst0.out"]
]
}
}
}
}
}
Fixed by removing cullgraph
If I take out the printer pass:
I'll get an occasional segfault:
If I run it in lldb, i get the following output