Commit Graph

2700 Commits

Author SHA1 Message Date
Jean-Paul Chaput c9bef61c3d Updated PDFs, October 01, 2021 (19:21). 2021-10-01 19:21:36 +02:00
Jean-Paul Chaput da84e5934a Updated PDFs, October 01, 2021 (19:19). 2021-10-01 19:19:23 +02:00
Jean-Paul Chaput 6c39d607d3 Updated PDFs, October 01, 2021 (19:17). 2021-10-01 19:17:52 +02:00
Jean-Paul Chaput f9d309a51e Updated PDFs, October 01, 2021 (19:14). 2021-10-01 19:14:41 +02:00
Jean-Paul Chaput fbc9551a3f Updated PDFs, October 01, 2021 (18:54). 2021-10-01 18:54:05 +02:00
Jean-Paul Chaput 0c0b426894 Follow up of PyModule_GetFilenameObject() modification. 2021-10-01 18:33:47 +02:00
Jean-Paul Chaput 7e9153f6f9 Update CMakeLists.txt to newer policies. 2021-10-01 18:31:53 +02:00
Jean-Paul Chaput e11bd98f52 Correct for various warnings appearing under gcc 8.3.0 (Debian 10).
Note: We don't suppress warnings due to unused variables or functions,
      as we may need them later or in debug mode...

* Change: In Hurricane::DBo::~DBo, add a noexcept(false) because
    constructed by default destructor of derived classes seems to
    loosen it. The right solution whould be to explicitely define
    all virtual destructors (too lazy for now).
* Change: In Viewer::Script, replace the deprecated
    PyModule_GetFilename() by PyModule_GetFilenameObject(), Unicode
    support again...
2021-10-01 16:12:28 +02:00
Jean-Paul Chaput c28fe3402b Take account of more Python site-packages.
* Change: In bootstrap/coriolisEnv.py, the script was looking to
    pythonX.Y (like "python2.7" or "python3.6") only. Now added
    "major" only directories like "python2" or "python3".
2021-10-01 00:30:10 +02:00
Jean-Paul Chaput a617cea0a5 Remove deprecated C++11 throw() specifications. 2021-10-01 00:26:58 +02:00
Jean-Paul Chaput 9852c76c2c Revert from std::regex to C POXIX regex.
* Bug: In Hurricane::Backtrace(), the std::regex supplied by gcc 4.8.5
    seems to be buggy. So, for now, to compile on my reference system,
    revert to C POSIX.
2021-09-30 20:06:48 +02:00
Jean-Paul Chaput 35c44f8b81 Typo in error message. 2021-09-30 20:00:24 +02:00
Jean-Paul Chaput 0d473e18c0 Fix crash in Anabatic::AntennaProtect.
* Bug: In Anabatic::AntennaProtect, if the diode cell exists *but* the
    maximum wire length for a diode is *not* defined (so zero) cancel
    the diode protection instead of making a divide by zero.
2021-09-30 19:59:28 +02:00
Jean-Paul Chaput 9c71ce8a03 Updated doc of the new Python/C++ template wrapper.
* Change: In Isobar3::PyWrapper, C++ exceptions where not catcheds,
    forgot to call exceptionWrapper().
* Change: In Isobar3, remove unused pyToC<>() flavor where T is a
    simple pointer and the argument is also a simple pointer, does
    not make sense.
2021-09-26 17:27:57 +02:00
Jean-Paul Chaput a53281cdb3 Updated PDFs, September 26, 2021 (17:17). 2021-09-26 17:17:03 +02:00
Jean-Paul Chaput ee06ba2932 Updated PDFs, September 26, 2021 (17:07). 2021-09-26 17:07:53 +02:00
Jean-Paul Chaput a7083f6063 Updated PDFs, September 26, 2021 (17:03). 2021-09-26 17:03:05 +02:00
Jean-Paul Chaput 43743940fa Updated PDFs, September 26, 2021 (16:55). 2021-09-26 16:55:18 +02:00
Jean-Paul Chaput 844db44ebf Rename pyTypePostModuleInit<> to pyTypePostInit<> (clearer). 2021-09-25 19:20:57 +02:00
Jean-Paul Chaput 16d1da053a Migration towards Python 3, stage 2: C++ template wrapper ready.
* New: In hurricane/configuration, the Python/C template wrapper has
    now all the needed features to mass-migrate Hurricane and the
    ToolEngines.
      The new Hurricane module is named Hurricane3 so it does not
    collides with the old one which is still used. Will do the
    same for all ToolEngines Python wrappers until migration is
    complete.
* New: In unittests/python/, create very basic unit tests for the
    Configuration & Hurricane new template wrapper.
    Note: It is almost impossible to use valgrind on them because
          it doesn't recognize correctly Python allocation mechanism.
	  To make it work, both valgrind & Python needs to be
	  recompiled with special options...
2021-09-25 17:03:14 +02:00
Jean-Paul Chaput 3bd0dbfd24 Forgot to encode bytes read from file into string. 2021-09-19 23:35:51 +02:00
Jean-Paul Chaput 02777e127e Migration towards Python3, first stage: still based on C-Macros.
* New: Python/C++ API level:
  * Write a new C++/template wrapper to get rid of boost::python
  * The int & long Python type are now merged. So a C/C++ level,
    it became "PyLong_X" (remove "PyInt_X") and at Python code
    level, it became "int" (remove "long").
* Change: VLSISAPD finally defunct.
  * Configuration is now integrated as a Hurricane component,
    makes use of the new C++/template wrapper.
  * vlsisapd is now defunct. Keep it in the source for now as
    some remaining non essential code may have to be ported in
    the future.
* Note: Python code (copy of the migration howto):
  * New print function syntax print().
  * Changed "dict.has_key(k)" for "k" in dict.
  * Changed "except Exception, e" for "except Exception as e".
  * The division "/" is now the floating point division, even if
    both operand are integers. So 3/2 now gives 1.5 and no longer 1.
    The integer division is now "//" : 1 = 3//2. So have to carefully
    review the code to update. Most of the time we want to use "//".
    We must never change to float for long that, in fact, represents
    DbU (exposed as Python int type).
  * execfile() must be replaced by exec(open("file").read()).
  * iter().__next__() becomes iter(x).__next__().
  * __getslice__() has been removed, integrated to __getitem__().
  * The formating used for str(type(o)) has changed, so In Stratus,
    have to update them ("<class 'MyClass'>" instead of "MyClass").
  * the "types" module no longer supply values for default types
    like str (types.StringType) or list (types.StringType).
    Must use "isinstance()" where they were occuring.
  * Remove the 'L' to indicate "long integer" (like "12L"), now
    all Python integer are long.
* Change in bootstrap:
  * Ported Coriolis builder (ccb) to Python3.
  * Ported Coriolis socInstaller.py to Python3.
  * Note: In PyQt4+Python3, QVariant no longer exists. Use None or
    directly convert using the python syntax: bool(x), int(x), ...
    By default, it is a string (str).
* Note: PyQt4 bindings & Python3 under SL7.
  * In order to compile user's must upgrade to my own rebuild of
    PyQt 4 & 5 bindings 4.19.21-1.el7.soc.
* Bug: In cumulus/plugins.block.htree.HTree.splitNet(), set the root
    buffer of the H-Tree to the original signal (mainly: top clock).
      Strangely, it was only done when working in full chip mode.
2021-09-19 19:41:24 +02:00
Las Safin fca22782a0
Remove unneeded input 2021-09-16 20:10:05 +00:00
Las Safin 8c21c6a35b
libresoc: Use recon experiment instead 2021-09-06 20:57:27 +00:00
Las Safin c3d10b21aa
Use older version of yosys for Libre-SoC 2021-09-05 18:48:19 +00:00
Las Safin 41274d6ab5
Make Libre-SoC almost work 2021-09-05 17:47:17 +00:00
Las Safin 4f6f668b74
Try to get libresoc working 2021-09-05 16:06:44 +00:00
Las Safin 6ae448ee39
LibreSoC experiment work 2021-09-05 14:49:09 +00:00
Las Safin 8e8844588c
Fix unittests 2021-09-05 14:22:18 +00:00
Las Safin c7bf1a75d2
Fix comment 2021-09-05 14:17:19 +00:00
Las Safin 0e8367d63c
Add nix/libresoc-experiments9.nix 2021-09-05 14:16:11 +00:00
Las Safin b1570850bd
Make unittests a check 2021-09-05 14:03:28 +00:00
Las Safin 7a3f337935
Make alliance-check-toolkit a check 2021-09-05 13:57:31 +00:00
Las Safin d5f3c6c3d0
Add comment about CORIOLIS_TOP 2021-09-05 12:20:50 +00:00
Las Safin 33a847c117
Make all checks work 2021-09-03 15:17:56 +00:00
Las Safin 7f805cb48f
Run all tests (some fail) 2021-09-03 14:00:08 +00:00
Las Safin df7d4667a9
Don't try to catch import error in cgt 2021-09-03 13:54:37 +00:00
Las Safin c62f95af7c
Get adder/cmos test working! 2021-09-03 13:49:43 +00:00
Las Safin e354b3ac4b
Fix stratus1 2021-09-03 13:48:01 +00:00
Las Safin c6624909de
Keep backward compatibility for cumulus users 2021-09-03 13:46:33 +00:00
Las Safin fd55e99a7c
fix karakaze 2021-09-03 13:33:48 +00:00
Las Safin 1fddafc814
Add combined 2021-09-03 13:31:29 +00:00
Las Safin 84640f3bc1
Some checks pass! 2021-09-03 13:10:08 +00:00
Las Safin a3a738c0ff
Fix cumulus 2021-09-03 12:50:39 +00:00
Las Safin 658db5ab58
Get further in alliance tests 2021-09-03 12:29:44 +00:00
Las Safin 5c7b2fdc28
Fix devShell 2021-09-03 10:12:38 +00:00
Las Safin 4f266c04eb
Get alliance check toolkit to fail 2021-09-02 22:39:29 +00:00
Las Safin 78db672549
Use Nixpkgs with Alliance 2021-09-02 22:00:29 +00:00
Las Safin 979f97df2f
Include yosys 2021-09-02 09:54:51 +00:00
Las Safin d28ec8b7c4
Add initial code for running alliance checks 2021-09-01 22:30:59 +00:00