Skip to content
Snippets Groups Projects
  1. Mar 21, 2022
  2. Aug 29, 2019
  3. May 22, 2019
  4. Mar 23, 2018
  5. Sep 12, 2017
  6. Sep 08, 2017
  7. Aug 18, 2017
    • 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
  8. Jul 10, 2017
  9. 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
  10. Jun 21, 2017
  11. Apr 24, 2017
  12. Feb 20, 2017
  13. Jan 10, 2017
  14. Nov 30, 2016
  15. Oct 25, 2016
  16. Feb 03, 2016
  17. Feb 02, 2016
  18. Jan 14, 2016
  19. Jul 10, 2015
    • Erwan Jahier's avatar
      Fix the bug detected in the previous commit where type instance were not... · b76489ad
      Erwan Jahier authored
      Fix the bug detected in the previous commit where type instance were not propagated in package obtained from a model instance.
      b76489ad
    • Erwan Jahier's avatar
      The nonreg test process was missing some failures. · ccdf2a78
      Erwan Jahier authored
      More precisely, issuing an "exit 2" is not enough for the
      should_work proc in test/site.exp to state that the test fails.
      
      That fix revealed a certain number of bad programs.
      Some were not really wrong ; there were just not respecting the
      naming convention used to automated the test (i.e., main node name =
      file name).
      
      It also releaved a real bug due to the fact that type
      instanciatiation is not propagated during model instanciatiation,
      where creates a loop between (Lic2soc.process_node and
      Lic2soc.soc_of_node). Indeed it searches in the soc the table for an
      abstract profile.
      ccdf2a78
  20. Apr 08, 2015
  21. Feb 27, 2015
  22. Feb 24, 2015
  23. Feb 09, 2015
  24. Jan 19, 2015
    • Erwan Jahier's avatar
      Add a --optimize-ite/-oite option that transforms if/then/else into merge when possible. · d783b03e
      Erwan Jahier authored
      Indeed it is possible when each branch of the ite updates no memory.
      This is done in the new L2lOptimIte module.
      
      For the time being, it does detect when the node has no memory. It
      only looks at the declaration: nodes have memory, and not functions.
      
      I should infer that information and raise warnings or errors if what
      I infer is not compatible with waht is declared (will come later).
      
      Also split ActionsDep into ActionsDep and Action.
      
      Also fix a bug in L2lsplit where deeply nested (>2) merge were not
      splitted.
      d783b03e
  25. 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
  26. Jan 07, 2015
    • Erwan Jahier's avatar
      Merge does not generate soc anymore ! · fcf73b92
      Erwan Jahier authored
      Also fix a bug in Lic2soc.make_e2a_elt where some deps and some
      actions were lost. Actually, this bug ought to be triggered only with
      nested calls. So this affects only programs executed via the
      -knc/-keep-nested-calls option. and -2c is not supposed to work in
      conjunction with -knc ! Hence this fix does not fix anything. But
      still it fixes potentially future code if I (or someone else) decide
      to handle nested calls in the lic one day.
      fcf73b92
  27. Nov 17, 2014
  28. Oct 06, 2014
  29. Oct 02, 2014
  30. Sep 01, 2014
  31. 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
  32. Jul 10, 2014
  33. Jul 04, 2014
  34. Jun 26, 2014
  35. Jun 23, 2014
Loading