Menu

I look forward for problems, questions , reviews, comments

stefan
2016-12-11
2017-04-12
  • stefan

    stefan - 2016-12-11

    While XSCHEM is pretty stable, the documentation is evolving. I am adding more and more information on the XSCHEM web site. Copy of the documentation is included in the release and in the SVN repository. I appreciate your comments. I know the documentation is largely insufficient, but i am working on it. So expect improvements :-)
    Stefan

     

    Last edit: stefan 2016-12-11
  • TRAyres

    TRAyres - 2017-04-10

    I'm on Centos 7x64, and Tcl ver is 8.5 (Makefile assumes 8.6)

    I get this error on "make" within the src directory:
    gcc -Wall -g -I/usr/include/tcl8.6 -c -o parselabel.o parselabel.c
    parselabel.l:43:12: error: conflicting types for ‘yyparse’
    extern int yyparse(void) ;
    ^
    In file included from parselabel.l:38:0:
    expandlabel.h:82:5: note: previous declaration of ‘yyparse’ was here
    int yyparse (void *YYPARSE_PARAM);
    ^
    parselabel.c:1315:17: warning: ‘yyunput’ defined but not used [-Wunused-function]
    static void yyunput (int c, register char * yy_bp )
    ^
    parselabel.c:1356:16: warning: ‘input’ defined but not used [-Wunused-function]
    static int input (void)
    ^
    make: *** [parselabel.o] Error 1

     
    • stefan

      stefan - 2017-04-12

      Hi,
      First edit the Makefile and set TCLVER=8.5, this will fix TCL-TK.
      For the yyparse problem i guess you have a different (older) version of flex and bison,
      Looking back in my svn logs and i see that i had to make a change for yyparse:

      expandlabel.y, parselabel.l: changed according to flex changes yyparse() does no more have a string param, used a global string

      I don't have these old versions to test, can you do a test for me?
      go in the parselabel.l source file and comment or delete this line:

      #define YYPARSE_PARAM
      

      try to do a:

      make clean && make
      

      and let me know if it compiles without errors
      Thank you!
      Stefan

       
  • TRAyres

    TRAyres - 2017-04-20

    I think there's a pop-up menu I'm missing.

    I moved over to Cygwin 64-bit on Windows 10 - I do see xschem start up though, so success on that front!

    % SetupSysMenu: GetSystemMenu() failed for HWND 0x10064c
    SetupSysMenu: GetSystemMenu() failed for HWND 0x1a03e6
    SetupSysMenu: GetSystemMenu() failed for HWND 0x1c03e6
    SetupSysMenu: GetSystemMenu() failed for HWND 0x1903ae
    SetupSysMenu: GetSystemMenu() failed for HWND 0x1a03ae
    SetupSysMenu: GetSystemMenu() failed for HWND 0x1b03ae
    SetupSysMenu: GetSystemMenu() failed for HWND 0x1c03ae

     
    • stefan

      stefan - 2017-04-20

      Hello! nice to know something is going right.
      I used xschem many years ago on windows + cygwin
      i remember that i needed the tcl-tk built to use the Xorg XLIB, i mean i needed cygwin + Xorg server + tcl-tk compiled for Xorg (not for windows GDI).
      At the time i had to download the TCL-Tk source tarballs, compile them on cygwin specifying to use Xorg (not the windows graphic system). Compiling Xschem with this custom tcl-tk install was successful. The bottom line is that xschem is a unix-xlib application, so the easy way to have it running on windows is to use the cygwin POSIX layer, the cygwin xorg server and the tcl-tk compiled itself also for cygwin+xlib.

       
  • stefan

    stefan - 2017-04-22

    Good news!
    XSCHEM runs perfectly fine on windows with the cygwin layer installed (cygwin, xorg, gcc, gawk, bison, flex and the tcl/tcl-devel, tck-tk/tcl-tk-devel packages installed)

    I did this many years ago and at the time the tcl packages needed to be compiled and linked against the xorg/xlib libraries instead of the windows GDI libraries. This was a painful task. Now this is no more necessary. Cygwin packages now are by default built for Xorg.

     

    Last edit: stefan 2017-04-22
  • Saul Rodriguez

    Saul Rodriguez - 2017-05-10

    Hi Stefan,

    Many thanks for xschem! This is exactly what I was looking for analog and mixed signal IC design. I managed to install it on Ubuntu 16.04LTS. However, I have a problem that unfortunately some of the key bindings do not work properly in my system. I have been using the menu for most of the things, but I am a bit stuck now since Ctrl+s for instance is not available in the menu. The mouse wheel is not working either. I am not sure where the problem is. Any idea where to look for?
    The package is terrific! I plan to use it with the free ngspice simulator and some commercial PDKs that I managed to make it work with it.

     

    Last edit: Saul Rodriguez 2017-05-10
  • Saul Rodriguez

    Saul Rodriguez - 2017-05-10

    Hi again,

    The problem dissapeared when I pressed the Num-Lock. The issue seems to be related to the modifiers that are used to grab the keystrokes combinations in X11/Xlib:

    http://stackoverflow.com/questions/4037230/global-hotkey-with-x11-xlib

    So Caps-Lock and-Num Lock may result in erratic behaviour in some systems.

     
    • stefan

      stefan - 2017-05-11

      Hi, Saul,
      yes, i assume the NumLock is not enabled, but i think it would be easy to filter out the NumLock status. If I succeed i will upload a newer version. Thank you for posting this issue!!

       
    • stefan

      stefan - 2017-05-11

      Try this patch in the src directory:
      patch < patchfile
      where patchfile is the following:

      Index: callback.c
      ===================================================================
      --- callback.c  (revision 121)
      +++ callback.c  (working copy)
      @@ -33,6 +33,8 @@
        FILE *fp;
        unsigned short sel;
      
      +
      
      + state &=~Mod2Mask; // 20170511 filter out NumLock status
        if(semaphore)
        {
          if(debug_var>=1)
      @@ -1108,6 +1110,9 @@
             }
             sel = select_object(mousex,mousey,SELECTED);
      
      
      +      if(sel && state ==Mod1Mask) { // 20170416
      +        launcher();
      +      }
             if( !(state & ShiftMask) )  {
               if(auto_hilight && hilight_nets && sel == 0 ) { // 20160413 20160503
                 delete_hilight_net();
      
       
  • Saul Rodriguez

    Saul Rodriguez - 2017-05-11

    Hi Stefan,

    Many thanks for the patch!

    I have continued following the tutorials and now I have found an issue when netlisting. The netlisting is parsing only the top schematic and not expanding the subcircuits. For instance, in the poweramp example, the netlister only generate the lines:
    ....
    x1 OUTM VSSX FBN VPP VNN VSS mos_power_ampli
    x0 OUTP INX FB VPP VNN VSS mos_power_ampli
    ....

    But will not generate the subcircuit implementation:

    .subckt mos_power_ampli OUT PLUS MINUS VPP VNN VSS
    ...
    ...

    I can push into the mos_power_ampli schematic and generate the spice's subcirtuit code and then copy it back to the top's netlist. However, this is not practical for big designs.
    Am I missing any setting in the netlisting?

    Thanks again and best regards

     
    • stefan

      stefan - 2017-05-12

      Hi, Saul,

      the netlisting operation usually can be done in these ways:

      • press the 'Netlist' button in the menu bar (on the right)
      • press the uppercase 'N' key

        There is another netlisting bind key 'n' that netlists only the current schematic level, so, 'N' does the full hierarchical netlist while 'n' does only the current level, without expanding subcircuits.

      Please verify if this solves your problem, otherwise let me know!, Thank you for reporting all these issues.

      Stefan

       

      Last edit: stefan 2017-05-12
  • Saul Rodriguez

    Saul Rodriguez - 2017-05-12

    Hi Stefan,

    Thanks, now it is working!

    Saul

     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB