Skip to content
Snippets Groups Projects
  1. May 05, 2022
  2. Sep 04, 2019
  3. Aug 29, 2019
  4. Aug 18, 2017
    • erwan's avatar
      --gen-autotest: assertions were copied in the Lutin file without parenthesis · 39005635
      erwan authored
      I've done the same fix in LicDump actually to be sure (more parenthesis can't hurt).
      
      fix carligths.lus which was badly initialized
      39005635
    • erwan's avatar
      Do dep-loop checking before removing alias, otherwise some variables disappear ! · b13c9efb
      erwan authored
      And it is now done only by Lic2soc (L2lCheckLoops is not used anymore)
      
      Also, during this change, I was bitten again by the « "__" versus "::" in ident
      names » problem again.
      
      The core of this problem is due to the fact that I use LicDump both for
      (1) dealing with internal ident names
      (2) generating lustre files
      
      Because of (2), ident names may depend on the ec or the v4 option. hence, internal
      names were sometimes translated with "__" instead of "::".
      
      To (try to) fix that, I've added a boolean flag to all "to_string" functions that
      states whether the function is used for internal purposes, or for generating lustre
      files.
      
      It was quite a boring change, that triggered other problems, that I've fixed
      in this (too long) commit :
       - -esa should force -en, otherwise bad things happen (-esa is used for -ec anyway)
       - in -esa mode, #/nor inputs tuples of bool, not arrays
       - fix the list of predi op that returns a type different that its arg (SocPredef)
      b13c9efb
  5. Jul 05, 2017
    • erwan's avatar
      More work on the -eeb option. · 6f975e9b
      erwan authored
      It was generetaing wrong code in conjunction with -ec.
      
      In particular, it was generating n-any "and" instead of binary "and".
      
      Also, I needed (in L2LExpandEnum) to generated a Lic.ARRAY of const
      instead of a Lic.Array_const_eff so that LicDump properly generated
      ec code.
      6f975e9b
  6. Jul 04, 2017
    • erwan's avatar
      More work on the -eeb option. · a6fab49a
      erwan authored
      To do that, I have created a new dedicated module L2lExpandEnum, that
      actually also deals with -eei (which was probably wrong, even if I
      have not counter-exemple).
      
      Use 1-hot encoding instead of log-encoding
      
      I've fixed a bug in L2lExpandArrays that occurs on equation such as
        some_bool = (some_array1 = some_array2);
      
      Also, I've rewritten Lv6Compile for more readability
      
      Remove duplicated code when using SocMap.find and co
      a6fab49a
  7. Jun 21, 2017
  8. Jun 20, 2017
  9. Mar 09, 2017
  10. Jan 09, 2017
  11. Sep 20, 2016
    • Erwan Jahier's avatar
      -2cw7: generate C annotations (as comments) for Lesar/w7 · aa6d74b5
      Erwan Jahier authored
      so that w7/lesar can help otawa/ilp to prune path in the binary.
      
      nb : not working on the convertible example:
       - sometimes the module name still appear in the ident (enums)
       - clocks are not well supported by Lesar actually. More thinking is necessary.
      aa6d74b5
  12. Sep 13, 2016
  13. Sep 05, 2016
  14. Aug 30, 2016
  15. Aug 26, 2016
  16. May 31, 2016
  17. May 27, 2016
  18. Jul 10, 2015
  19. Jul 03, 2015
  20. Jul 01, 2015
  21. Jun 23, 2015
  22. Jun 22, 2015
  23. Jun 19, 2015
  24. Jun 17, 2015
  25. Jun 12, 2015
  26. Jun 11, 2015
  27. Mar 03, 2015
  28. Feb 27, 2015
  29. Jan 22, 2015
  30. Jan 21, 2015
    • Erwan Jahier's avatar
      Check node declaration wrt safety and memory. · b29c70ff
      Erwan Jahier authored
        More precisely, a node that has memory ougth to be declared using
        "node", and using "function" otherwise.
      
        Moreover, a node that performs side-effects (i.e., if it calls an
        extern node that performs side effects) ougth to be declared as
        "unsafe".
      
        Safe/unsafe mismatches raise an error.
      
        Memory mismatches raise an error in one way (a "function" that uses
        memory), and a warning in the other way (a "node" that uses no
        memory).
      
      Also fix some errors done when transmitting the unsafe flag (well, it's
      the first time I use it!).
      b29c70ff
  31. Jan 14, 2015
    • Erwan Jahier's avatar
      Fix a bug when using -esa -en -2c on programs with assert · 79e85ff2
      Erwan Jahier authored
      Report by willie (cf mail of 8/10/2014 to get the file)
      
      file:/tmp/modes3x2.lus
      
      lus2lic -esa -en -2c /tmp/modes3x2.lus -n modes3x2
      
      But it gives an error of:
      Error. in file "/mnt/A/wsept/modes3x2_pre_orig_lus2lic_en_esa/modes3x2.lus",
      line 74, col 8 to 8, token '#': only one operator per equation is allowed
      (v04_0, v04_1).
      
      Which is the line:
      assert #(on_off, toggle);
      
      -----------------------------------------------------------------
      
      Actually, refuse programs that uses "#" or "nor" run with -esa and
      -2c|-exec
      
      That means that willie program is now rejected.
      
      Nevertheless, that change migth fix some other programs (that uses
      arrays, and used with -esa and -exec or -2c).
      79e85ff2
  32. Sep 02, 2014
    • Erwan Jahier's avatar
      -ei (and thus -ec): Fix a bug when translating condact. · 5ee67626
      Erwan Jahier authored
      The translation was faithfull to the comment, but the comment was wrong :
      in order to translate a condact, we need clocks (when) !
      
      node condact_toto(i0:bool; i1:int; i2:int) returns (o0:int) = Lustre::condact<<toto, 0>>;
      
      is now translated into:
      
      condact_toto(i0:bool; i1:int; i2:int) returns (o0:int)
      let
        o0 = if i0 then current(toto(i1 when i0, i2 when i0) ) else (0 fby o0);
      tel
      5ee67626
  33. Aug 14, 2014
    • Erwan Jahier's avatar
      fd23885a
    • Erwan Jahier's avatar
      lic2soc: fix the translation of the current operator into SOC. · d3061085
      Erwan Jahier authored
      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.
      d3061085
  34. Jul 04, 2014
Loading