MAGIC Magic Mailing List
 
 

From: R. Timothy Edwards (tim AT stravinsky DOT jhuapl.edu)
Date: Mon May 19 2003 - 12:40:10 EDT

  • Next message: John Griessen: "Re: reasonably big layout project"

    Dear Erwin,
    
       Thanks for the email.  I think I've addressed most of the issues
    you have in the most recent revision, so you should download
    revision 39 (posted this morning) and check some of those things
    again.  Specifically:
    
    > 1. Every once in a while (rarely) a .mag file which had labels
    > placed in the layout gets corrupted such that instead of the
    > usual  line ...
    
    This was related to instantiating the "port" command for generating
    standard cells.  The error was in revisions 37 and possibly 38.  It
    is fixed in revision 39.
    
    > 2. This is more of a user interface enhancement. The "tkcon" terminal 
    > provides tab completion, so if one types commands within the terminal 
    > one can use backspace to fix a line, or ^a to get to the beginning, etc. 
    > But, when coming from the graphics window with the ":" prompt, typing a 
    > tab brings one into a state where one has to select the tkcon window to 
    > do backspace, then get back to the graphics window to complete the 
    > command.
    
    Hmm, never noticed that before.  I did fix one thing in revision 39,
    which is that (prior to revision 39) if you started a command in the
    graphics window and completed it by hitting <return> in the console,
    magic would remain in the layout-redirects-to-console mode until you
    typed <return> in the layout window.
    
    > I think it would be easier if the ":" prompt would switch the 
    > focus to the tkcon window, and one would have a shortcut to switch the 
    > focus back to graphics. So, there would only be two states, the 
    > "graphics window" and the "tkcon window", not four (or more?) states, 
    > the "graphics window", the ": prompt from the graphics window", the 
    > "tkcon window", and the "tkcon window with a command initiated by the : 
    > prompt".
    
    I tried that method, and if I recall correctly, I couldn't prevent Tk from
    popping the console to the top of the window, which really irritated me.
    It was either that, or else it was that I liked being able to move the
    box around with the mouse buttons while a command was half-entered on the
    command line.  That way, I can make queries on layout geometry and then
    type them into the command line.  There's one other thing, too---if you're
    running magic on an 8-bit pseudocolor display, changing focus swaps the
    colormap out, which will give you a headache in very short order.
    
    I should be able to fix the "tab" thing.  That's just a matter of handling
    non-ASCII characters within the graphics module.  Tab is not handled,
    and clearly has some problematic behavior when it isn't.
    
    There are really only three states:  "In the console", "in the layout and
    accepting keys as macros", and "in the layout and redirecting keys to the
    console".  "In the console" should always act the same regardless of what
    the prompt is.  The prompts are the way they are for historical reasons.
    Perhaps it would be more sensible if the prompt changed to indicate when
    keystrokes are interpreted as macros.  And DRC-in-progress and DRC-done
    should be indicated by a little red light/green light on the GUI,
    instead of changing the prompt character.
    
    > 3. One has to be careful with the "load" and "getcell" commands. If a 
    > ".mag" is appended to the filename in the command, it gets written into 
    > the ".mag" file. Then, when streaming out, cellnames get replaced by 
    > "XXXXXn". Since the tab completion in tkcon appends the ".mag", it is 
    > easy to make this mistake. Of course, the mistake can be fixed by 
    > massaging the ASCII database with a short script.
    
    Revision 39 checks for the ".mag" extension when loading a cell, and
    removes it if it finds it there, so that should no longer be a problem.
    I think the "getcell" command passes through the same section of code,
    but I'll have to check.
    
    						Regards,
    						Tim
    


  •  
     
    Questions? Contact Rajit Manohar
    cornell logo