Skip to content
Snippets Groups Projects
  1. Jul 26, 2022
  2. Jul 22, 2022
  3. Jul 21, 2022
  4. Jul 20, 2022
    • DSPOM's avatar
      feat(osdi): properly implement analysis · 8032727f
      DSPOM authored
      Previously analysis always returned true because the appropriate
      information was not available with OSDI.
      With the latest additions to the interface the ANALYSIS_<..> flags are
      set by the simulator to communicate the return value of this function.
      This commit implements analysis so that is returns true for the analysis
      modes listed in the language standard when the appropriate flags are
      set.
      8032727f
    • DSPOM's avatar
      chore(osdi): release version 0.1.2 · 3f8e8c55
      DSPOM authored
      3f8e8c55
  5. Jul 19, 2022
  6. Jul 11, 2022
  7. Jul 05, 2022
  8. Jul 01, 2022
    • DSPOM's avatar
      feat: implement type checking $limit · c4bf53b9
      DSPOM authored
      Previously using $limit would cause a panic during type check.
      Now OpenVAF tests that $limit is used correctly.
      This is only possible because it assumes that built-in function only have
      real arguments.
      
      For now $limit(x,..) is lower the same as x in hir_lower.
      However, all type checking logic is implemented so the foundations
      to fully support $limit in OSDI are now available.
      c4bf53b9
    • DSPOM's avatar
      perf: Use chainrule to generate more efficent derivatives · 68a71714
      DSPOM authored
      A common pattern in compact models is that equations are formulated in
      terms of some variables that then depend on multiple biases (unkowns).
      Handwritten models often perform better than Verilog-A compiled models
      because humans recognize this pattern and only derivative by the
      intermediate variable and then apply the chainrule to get all required
      derivatives.
      
      This commit implements an SSA graph based algorithm that finds subgraphs
      of the SSA where such an optimization can be applied. Finding a perfect
      solution is probably an NP-Hard problem. Instead a conservative
      heuristic is used.
      
      The reults are very promising. All tested models show instructions
      counts decrease of at least 22%. Most models even show an increase above
      30%. In some extreme cases like BSIMSOI, the instruction count is even
      reduced by 60%.
      
      These instruction reductions are often clustered and therefore decrease
      register/cache pressure. Furthermore, these decreases also often happen in
      "hot" parts of the model. So overall significant performance increases
      are achieved. This change is a big step towards closing the gap between
      handwritten C code and Verilog-A compiled models.
      68a71714
  9. Jun 27, 2022
  10. Jun 26, 2022
  11. Jun 24, 2022
  12. Jun 23, 2022
  13. Jun 22, 2022
    • DSPOM's avatar
      fix: remove infinite loop during gvn pass · de1ad55a
      DSPOM authored
      de1ad55a
    • DSPOM's avatar
      refactor: decide if ddt unkown is required based upon mir analysis · 689d7b56
      DSPOM authored
      Previously OpenVAF decided whether a separate unknown is required for a
      call to ddt during hir lowering. To that end OpenVAF tracked
      whether values are op dependent during HIt lowering.
      This algorithm didn't work well, because some values are
      still sentinel values that are only replaced by their true value later.
      
      This commit removes most of that logic. Now all ddt calls generate an
      implicit unkown. That unkown is then removed during residual generation
      if that is possible. During residual construction, the MIR is fully
      constructed and which values are operating point dependent is also known
      (determined by an robust analysis).
      
      In practice that means that OpenVAF will no longer emit unneeded implicit
      unknowns for ddt in some edge cases.
      689d7b56
    • DSPOM's avatar
      chore: switch to handwritten changelog · 9274e924
      DSPOM authored
      9274e924
  14. Jun 21, 2022
Loading