IC-Station Productivity Suite trunk
Status: Beta
Brought to you by:
cparg
| File | Date | Author | Commit |
|---|---|---|---|
| glview_ic | 2014-05-23 |
|
[ff9ced] all local changes |
| types | 2012-11-29 |
|
[06ad8d] Added CMS Simple-Editor |
| userware | 2014-05-23 |
|
[9aa309] schematic modules & improved init_module() func... |
| web | 2014-05-23 |
|
[ff9ced] all local changes |
| Changes | 2009-12-12 |
|
[59907a] migration to GIT SVN V121 |
| README | 2012-11-29 |
|
[527ee7] update documentation |
$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.