Commit Graph

7 Commits

Author SHA1 Message Date
Jean-Paul Chaput e2db4908a9 Better interface for x2y to YoSys (courtesy of N. Shimizu)
* New: In x2y.c, added ability to extract specifically one figure.
    Add vdd/vss terminals for compliance with Alliance.
2016-07-19 17:27:28 +02:00
Jean-Paul Chaput d1c952b7f1 Do not create "small" BIGVIA (less than two holes).
* Bug: In <rds>, in rfmaccess.c viambkrds(), the holes of the BIGVIAs
    are aligned on a design-wide matrix to allow two overlapping BIGVIAs
    to have their holes exactly at the same places (one consequence is
    that the holes of a BIGVIA may be off-center).
      But, if the BIGVIA is "too small", that is, it's area cannot
    accomodate at least one "on grid" hole, it silently replaced by a
    default (i.e. minimal size VIA). In that case you may endup with
    a mixture of BIGVIA (when the hole is aligned) and default VIA,
    when it is not... The fun part, is that it is DRC correct, but
    looks messy.
      To avoid this, we systematically use the default VIA when the
    side of the BIGVIA is less than two holes wide (in either direction).
2014-08-02 11:53:19 +02:00
Jean-Paul Chaput 0182089511 Merge branch 'devel'
Conflicts:
	alliance/src/ocp/src/common/Makefile.am
	alliance/src/ocp/src/placer/Makefile.am
	alliance/src/ppt/src/Makefile.am

Devel was not started from the last master commit, have to
push back the changes again...
2014-04-22 12:47:31 +02:00
Jean-Paul Chaput 557c836400 Suppress link dependency loop in libraries.
* Change: There was depency loop in Alliance libraries, mainly between
    the database <mbk> and it's parsers/drivers (<mbkap>, <mbkvti>, ...).
    This was not causing problems on systems that allows symbols to be
    undefined when the library is built, but on others it prevents to
    build at least dynamic libraries, for example under Cygwin.
      Note: to reproduce this behavior under linux pass '-Wl,-z,-defs'
    in the CFLAGS/CXXFLAGS.
      Another side effect was to prevent parallel building (-jX).
* Change: <mbkvhdl> is redundant with <mbkvhdlg> which is newer, so
    this library is suppressed.
* Change: mbk merged libraries, <mbkap>, <mbkvti> goest into Mpu.
    <mbkedif>, <mbkal>, <mbkhilo>, <mbkmg>, <mbkspice>, <mbkmg>,
    <mbkvhdlg> and <mbkvrlog> goes into Mlu.
* Change: rds merged libraries, <rdscif> and <rdsgds> goes into Rds.
    All Rds sub-libraries are also mergeds into Rds.
* Change: vbh merged libraries, <vbl>, <vvh>, <vtl> & <vpd> goes into
    Vbh.
* Change: pat merged libraries, <ppt> & <phl> goes into Pat.
* Change: in <asimut>, the Cst libraries is transferred into <beh> to
    be merged with Beh.
2014-04-22 12:30:26 +02:00
Jean-Paul Chaput 0f2a3365ec Bug in Boog/mbkvhdlg. Compilation issues in ocp & ppt.
* Bug: In <mbkvhdlg>, cast the hash table index entries from pointer
    to unsigned long instead of long to avoid negative numbers when
    computing the modulo (shows on Cygwin). This was causing <boog>
    to crash.
* Bug: In <ppt>, with bison 2.7, yylval must not be re-declared extern
    (didn't show on earlier versions).
* Change: In <ocp>, uses "-std=gnu++0x" instead of "-std=c++0x" to
    have both C++11 features *and* POSIX features (namely: strdup).
    The problem is that strdup is *not* ANSI, but only POSIX and as
    such, not defined when c++0x is active. Will have to change
    again in the future as gnu++0x is on the way of deprecation...
2014-04-07 13:50:48 +02:00
Jean-Paul Chaput 97aee2580b Code cleanup with cppcheck & gcc 4.4.6 (RHEL6).
This commit is way too big. Next time split it tool by tool.

All tool sources have been checked with cppcheck & gcc. All correctables
errors/warning have been removed:
* Now uses correct conversion specifiers in printf(), mostly 'u' instead
  of 'd' for unsigneds.
* In scanf(), uses systematically a maximum field width, 11 for int,
  22 for long int and the appropriate length for char*.
* In strcpy(), no longer uses same array for source & dest, but uses
  an intermediate array.
* Remove (or comment) unused variables.
* In C++ files, correct constructors attribute initialisation and
  disable copy constructors.
* When possible, correct memory leaks. Some corrections would need a
  more intimate knowledge of the source than I do.
* Removed some "gets()" calls.
* In parsers, undeclare yyunput & yyinput when necessary.
* NOT correct variable scope as it may clutter the code (my opinion).

Specific tools remark:
* In <asimut>, comment beginning with "FRAGILE" signals a very ugly
  trick: structs passed as losig_list but with only the two first
  fields identical.
* In <graal> & <dreal> for char used as table index, uses a cast toward
  int, but in <xfsm>, <xgra>, <xsch> & <xvpn> simply declares the
  variables int.
* In <cells>, dp_nmux_x1.ap, shrink the ALU2 part of the ALU3 terminals
  so they do not collide with neighboring track. Has do to it manually
  as Graal refuse to shrink them. The same correction must be done on
  other cells for nero/kite dual compliance.
2014-02-18 14:53:05 +01:00
Jean-Paul Chaput 43da04a7e4 First cleanup after importation from CVS and misc setup.
* Cleanup: Remove long time unused tools <pcbs>, <grog>, <gcp>, <genview>,
    <growstk>, <ocr> and <vst2xnf>. They may still be recovered by
    reverting to the original 'v5.1' tag.
* Change: In <attila>, remove the CVS checkout part and adapt to the
    slightly different source tree organisation (alliance/alliance/src).
* Setup: Added .gitignore to exclude the files generated "in source" by
    automake (when tools are built).
* New: Small script to perform a complete cppcheck on the whole source
    tree.
2014-02-07 14:08:53 +01:00