Saturday, November 29, 2014

Notes - Cadence OrCAD

Ed. Note: The following page comprises a series of short notes about using Cadence OrCAD Capture, an electronic design automation (EDA) tool


Placing Generic Components  and Sources
  • PSpice Component
  • 'DISCRETE' Component Library - Generic Library Items
    • Sources (Generic)
      • BATTERY
      • SOURCE CURRENT
      • SOURCE VOLTAGE
    • Cutoffs (Generic)
      • FUSE
      • THERMAL FUSE
      • Switches: SW ____
      • Relays: (TBD) 
        • Mechanical Relays (TBD)
        • Solid State Relays (TBD)
    • CAPACITOR
    • RESISTOR
    • THERMISTOR
    • INDUCTOR
    • SPEAKER
    • Transformers (Generic)
      • TRANSFORMER
      • TRNSFRMR ______
    • Semiconductors (Generic)
      • DIODE
      • Transistors (Generic) (NPN, PNP)
        • MOSFET N
        • MOSFET P
        • JFET N
        • JFET P
        • BJT: Listed by part number ?
    • ...

Documentation



See also: Introductory book


Sideabar: Scripting OrCAD Capture with TCL/Tk

OrCAD Capture is bundled with an interpreter for the TCL scripting language.

The TCL interpreter bundled with OrCAD Capture can be accessed from within the OrCAD Capture main window, via the "right-click" context menu on the OrCAD Capture menu bar.


OrCAD Capture TCL API
  • TCL Version (OrCAD Capture 16.6)
    • puts $tcl_version
    • => 8.4
  • Object Models
    • OrCAD Database Object Model (Dbo*)
      • Reference: Tcl/Tk Extensions in OrCAD Capture [documentation] s. 3
      • Subsets:
        • Design Database Object Model
        • Library Database Object Model
      • See also: Class Hierarchy, s. 3.2.1.2 in Tcl/Tk Extensions in OrCAD Capture [documentation]
  • Commands
    • Menu Commands
    • Page Editor Commands
    • Project Manager Commands
    • Database TCL Commands (see also: Object Models)
  • Journaling
    • SetOptionBool Journaling TRUE
    • SetOptionBool DisplayCommands TRUE
    • The command journaling feature in OrCAD Capture allows for a certain approach to script debugging or alternately, API exploration, by displaying TCL API commands as applicable for duplication of existing GUI actions (e.g. place wire, place component, ...) 

Developing Interfaces to TCL from Other Programming Language Platforms
  • FFI in TCL 
    • (TBD)
  • SWIG 
  • Common Lisp (ANSI CLtL)
    • Overview
      • Interface tools for CLtL are mostly GUI-focused
      • Some (?) allow embedding of TCL scripts
      • TCL is not CORBA IDL
    • Selected Projects
  • Reflection in TCL
    • (TBD)
Extending OrCAD TCL

  • Load-time initialization file for the OrCAD TCL interpreter
    •  path [cygwin$(cygpath -u $CDSROOT)/tools/capture/tclscripts/capinit.tcl
  • Load-time initialization directory for the OrCAD TCL interpreter
    • path [cygwin$(cygpath -u $CDSROOT)/tools/capture/tclscripts/capAutoLoad/
Project Concept: Integrating OrCAD With CORBA Service Networks

  • Resource: Tclblend [tclers wiki] 
    • Java + TCL
  • Resource: JacORB
    • CORBA ORB in Java
    • Support for Kerberos, SSL
  • Development Procedure (Outline)
    • Develop IDL interface
    • Document IDL inteface
    • Develop Java implementation of IDL interface (JacORB)
    • Develop "other" implementation of IDL interface (e.g. CLORB)
    • Functional Unit Testing
    • Beta Application
    • Application in Usage Case
    • Release
    • Maintenance
  • Application Procedure (outline)
    1. Initialize OrCAD
    2. Initialize ORB, via JacORB, via Tclblend
    3. Connect to ORB, via "other" CORBA implementation
    4. Conduct procedures of IDL interface, via ORB-to-ORB connection
    5. Disconnect ORB from within "other language" CORBA implementation
  • Concepts (outline)
    • Why CORBA?
      • OrCAD as service provider
        • Schematic capture service (GUI)
        • Schematic modeling service (API)
        • Schematic simulation service (GUI) (API?)
      • Independent process control for service provider appliations
      • CORBA provides a language-agnostic interface definition language, CORBA IDL
    • Integration with operating system virtualization services
      • CORBA and SDN
    • Integration with on-site parts databases
      • Bill of Materials
      • Parts Inventories
      • Purchase Orders
    • Integration with on-site parts library servers
      • Schematic models
        • Schematic Models Demonstrating Recommended Practice
        • Schematic Models of In-House Products
        • Schematic Models of Third-Party Products
    • Usage Cases:
    • Some duplication of functionality available within other OrCAD platform components


Documentation


Additional Resources