Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Tree [9aa309] master /
History



File Date Author Commit
glview_ic 2014-05-23 Christian Parg Christian Parg [ff9ced] all local changes
types 2012-11-29 Christian Parg Christian Parg [06ad8d] Added CMS Simple-Editor
userware 2014-05-23 Christian Parg Christian Parg [9aa309] schematic modules & improved init_module() func...
web 2014-05-23 Christian Parg Christian Parg [ff9ced] all local changes
Changes 2009-12-12 Christian Parg Christian Parg [59907a] migration to GIT SVN V121
README 2012-11-29 Christian Parg Christian Parg [527ee7] update documentation

Read Me

$Id: README 39 2009-09-28 10:18:57Z cparg $

This is a collection of (hopefully) usefull productivity enhancements
of Mentor Graphics IC-Flow tools Design Architect-IC and IC-Station/ICgraph.
It is developed for DMGR based Flow and developed on 2008.2 Release of IC-Flow.

Content
=======

Common functionality
--------------------

o load_ample() search AMPLE_PATH for the given file and load it.


Layout / IC-Station
-------------------

o Helper functions to ease Interdigitization of MOS devices

o function that saves/restores all kind of operating states of IC-Station
  (select filter, slectable layers etc.)

o Alt+Arrow Keys will move selected objects by one grid distance
  See ic/user_ic.ample

o Push/Pull objects one hierarchy down/Up the layout hierarchy
  See ic/user_ic.ample: push() & pull()

o additional IC-Station Hotkeys
  classic Hotkeys are loaded plus ic/ic_hotkeys.ample
   - 1 -> cycles Selection and creates a Note about the curretnly selected object
   - 4 -> select on selected net
   - b -> set basepoint
   - x -> show context
   - k -> add ruler
   - K -> delete all Rulers
   - s -> stretch
   - c -> ICg Copy
   - i -> iRoute

dmgr_ic
-------
o added Spice to Schematic translator gen_schematic.ample
  Note: This piece is currently under development.
  See the sourcefile about how to use it and its limitations.

o dmgr_ic/gen_types
  Create some additional Types for dmgr_ic

o added several Type registrations in the types subdirectory.
  Set environment variable MGC_CUSTOM_TYPE_DIR to this directory
  to make it known to dmgr_ic.

o simple CMS Editor
  by double clicking on a CMSdb in Dmgr_ic it will dump the content to a temporary file in AMPLE syntax.
  Changes can be done and the file is loaded after the Editor is closed to re-create the CMSdb.

o F4 will open a shell in the currently selected Object in Project Navigator
  Note: uses KDE konsole. Change the Code in userware/dmgr_ic/dmgr_project_tree_area.ample

o Copy/Paste Clipboard usemodel for 2008.2
  This is commented out in the file userware/dmgr_ic/dmgr_project_area.ample

o Howto/Demo: A custom Menu entry in the New Submenu in the RMB context menu when a Component is selected
  find the code in dmgr_project_tree.ample in the function $user_init()

Frontend / DA-IC / Pyxis Schematic
----------------------------------

o ic/process_ascii.ample
  This is a function that dumps the current process to an ASCII file
  Improved the output by "pretty printing" of the vectors.

o Check&Save in the Schematic Editor will now check for usage of
  Implicite Pins. If Impl.Pins were used and the connected net
  is missing, little wires in the lower left corner of the sheet are
  automatically added now.
  See da_ic/schematic.ample and da_ic/fb_schematic.ample
  also split() function in base_ic/ui_base.ample is used.

o Userdefined  Rules in Sheet Check that checks for invisibe
  NET properties and issues Errors when found.
  Such typically appear in EDIF converted Schematics and have bad
  side effect when wires or Instances are copied. The copied
  vertecies might own such a invisible property and create a logical
  short between the original and the copied instance.
  Since the NET properites are invisble the user get actually no visual
  feedback of this short.

o Update Symbol Function. In Miscelanous Menu there is a new blue Entry
  "Update Symbol". It checks for a existance of a Smybol in the same
  component as the current sheet and adopts its pins in case it does not
  correspond to the schematic port instances.
  Known issues:
   - the pin property of added symbol pins is vertically not centered
   - After adding the pins the symbol editor does not have the input focus.
   - Does not work for other Port Symbols than the MGC generic type
   - Requires that Port-Symbols are used in the schematic
   - Does not understand bus-ports. For instance if a port A[0:7] already exists on
     symbol and a single port A[0] is found in the schematic it will add a port A[0] anyway.
  ##################################################
  # -> DEPRECATED IN V10.0                         #
  #    go to Setup / Preferences /Checks           #
  #    Choose Schematic / Update Interface: Prompt #
  ##################################################

o Symbol & Schematic Editor
  - Hotkey j - change justification of selected properties
  - Hotkey h - change height of selected properties
  - Hoteky v - chnages visibility of a selected Property

o Spice Import
  in da_ic parse_spice() function will read a Spice file and create
  schematics.
  Note: The Implementation is yet pretty limited and does a lot of
  assumptions. It might be quite helpfull for advanced
  users in many cases, never the less.
  Please see the sourcefile in da_ic/gen_schematic.ample for details.
  However, be warned: DON'T RELY ON ITS CORRECT FUNCTION !!

o graphical Schematic Diff
   - Open two Schematics that should be compared/diff'd in one session
   - Load diff_schematic.ample
   - execute diff_sheets() with the Window-IDs of the two Sheets to be compared
   -> The Diffs are overlayed in the first Sheet
      - Red  = Missing Structure
      - Blue = Added Structures
   - Use function unhighlight_diffs() to remove the diff Comments


Coding Guidelines
-----------------
o Ample
  - make use of QUICK_HELP in the function header.
    Describe the capability of the in one sentence.
  - In the Comment explain the Function arguments
  - Describe what the function returns
  - Each function should have one single exit point.
  - Prevent using global variables.
  - A function should not be longer than one screen size.

o ICgraph
  - Rather than using makro-style filter seting and selections,
    one should better use $get_object_info() use handles and
    Group-Filter functions.
    This is faster in execution and less context sensitive,
    thus less sideeffects.