lic2soc: fix the translation of the current operator into SOC.
nb : the -exec mode was working because I did not use the generated soc, which was completely wrong. Note that to do that, I have modified the CURRENT variant of Lic.val_exp, to attach it the clock the current holds on. Indeed, the clock is mandatory to generated correct code... In an ideal world, this clock information may have explicitely been set by the user ("current(clk_of_X,X)" instead of "current(X)"), but for historical reason, it is not the case. Hence, this information is added as soon as it is available, namely, during clock checking.
Showing
- _oasis 7 additions, 0 deletions_oasis
- src/actionsDeps.ml 2 additions, 1 deletionsrc/actionsDeps.ml
- src/ast2lic.ml 9 additions, 6 deletionssrc/ast2lic.ml
- src/evalClock.ml 35 additions, 9 deletionssrc/evalClock.ml
- src/evalClock.mli 4 additions, 3 deletionssrc/evalClock.mli
- src/evalType.ml 8 additions, 2 deletionssrc/evalType.ml
- src/l2lCheckLoops.ml 2 additions, 2 deletionssrc/l2lCheckLoops.ml
- src/l2lExpandArrays.ml 28 additions, 18 deletionssrc/l2lExpandArrays.ml
- src/l2lExpandNodes.ml 2 additions, 2 deletionssrc/l2lExpandNodes.ml
- src/l2lSplit.ml 6 additions, 1 deletionsrc/l2lSplit.ml
- src/lic.ml 7 additions, 2 deletionssrc/lic.ml
- src/lic2soc.ml 87 additions, 17 deletionssrc/lic2soc.ml
- src/licDump.ml 2 additions, 2 deletionssrc/licDump.ml
- src/licEvalClock.ml 2 additions, 1 deletionsrc/licEvalClock.ml
- src/soc.ml 3 additions, 4 deletionssrc/soc.ml
- src/soc2cIdent.ml 2 additions, 1 deletionsrc/soc2cIdent.ml
- src/socExec.ml 5 additions, 4 deletionssrc/socExec.ml
- src/socExecEvalPredef.ml 2 additions, 10 deletionssrc/socExecEvalPredef.ml
- src/socExecValue.ml 7 additions, 3 deletionssrc/socExecValue.ml
- src/socPredef.ml 41 additions, 39 deletionssrc/socPredef.ml
Loading
Please register or sign in to comment