NeoCircuit
Cadence NeoCircuit
NeoCircuit is a circuit optimizer that can size transistors and adjust values in a circuit to center it for optimum yield in a given process.
It has its own parallelization setup, using rsh/ssh, or integrated with compute farms run by LSF, SGE, and Altair Accelerator.
Altair Accelerator Integration
- etc/pmconfig/FTNC.tcl, the interface procedures
- etc/pmconfig/examples/PMConfigFTNC, the example variables setup file
Configuration File PMConfig Variables
Variable | Meaning | Default | Range |
---|---|---|---|
pmtype | Parallel Machine integration type | tcl | tcl |
tcl_file_name | Name of integration procedures file | FTNC.tcl | FTNC.tcl |
portnumber | TCP/IP port used by evalNode job on a host | 4000 | 1024-65535 |
queuename | Name of Altair Accelerator queue to receive evalNode jobs | vnc | Any string starting with vnc |
maximum_number_of_evalnodes | Maximum number of evalNode jobs to start | unlimited | 1 .. 2X number of farm hosts |
resourcerequirements | Resources required to run an evalNode job | RAM/32 (linux) | Only installed Altair Accelerator platforms should be configured |
runenv | Name of environment in which to run evalNode jobs | none | Named environment capable of running NeoCircuit |
Environment
A snapshot environment is used by default, but you can specify a named environment in the PMConfig file using the variable runenv.
Integration Procedures
This describes the Tcl procedures that implement the integration between NeoCircuit and Altair Accelerator. The baseline was derived from the Lsf.tcl file.
Procedure | Function | Parameters | Return |
---|---|---|---|
start_evalNode | Start an evalNode job on a farm host | none | jobID of evalNode job |
get_pending_pids | Return a list of jobids for jobs that have been submitted, but are not yet running. | {unused1 username} | list of pending jobids for username |
check_suspended | Determine whether a given jobID is suspended | {jobID} | 1 if suspended, 0 if not |
sendSignal | Stop a given evalNode job | {jobid signum unused2 } | 0 |