Closed xfzhou01 closed 1 year ago
Try RTL.ap_done
instead.
Try
RTL.ap_done
instead.
Thank you for your help, I changed the cond.json to
{
"instructions": [
{
"instruction" : "instr_0",
"ready signal" : "RTL.ap_done"
}
],
"global invariants": []
}
But in wrapper.v, it comes out that it only changes the name of signal from "ap_done" to "RTL.ap_done"
89,90c89,90
< assign __EDCOND__ = (`false|| (RTL.ap_done)) && __STARTED__ ;
< assign __IEND__ = (`false|| (RTL.ap_done)) && __STARTED__ && __RESETED__ && (~ __ENDED__) ;
---
> assign __EDCOND__ = (`false|| (ap_done)) && __STARTED__ ;
> assign __IEND__ = (`false|| (ap_done)) && __STARTED__ && __RESETED__ && (~ __ENDED__) ;
It seems that the Verilog parser didn't recognize the ap_done
signal in the Verilog.
I'm not sure whether you have anything like
"models": { "ILA": xxx , "VERILOG": "top" }
in varmap.json?
I guess this might interfere with the name resolution. It seems that you use top
as the instance name for Verilog? Meanwhile, the top module name is also top
? Please consider change the instance name to something different from the module name, then you can try instanceName.ap_done
in cond.json
If that does not work, there are other workarounds:
I thought JasperGold will accept 'top.ap_done', right?
If so, you can temporarily replace all occurances of ap_done
to top.ap_done
in wrapper.v
You can also try COSA backend, but enable the flag CosaGenJgTesterScript
in _vtg_config
, which will generate a jaspergold script and the wrapper.v
for COSA is also usable for JasperGold.
In the long run, please consider migrating to the new target generator in this branch https://github.com/zhanghongce/ILA-Tools/tree/refinement-upgrade
It seems that the Verilog parser didn't recognize the
ap_done
signal in the Verilog. I'm not sure whether you have anything like"models": { "ILA": xxx , "VERILOG": "top" }
in varmap.json?
I guess this might interfere with the name resolution. It seems that you use
top
as the instance name for Verilog? Meanwhile, the top module name is alsotop
? Please consider change the instance name to something different from the module name, then you can tryinstanceName.ap_done
in cond.jsonIf that does not work, there are other workarounds: I thought JasperGold will accept 'top.ap_done', right? If so, you can temporarily replace all occurances of
ap_done
totop.ap_done
in wrapper.vYou can also try COSA backend, but enable the flag
CosaGenJgTesterScript
in_vtg_config
, which will generate a jaspergold script and thewrapper.v
for COSA is also usable for JasperGold.In the long run, please consider migrating to the new target generator in this branch https://github.com/zhanghongce/ILA-Tools/tree/refinement-upgrade
Thank you so much for your help! My design is actually topped by module "top", after changing "ap_done" to "top.ap_done", the name changing happened and there will be no syntax error in JasperGold.
Describe the bug I tried to add ready signal in refinement relation file cond.json, some errors are encountered when I use JasperGold as backend.
ap_done is a ready signal output by the RTL design indicating that the execution of RTL design is finished.
However, in JasperGold, the error pop out
Looking into wrapper.v, I find that the ap_done signal, which is expected to be connect from output of RTL design to the signal which construct the safety property, is not connected.
To Reproduce Steps to reproduce the behavior:
Environment (please complete the following information):
Additional context In do.tcl, a "prove -all" can be added to automatically run the solver.