|
#+ I+ _, z }: P! c$ [! Q
# ALLEGRO GLOBAL Environment file
, d P9 ?: _; o& |#1 j5 ~8 c: Q$ y- m; X" {
M3 N2 B2 a8 T# The following variables are set by the software if not preset by user:, t. N- `6 w- |7 i0 v8 @3 |
# CDS_SITE, ALLEGRO_SITE, TELENV, ALLEGRO_INSTALL_DIR,
2 ?& H) a! j p( Y: p5 Q# ALLEGRO_INSTALL_TOOLS, ALLEGRO_INSTALL_ROOT, ALLEGRO_TYPE,3 T8 ~/ c: S* r
# __UNIX (if UNIX), _PROGRAM, HOME
' b5 k+ ~) a- \" n! v- _1 P- M @4 Z#
# E1 J+ @3 T. H5 [2 \: t# You may set the Operating System variable:
$ v6 K/ d5 s( m3 v2 l3 s" q# ALLEGRO_PCBENV <alternative directory>
+ k/ h+ E9 r+ o5 n7 S# to overwrite the default of the user's pcbenv directory. This variable
9 k% j Y4 U4 h% s# must be set at the OS level and has no effect if set in an Allegro env file.
; C4 g3 e K# B0 u" B# The directory given must exist. If no directory is found the system will
/ a8 u6 c9 b* B4 \+ |! t# fallback to its default location.
4 e. n* r/ X; ?- j/ h#8 [" _( L& u& N3 k! {! ^1 i; q
# The following variables are preset at startup, direct settings in env
6 w8 r6 U4 q5 \9 Y; k/ x# files will be overridden+ f4 C' E% g& }0 S8 T) n1 W
# LOCALENV: seeded based upon <HOME>/pcbenv (or if set ALLEGRO_PCBENV)5 j* Q# Z* X2 ]) w
# LOCALPATH: seeded based upon . LOCALENV, ALLEGRO_SITE, GLOBALPATH
* k$ o' Z4 K: h# W# Variable names are case insensitive3 Z0 j9 m8 s3 S$ Z
0 I7 Y3 S" k0 D* `
#--------------------------------------------------------------------9 V C @# D8 _3 W& Q0 B. G: l
# System Variables
9 O4 }' Q+ n1 _9 jset GLOBAL = $ALLEGRO_INSTALL_DIR/text, A0 f M) c( e
/ V( x8 y% I, g- w
# change from LIBPATH because it conflicts with IBM's shared library) N6 f3 V- L2 \, c4 z' h( ^9 T* [
# environment variable
; V. E+ g- m- ~4 `% v# n6 N* F; V& {set ALIBPATH = $ALLEGRO_INSTALL_DIR/pcb_lib S7 P" b2 p5 Z, l; ~; T% n
8 `4 }$ `7 C& v4 i3 Uset COMPLIBPATH = $ALLEGRO_INSTALL_DIR/allegrolib
; p1 A, R8 s8 ~. b
% ~0 z. n V0 P9 w6 y6 x& l/ N/ @set GLOBALPATH = . $GLOBAL
/ [* f7 q7 b8 z: K4 t% n
1 |4 S' u2 v7 x3 O# Allegro Data Services Variable
% E; w; R2 b7 E5 ? `. _7 [2 l( }* Q: lset ADSPATH = $GLOBALPATH
7 ~5 [- Z. S& H2 n/ L* {1 A) B1 ]
( p; K" I. l1 R( V# Present for compatiblity with older versions of Allegro.: p( J, W; ?6 x5 b7 k) ^
ifnvar ALLEGRO_SITE "set ALLEGRO_SITE ."; B- B" p& T! d$ u. H; u
ifnvar CDSPLAT "set CDSPLAT "/ \5 p5 s E0 A/ S% F5 Z
ifnvar ALLEGRO_INSTALL_DLL "set ALLEGRO_INSTALL_DLL "
0 ?/ h0 l9 L. E0 Y2 p/ v- f" B+ b
7 Q, \5 |& \7 b5 F2 n$ ~- ?#--------------------------------------------------------------------+ Z$ {' }4 w/ H; z, ?5 b
# Configuration variables (Don't change)7 D7 P. p, }$ I& @& ^8 ~
set BMPPATH = . $ALLEGRO_SITE/icons $GLOBAL/icons $ALLEGRO_INSTALL_ROOT/share/fsp/legends $ALLEGRO_INSTALL_ROOT/tools/fsp/legends
* L+ ]2 _6 O7 w- b$ \set FORMPATH = . $ALLEGRO_SITE/forms $GLOBAL/forms0 J. Y H0 \' o1 ~6 c+ W1 v- ~( I
set MENUPATH = . $ALLEGRO_SITE/menus $GLOBAL/cuimenus: ]" k7 s; [" z
) E, ^, e' B, u z
set MATERIALPATH = . $LOCALENV $ALLEGRO_SITE $GLOBAL $GLOBAL/materials3 _% L7 W* l, j5 t
set CAPATH = . $LOCALENV $ALLEGRO_SITE $ALLEGRO_INSTALL_DIR/channelanalysis
7 q( d: W( R! ~6 J" }$ a; R% J& }: F& Oset AMIMODELPATH = . $LOCALENV $ALLEGRO_SITE/ami/$CDSPLAT $ALLEGRO_INSTALL_DIR/channelanalysis/ami/toolkit/dll/$CDSPLAT9 z) t3 Q) D) e
/ [2 Y( J# n% K' z#Configuration paths) o: d, B/ R1 f* u- p( h6 T
set PRFEDITPATH = . $LOCALENV/configure/prfedit $ALLEGRO_SITE/configure/prfedit $ALLEGRO_INSTALL_DIR/configure/prfedit
8 m3 v" X1 C( a$ n! qset BATCHHELPPATH = . $ALLEGRO_INSTALL_DIR/batchhelp
# ?4 G* F5 {9 Jset SPROUTEPATH = $ALLEGRO_INSTALL_DIR/configure/sproute
; T, P- Y4 h7 v/ o0 Q+ S
7 {/ c- i' Q* [; aset HELPPATH = . $ALLEGRO_INSTALL_DIR/help $GLOBAL/help
% d. J$ m. R; p9 aset PDFPATH = . $ALLEGRO_INSTALL_DIR/help/pdf6 [$ D( c/ D( i' m7 P) t: x" b
7 T) Q0 B+ n5 P& M" l' A. i; Y# Graphics demo env$ l6 W* A1 Q! S. P. f
set IMAGEPATH = . $ALLEGRO_INSTALL_DIR/examples/image
- ?" X8 l% x* f4 Z5 r
- Z) M9 J2 f u9 Z3 y# Allegro Plugin search path2 v! L0 c3 i0 I8 W7 t U
set AXLPLUGINPATH = . $LOCALENV/$CDSPLAT $ALLEGRO_SITE/$CDSPLAT $ALLEGRO_INSTALL_DLL5 G: n6 [" r; y: `/ {6 ^
( H& n: Z, M9 u" z- Y( x# Library path for Interfaces8 z$ a; m+ }: g7 [. x& {1 o
set INTERFACEPATH = $ALLEGRO_INSTALL_ROOT/share/library/interface1 H9 T: f. `2 Z
& T+ V9 c- a- |0 J, N h0 S) l
#--------------------------------------------------------------------5 p7 n$ c( p9 S+ n' n
# Drawing font3 D) T3 D0 [) m5 p! G& z
set VECTORFONTPATH = . $GLOBAL
, X! L" L0 q2 F& ^# Zset ANSIFONT = ansifont
5 O/ ]* v# l! p- \" c4 G# h/ F6 rset KANJIFONTPATH = . $GLOBAL/fonts/kanji
* h1 a1 g' h1 Wset KANJIFONT1 = kanjifont1 o6 W+ Z2 @# F2 K
set KANJIFONT2 = kanjifont2( O; i% B4 [0 g9 q4 I
$ v+ t% b/ n# @: r) N
#--------------------------------------------------------------------
$ h F8 S) n; q' |# Display Variables
+ t5 S8 z9 M2 L$ ]% Y a; h1 f/ i* d9 W/ Q0 \
set display_backingstore on
6 X2 W2 r6 K$ y5 U
1 c, L9 f) Q- \3 S8 y! i# disable repair under ratsnests
+ E+ d+ n% N- {+ M7 l* E) K! ?/ nset display_shapefill_analysis 1% B4 @2 ~ ~ ?, ~$ f$ m) q
& T* K( Z3 y/ |$ I
# disable HTML datatips by default1 U$ p3 c1 g, c& M3 g n- l& w# Z
set disable_html_datatip_style
7 F% D0 Y: o4 @6 g; R" r
2 m3 A6 t+ A2 a8 K, ]# enable html as default for long message windows6 f' ]% L% y9 X9 p, z
set allegro_html
6 k# h% i. g4 v6 e
8 J% z6 e" I S6 |1 i; p. m#--------------------------------------------------------------------
& f0 B4 b' w3 m/ j; }; o#--------------------------------------------------------------------
1 m: n" p) u5 O) b- {set compalib = $ALIBPATH/symbols $COMPLIBPATH/symbols& y; p+ {% l9 w
set topfilelib = $ALIBPATH/templates $COMPLIBPATH/templates
+ U* x5 A w, T* y4 kset signal_install_dir = $ALLEGRO_INSTALL_DIR/signal" P$ u) A- }: W1 ^
set signal_optlib_dir = $signal_install_dir/optlib
" \. I" v) [2 R" R! q8 s3 V: b3 m% k7 N
4 z8 R3 n" w# u, ^' b) u7 }7 n8 D
set MODULEPATH = . $ALLEGRO_SITE/modules
/ j: f( l- @1 i+ Y2 R' C9 ?set TILEPATH = . $ALLEGRO_SITE/modules
2 {9 T- O0 O0 W, Sset WBPATH = . $ALLEGRO_SITE/wbtiers
, M( o/ _5 ]4 r( D9 e7 E7 Dset PADPATH = . symbols .. ../symbols $ALLEGRO_SITE/padstacks $compalib T' q; Z) A# G; U
set PSMPATH = . symbols .. ../symbols $ALLEGRO_SITE/symbols $compalib) A! I: b9 |) P: v& J, {- M
set pcell_lib_path = $ALLEGRO_SITE/../../rfsip/sip_pcells . sip_pcells .. ../sip_pcells $ALLEGRO_INSTALL_DIR/../rfsip/sip_pcells ; w" ^. B/ k2 E. k E
set TECHPATH = . $ALLEGRO_SITE/tech $GLOBAL/tech$ P( |7 U! ^7 v V# B9 b
set PARAMPATH = . $ALLEGRO_SITE/parameter % K- e2 y- @2 S. I! D7 _8 L6 P
set TOPOLOGY_TEMPLATE_PATH = . templates .. ../templates $ALLEGRO_SITE/topology $topfilelib
3 Y) W! e+ J' Q- L: R3 b* |+ C' _/ S6 g+ |. [- \4 _& \
# SigNoise data installation directory
" I" w* J) a+ U" ?1 vset SIGNOISEPATH = . $LOCALENV $ALLEGRO_SITE/signal $signal_install_dir $signal_optlib_dir $GLOBAL2 N) }8 |5 D( D( S; s- T
- O" Y2 G% r0 I& |- F9 m2 s! n# SigNoise model variables.6 P' h6 \9 @5 W: M F( T0 ^/ r
set SI_MODEL_PATH = . $ALLEGRO_SITE/signal $signal_install_dir
9 K6 |: w2 ]3 Y1 l" X3 t- c0 iset SI_MODEL_FILE_EXT = Generic_IBIS(ibs) IBIS_Buffer(buf) IBIS_EBD(ebd) IBIS_ICM(icm) IBIS_Pin_List(pin) IBIS_Package(pkg) Quad(mod) Generic_SPICE(spc) HSpice_Input(sp) HSpice_Output(lis) Spectre(spc) Touchstone(s?p,s??p,ts) DML(ndx,dml) Interconnect(iml) ABIML(abiml)
, A% H' V, |+ b, Z9 ?$ p! @* q& w2 t5 S- O6 S: ^
#--------------------------------------------------------------------1 X+ U; u% s y9 ]% o# i
# Non-HDL Supported Design Search Path Variables
7 n6 a3 {! d3 k7 B; D5 Wset MISCPATH = . $ALLEGRO_SITE/misc $GLOBAL$ z5 o& d. ]6 ^5 |& W4 @
set ARTPATH = . .. $ALLEGRO_SITE
6 s- r. {& O& V jset APTPATH = . .. $ALLEGRO_SITE8 X& m" D5 W4 T1 L7 f$ ?2 E7 i
set CLIPPATH = .
0 i/ }5 p. p# Z- T9 ?' ^9 Cset DCLPATH = . .. $ALIBPATH $COMPLIBPATH! D* e7 \4 \, H! R y2 A9 }
set DEVPATH = . devices .. ../devices $ALLEGRO_SITE/devices $ALIBPATH/devices $COMPLIBPATH/devices- U' V% B, `2 x. B1 @
set DFAAUDITPATH = . $ALLEGRO_SITE/assembly $ALLEGRO_INSTALL_DIR/assembly
) ?5 j/ u6 b3 P* b6 Z+ l kset DFACNSPATH = . dfa .. ../dfa $ALLEGRO_SITE/dfa. h0 ?* \+ i" G4 j \( l
set NCDPATH = . .. $ALLEGRO_SITE/nclegend $GLOBAL/nclegend% I/ q" Y) b6 u+ T5 L% a( W; ~
set SCRIPTPATH = . $ALLEGRO_SITE/scripts $GLOBAL/script
3 n% I- a0 x; \% lset TEXTPATH = . $ALLEGRO_SITE/extracta $GLOBAL/views8 \: c$ T! E! z! R! @ Y8 _
set VIEWPATH = . $ALLEGRO_SITE/views
$ M7 [( i y( ^- z' Qset XTALK_TABLE_PATH = . xtalk_tables .. ../xtalk_tables $ALLEGRO_SITE/xtalk $ALIBPATH/xtalk_tables
9 u1 v9 _6 g* |0 w5 B# R7 rset WIZARD_TEMPLATE_PATH = $ALLEGRO_SITE/new_templates $ALLEGRO_INSTALL_DIR/pcb_lib/symbols/template G1 j/ ?9 x& z% u; Q/ `' o0 ^
set LDFPATH = .
" w [% Z4 e% e% j( C5 Hset infinite_cursor_bug_nt
+ e p9 x" b6 x @' N
. ~; T* T5 D2 W4 K; E' a: H# System Configuration .scf file search path8 U+ R4 Y2 w5 J+ b" R. {5 j" R+ y
set SCFPATH = . scfs .. ../scfs
# ]$ N9 W3 D7 [9 \2 a: R5 H" e. O( g
8 Q+ z5 X% U# ]7 t# Display the headsup meter in a fixed position in the control panel.
. A" Z9 B" y- i+ Iset allegro_dynam_timing_fixedpos
8 i& j: g1 X5 m2 h9 L! M. h" l% S S4 |
# For IC Packaging tools (APD and SiP tools), the following defaults the
8 v. r2 J: T$ b' S1 [+ \. w# HUD for the wirebond tools to updating 25 times per second. # Q- Y: J, R' k& `( `8 K8 R. O
! |5 t4 ?4 w& |
set wirebond_hud_update_frequency 250 @% ~) e* f- v2 P3 R! S# I
# By default, suppress bond wire DRCs that are 3D in nature but being
( ]9 I, }& p6 }/ v# checked in 2D. By default, the APD/SiP tools will only report wire
' W- L( R+ o) f' ^. g# violations if they occur over top of the end item (finger or pin) and; D6 a3 g; Z; |1 c7 Z, D" A/ L. Q2 Y
# the two wires are on different nets., M& O' @ L7 I- j3 R
set wirebond_suppress_bondwire_drcs
9 ^$ r# v/ z. r9 J2 ^% U0 Y- r+ Y5 O x) S! S" X
# enable license caching for better toolswap performance- e f! @% T) E: V8 Z; U4 z* W
set allegro_license_caching
/ ]9 @9 `) o# A* X' `. v: i$ M; `2 W1 o1 k
7 Q" U! _$ D( g7 v" A& N% C3 N5 }8 L#--------------------------------------------------------------------0 J, m3 X& S2 y9 \
#--------------------------------------------------------------------
z' C+ g5 U7 |4 h4 s/ O# alias( [- W% }( k2 t1 H' {' L: ~
# May use function keys F2-F12, most Alpha-numberic keys with control + G7 g" P5 c, y: u
# modifier (although Control - C, V and X are reserved for copy, paste and cut)
; Z4 V; k, j% x# J# and Navigation Keys (Home, Up arrow, Esc, etc.) These items may be modifed* }# X# Q: J, n5 E1 P
# by the following:
$ z7 R* o7 ~% j* P0 J6 x# Modifier Indicator Example Q F- Q" I3 @; w; X& t( n/ v
# Shift S SF2 3 T0 u& R: ]! t- q
# Control C (function keys) CF2
( C. ^6 \% \6 ~5 U' b# Control ~ (alpha-numeric) ~N
6 N) f# K$ {" S& l. Y# R5 L# Meta A AF2
; w0 G$ s2 O2 T% p& ^# Modifiers may be combined. Some examples: : G: _. O' t% I+ y' s+ R! z5 e
# CSF2 Control-Shift F2
6 V; J) N: B3 q6 l% l# @ @& Q# ASF2 Meta-Shift F22 Y6 u) o' e; }; n0 v
# CAF2 Control-Meta F2) @( C3 q) q' v$ Y) F0 w2 X
# CASF2 Control-Meta-Shift F2
" V& ?7 [% ?( Z8 Y8 t* t% V# ~SZ Control-Shift Z. w0 N4 K8 I4 @$ l
# SUp Shift-Up Arrow
/ W6 `, |1 h# `: N& o# CUp Control-Up Arrow: E/ i+ V% q/ s% |4 |0 N7 A- D
#
4 D$ c" D, L; d: _; W& H4 t# funckey
6 x5 K% ?) L% |4 ^0 L# use the funckey when you wish to have alphanumeric keys operate
2 B$ _; O7 @& G; G$ x1 L& J# like the Function keys when the cursor is in the Allegro canvas.
* a& I3 o* r$ ^3 J- R% K" r. n# ; K# Y: @# c E/ g
# Example -- following starts the move command without a Enter key! G+ c$ k6 c6 _, q3 t5 a% |, J9 y: U
# funckey m move
! N% ~+ P7 r& M9 Q& x+ x: {6 e2 }1 V# n' g' W' }3 B
#--------------------------------------------------------------------
: V6 f" o0 {! I; V: g# Bind roam operations to function keys
$ h1 k" @# l) K2 h2 uset roamInc = 96
8 b% j( a/ J( \4 D. I) g0 y$ R
* }' t0 t' F. q: [5 B/ d# Bind incremental pick by grid unit functions to ctrl and shift--arrow keys
h% E4 L& {3 M$ @alias CUp "ipick 0; ipick_to_gridunit 0 +1"
% C! e% h9 G7 C: v' kalias CDown "ipick 0; ipick_to_gridunit 0 -1"
4 [- k' m. A/ x, \$ \8 a" Calias CLeft "ipick 0; ipick_to_gridunit -1"
9 x5 D# R8 `& k/ P% b+ Ialias CRight "ipick 0; ipick_to_gridunit +1". q2 [7 w( x3 J
alias SUp "move; ipick_to_gridunit 0 +1"
+ F; p# x/ d& ~! c) O4 m; Falias SDown "move; ipick_to_gridunit 0 -1"- F$ U9 x6 P' ^$ t
alias SLeft "move; ipick_to_gridunit -1"
& j4 ]4 ~, q, ]7 z* {# y: e& Xalias SRight "move; ipick_to_gridunit +1"
2 m8 F& p7 Q9 n* I: M7 K; k
" g) N7 Q3 h$ A1 o3 ]* a! X# example of a funckey to emulate Layout capability/ e/ j# a y* e* A9 u2 w
# The "-cursor" option can be added to any Allegro command with the pick familty% ^' i9 D6 f, |- m
# and we utilize the position under the cursor when the command is execute. So
( J6 k8 A! e: p6 ]# this example would center the display to position under the cursor when the 'c' key
S4 t8 d$ g) c) O3 s# is pressed." D ]+ z. [4 T; d2 `# P3 o+ h4 I
# funckey c "zoom center; pick -cursor"! j$ F/ X- g! t, k
" \' h* O: i" p- C2 B3 T#--------------------------------------------------------------------& @7 l% u6 L) b6 K1 M0 P: |3 h0 `4 [
# F1 is normally reserved by the system for Help so we don't use it
/ \# w! L; V- U* J+ Falias F2 zoom fit
- f% |+ c. Z' M: ^* l- nalias F3 add connect
+ l+ a8 L, o0 p# D4 ealias F4 show element C. x6 g) c3 m; ]0 I2 m) I
alias F5 redraw
4 P5 l4 k* U6 q5 B9 Falias F6 done
6 k2 S9 o6 D( W) X- t) H% {alias F7 next
* Y' |( i8 x0 T/ y+ G& W# Salias F8 oops
8 `$ S" H$ D6 w$ }" balias F9 cancel
4 X4 S' l" R6 w3 g/ o9 nalias F10 grid toggle4 @2 x, {/ P8 O) r: G- c0 o
alias F11 zoom in
, t" `' n% }2 a# _% V4 galias F12 zoom out! l8 _" E9 \- i4 J: @
alias SF2 property edit
% X* p7 R& t/ {- D2 {/ I8 falias SF3 slide
! D% a) V3 J! E) u1 {$ o* K: Palias SF4 show measure
6 T/ a) {1 D- p, m4 E9 C) M& Z; [alias SF5 copy- ?0 R2 o2 g' R
alias SF6 move ) q, p4 d& J# o Q# s3 k: \% Y! V
alias SF7 dehilight all
8 p1 f2 @7 o" D# V- @alias SF8 hilight pick
- R3 p2 h' A4 s% Z. R# z( D) }alias SF9 vertex
7 h! H$ _! V8 j5 e4 qalias SF10 save_as temp
6 i) j X" F- W" d% ~4 Calias SF11 zoom previous
) _& P2 B y8 O5 X- ]6 o! palias SF12 zoom world% [# H1 {. D$ c6 X7 x9 U
alias CF2 next
1 U+ M3 X& I1 Z2 ^+ Ralias CF5 color192
3 F7 [9 Z, o7 T" u; [: l; @alias CF6 layer priority) n$ g& r0 e+ B3 E$ c
alias CSF5 status* B8 d7 K8 G$ r: H; f/ w" @0 B
' ]8 B$ K Z( o( i7 d4 K
/ @: v* O1 O+ Qfunckey 1 zoom in
$ {9 D$ w1 ?; o: Hfunckey 2 zoom out
2 v a) ^' h+ f: T9 sfunckey 3 "prepopup;pop dyn_option_select 'Snap pick to@ Segment Vertex'" 7 |8 q# T2 I' I2 s
funckey 4 "prepopup;pop dyn_option_select 'Snap pick to@ Pin'" . P2 [. W: p: ^- G- `/ Z9 z; f
funckey 5 "prepopup;pop dyn_option_select 'Snap pick to@ Via'"
; |1 R2 l; v/ \7 Rfunckey 6 "prepopup;pop dyn_option_select 'Snap pick to@:@Arc/Circle Center'", }' Q8 L5 [4 z
funckey 7 show measure# l3 a4 E6 T: B% C; r# t8 ]
funckey 8 show element
7 l+ c* ^" b& l3 R/ H6 g: G) Xfunckey 9 replay grid5.scr
V6 l9 w' A! a m* Tfunckey 0 replay grid1.scr/ D, k3 `3 B- X I8 O) T
$ f2 u+ v3 g( r+ u; i4 L
funckey q slide
* A- _- }5 b/ `( p& I9 a) kfunckey w create fanout
R0 D2 _7 }+ l" U# @funckey e done7 O. E, w' `3 W4 C
funckey ' ' angle 906 D& D4 b8 |6 V; N" q. X/ V
funckey t move
- Y7 l2 R, M3 `funckey r rotate
2 P% M0 H3 `3 _9 [8 X7 gfunckey o oops$ p6 n. L1 e6 K* q5 ^
funckey [ cmgr# `8 x' S7 a& [1 I0 v
& X0 A7 ^6 t: E8 i0 @/ r7 n4 o
funckey a add connect! ~( @* J0 q( ?* n+ M2 j7 ^
funckey s shape add; B# B+ l1 q: G) D9 Y, V
funckey d delete `3 S c/ O4 q# f9 u
funckey f shape edit boundary2 A3 s# P" P8 C: ]% c
funckey g delay tune
" [& d4 z: c, M4 v& w+ jfunckey h assign color B- r5 [* D6 W. D `
funckey k dehilight. x3 c5 z f' i" k& i5 W4 |
funckey l net schedule' _3 p r, M* z. [$ O" P
% N3 {% {& U% J/ ^1 W
funckey z toggle
9 j+ Y" y0 `6 G* D. m: ~& Z5 `funckey c change
/ v% Q: e9 U- `& |4 Gfunckey v shape select ! x/ l( Z7 B) f) a$ R; S8 q
funckey b spread between voids
0 _: F% Q/ g9 bfunckey n copy 4 D( x; G; Y8 A! T P
funckey m mirror 5 \6 A- [! m# V) Q4 p
funckey , rats net
/ S' R& w0 d: V% j. m2 ]9 Cfunckey . unrats net
E& D o0 V1 j. ~0 k" {0 Mfunckey / swap components 7 Q) s! @; Y# h) J! X0 i! U: W
funckey + subclass -+
% I* B% O B8 H* Xfunckey - subclass --6 U% r7 a+ o% C; f x0 f2 Z
6 E' ^/ u1 w* f& o5 |& Q. N/ Pfunckey j spin" |" q' k9 f, T9 Q
funckey u unrats all* X* O1 X' @1 J1 [' T4 Q8 c- `
funckey U rats all
" |3 `0 M+ e Z( v3 R! C) gfunckey Y rats component
- Y- J' l3 i3 f/ v) ^* Bfunckey p angle 45$ C! N8 a" f' f3 k" N- r
7 }* E2 ` i6 U7 ^/ Gfunckey Right ix 11 r/ n+ b; d. z2 ~& T
funckey Left ix -13 J* c2 u% ^9 C4 P
funckey Up iy 19 s0 A( w, |5 s4 O; \
funckey Down iy -1- x' C# o' o2 @6 z U
. S% M+ M |6 E+ i( B. oalias ~N new0 `& O$ C5 I$ B: [# }+ R! ]( @/ v0 f
alias ~O open; D& E: `7 u0 s# u1 g* M
alias ~S save( P$ f& k& q2 k- U0 C
alias ~D delete
7 h" Y: V/ Q: X8 t& t9 Dalias ~Z undo
1 i/ j( @4 m4 N) p! B" ^alias ~A add line" r7 u" H4 b1 H% c. ?5 L- z& E
funckey + subclass -+
3 H- S% ^1 Z5 `funckey - subclass --
: D% B. d+ w9 |! E. ~# K, [, c
3 S7 p( ?# x! o+ [3 p#--------------------------------------------------------------------
3 r1 D% |7 k" Q: T# OTHER ALIASES 0 ]8 r) @1 Q9 F* e, N. h% j* d8 T
alias edps padedit- [5 \) ]+ s. Z1 \
alias rps "replace padstack") h% Y& I& Z! G9 y3 ^% j. t0 i
alias unplrp report unplaced- J. ~& ]% _; f* C+ y# Q
alias x pick4 V- @+ U# j7 w1 B$ d
alias y pick l9 {; h5 c" w6 O" ~
alias ix ipick
6 \4 J0 X% R: W% X' f E! N* halias iy ipick 0/ q1 e f" F. R; [9 S
alias reopen 'open -q $module' h5 D5 `, r \/ G% Q
alias revert 'open -q $module'4 w( E, E: w4 }, R: W! n# A k
4 N4 A) Z7 M7 A; \ B( P# autoroam
8 Y% |- I1 @3 R q' b2 Y- yalias sar set pcb_autoroam% w6 i" r- Q6 k% K: w; f+ w: \: M- m
alias uar unset pcb_autoroam6 Y* ^% N# X# R v. M
& P) |/ _6 t8 T4 V
alias bubset 'settoggle shove_mode Off "Hug preferred" "Shove preferred"; options bubble_space $shove_mode'
: d1 V5 T/ Y" N) ], F5 Lalias ~B bubset" w9 X2 r# u3 m& C0 D, I/ j
alias smoothset 'settoggle smooth_mode Off Minimal Full; options smooth_level $smooth_mode'
" p( y0 e# O' v9 b/ ualias ~C smoothset
6 a) e8 p- H* p' s2 Q" C) t% Q
8 B4 _. ~( o% I. o' ~) T; ^4 g# i5 Q' p" Q0 d
#--------------------------------------------------------------------
' E- A& J$ H% H J: F8 r# COMMAND DEFAULTS0 i' O% P. A5 x! ^
# allow slide to work on arcs by default
7 h2 T# W0 x' Nset slide_arcs! s; U9 o9 x- x7 G
F6 W6 e, k/ V, T2 r
# Compatibility aliases
. k+ M; ?! [* l! \( g7 X' talias window zoom9 q$ m5 q" l2 a9 p7 v6 M
alias hilite hilight
1 k; j9 p% D5 ?4 Y1 E6 t; j' u5 qalias dehilite dehilight
n: |# T9 G0 N& ?; falias pickx pick
7 z7 I) B0 Y* U$ X4 ^: c- i8 Malias picky pick l5 d9 ^1 V2 B+ ?, p: e/ E- H
alias ipickx ipick
0 f' T0 M( L$ {1 U7 Aalias ipicky ipick 0
$ X5 x# }& ^' aalias cdnshelp cdsdoc
: d0 ^! a6 m7 s& K3 K0 w
3 ?4 `- Z( k: U2 }% T#--------------------------------------------------------------------
\( J4 S6 q) V. P$ S( _# MOUSE WHEEL SUPPORT
( U6 k! f) k) s3 v1 j# Environment Variables - Note quote variables so they are evaluated* N9 O, l" E, |3 ]5 ~9 |& X. h) A" E
# at button time not when this file is read.6 L4 a1 Y% o0 K0 i; y- H' J
# - _wheelcnt variable is set based upon number of detents wheel moved
( v+ ?8 P: C' q: p# range is -4 to 4 (no 0)# }' A; e3 _2 n7 v
# - sx1 and sy1 are cursor coordinates when wheel is moved' f0 i3 l7 ]6 {, A
#
v1 d% v0 ]: f' w# Button values
* I( Y6 t: O9 X1 P6 p& p# wheel_up: when wheel is moved up
9 d; N- y! ]5 i T9 ~$ R& c* f/ g# wheel_down: when wheel is moved down2 d2 V- U$ U; D- |$ E1 S, @0 a
# wheel: up/down if either of above 2 buttons are not assigned7 y% J8 Y+ v3 C! F
# 2 T) z! s0 V" H, H% d2 }" ?
# Keyboard modifiers (note we are case insensitive)& Q' S; w- y5 [7 d
# S - shift key' c9 ]" U! |0 v
# C - control key8 Z+ G" }+ t+ o( n
# SC - shift and control
# c1 E* t/ w: S" I, I; W/ k# Example: SCwheel - for wheel button assignment with both shift & control keys4 q! v0 R2 u$ F: U. A& W
#
: k; u# A% T5 U- n
@: ^0 p$ s4 E/ c9 X& A# }# Button factor may be factorion (e.g. 0.5)
# }3 o! k, s/ Qset buttonfactor = 1
0 {1 y1 \! V& a" l$ d% z1 }/ z8 i0 L$ u* O' P& r. x6 j7 h$ \
button wheel_up "zoom in $buttonfactor"
- ?9 r& A0 m! A7 N) s7 `button wheel_down "zoom out $buttonfactor"
3 Z* T* N" O" L' |- Pbutton Cwheel_up "zoom in $buttonfactor"# s7 b+ _( Y0 o# c
button Cwheel_down "zoom out $buttonfactor"
7 \& C* n; b1 h8 u
0 p# `# _$ e' o1 U" Q6 }source -q $ALLEGRO_SITE/site.env7 a, E9 J! J1 U& C' y" w! V; @
) ]6 t. P% Q0 J
### User Preferences section
" `* R V0 j! v+ U( u; _### This section is computer generated.0 r5 x% e ^1 A! X7 V7 e
### Please do not modify to the end of the file.& n y/ q; f+ E
### Place your hand edits above this section.* i: r4 @" a3 I, c! E
###
4 d: v$ W. M9 E, g- h- zset display_nohilitefont/ Z# J1 ~5 U2 {8 \
set padpath = .! @/ H5 N! T5 V: L% H
set psmpath = .2 e* I' }. T* }5 |
set devpath = .
4 b6 O X5 V0 z1 C4 W( ^unset allegro_etch_length_on
+ e5 i" ]0 M' j' ?8 S. Xset allegro_dynam_timing = on
' \/ L) ~) l& k4 R( k4 T* jset autosave_time = 105 T7 Z0 y* y* ]. r3 l
set autosave4 q, l2 X1 W6 z1 n% z6 l
set pcb_cursor = cross
# H) X6 T5 m, a5 j: K% m8 Tset logic_edit_enabled/ x# o7 l% s; {* `
#) [0 w+ K4 N6 D3 J& m
# ALLEGRO GLOBAL Environment file
) a: A. i' V: @ H: T7 z+ n#
: [+ v* k. h4 b K& `' \6 g& C( }& h7 W7 B! Z
# The following variables are set by the software if not preset by user:2 h, S& i: _0 r. s
# CDS_SITE, ALLEGRO_SITE, TELENV, ALLEGRO_INSTALL_DIR,
3 U3 `0 _9 x& ]. {5 e+ N# ALLEGRO_INSTALL_TOOLS, ALLEGRO_INSTALL_ROOT, ALLEGRO_TYPE,
+ F! v9 V! T m$ o% c# __UNIX (if UNIX), _PROGRAM, HOME
0 E& L+ f0 e8 g8 |: @ j#1 u% G( f" }- @6 S
# You may set the Operating System variable:0 ~6 U7 X( F/ T1 F9 V1 }
# ALLEGRO_PCBENV <alternative directory>
" ^% u2 c; u5 G$ g. `: G) B4 Q# to overwrite the default of the user's pcbenv directory. This variable$ a" i2 }% O% y+ K) Z6 L( L
# must be set at the OS level and has no effect if set in an Allegro env file.1 J5 u4 B1 E! K" u+ a' V
# The directory given must exist. If no directory is found the system will$ o2 Q+ x1 `! _) _5 Y# y7 e
# fallback to its default location.
5 M) Y$ t) q) }8 k+ w#
4 U& T: T8 S6 I1 t$ m F# The following variables are preset at startup, direct settings in env) c0 a+ b0 E8 |# ?' r4 e$ @. {7 g' S& C
# files will be overridden: u) T) E* z4 m3 n _, p* x
# LOCALENV: seeded based upon <HOME>/pcbenv (or if set ALLEGRO_PCBENV)
/ l9 f, }; l+ K+ K' ?# LOCALPATH: seeded based upon . LOCALENV, ALLEGRO_SITE, GLOBALPATH+ p3 M9 m/ U% v
# Variable names are case insensitive
9 F5 M. f5 Y. ~ o/ V9 ?- {1 [: d# ^9 K
#--------------------------------------------------------------------
4 O, Q' U( y0 \# System Variables
; v2 S9 }3 l4 \% [# V) Pset GLOBAL = $ALLEGRO_INSTALL_DIR/text$ A6 f) P2 t# i% P' v+ |2 g& U
6 u8 T5 \# C* X. K+ o' L4 a, v
# change from LIBPATH because it conflicts with IBM's shared library
" X) ?9 K" L7 [6 n& B! y# environment variable
" C! i, a' F/ Cset ALIBPATH = $ALLEGRO_INSTALL_DIR/pcb_lib" w* `& J8 g, i
! l+ y0 V0 n2 ]9 h
set COMPLIBPATH = $ALLEGRO_INSTALL_DIR/allegrolib
8 @( D7 W% q1 d- Z5 k
' K1 U/ y, `" }3 a$ [) }- F9 M& Tset GLOBALPATH = . $GLOBAL
- y$ g0 N6 J2 _+ ?( Q1 n) C) Q0 N" p, s
# Allegro Data Services Variable
5 L7 h. s: Y- ]/ }5 Sset ADSPATH = $GLOBALPATH
( O3 v5 }- G8 o0 o/ E- `0 d8 d3 V
- P$ L$ v8 J! L" i# Present for compatiblity with older versions of Allegro. `- \# |- C& u# |5 o: w) h
ifnvar ALLEGRO_SITE "set ALLEGRO_SITE ."
' K M! J7 ?- L2 i) U1 hifnvar CDSPLAT "set CDSPLAT "5 d, S5 P: V. ?; q
ifnvar ALLEGRO_INSTALL_DLL "set ALLEGRO_INSTALL_DLL "
* J8 b3 a% {2 D$ R
" ~; X% _& F# e+ e# m% C#--------------------------------------------------------------------% N( e4 U, m$ f- `4 U! m: x/ H
# Configuration variables (Don't change)
* [/ d9 E: v: s6 Q, V+ Tset BMPPATH = . $ALLEGRO_SITE/icons $GLOBAL/icons $ALLEGRO_INSTALL_ROOT/share/fsp/legends $ALLEGRO_INSTALL_ROOT/tools/fsp/legends' e# p C, _6 O& k" [# \. ~2 S
set FORMPATH = . $ALLEGRO_SITE/forms $GLOBAL/forms! o, z6 ?+ z$ ?' u
set MENUPATH = . $ALLEGRO_SITE/menus $GLOBAL/cuimenus( p( x* w5 O% N, O5 ?' `6 \6 ?
! {% a) z9 G7 y. X( b- `set MATERIALPATH = . $LOCALENV $ALLEGRO_SITE $GLOBAL $GLOBAL/materials Z' Z4 P/ H% P0 b+ {. p- o# s
set CAPATH = . $LOCALENV $ALLEGRO_SITE $ALLEGRO_INSTALL_DIR/channelanalysis
: k$ H3 ^' q% ?, T+ }; Oset AMIMODELPATH = . $LOCALENV $ALLEGRO_SITE/ami/$CDSPLAT $ALLEGRO_INSTALL_DIR/channelanalysis/ami/toolkit/dll/$CDSPLAT9 G& t5 F# n" T8 ]6 ?" h
7 O' J/ A' X# W: M( J0 O7 L; ^- ?
#Configuration paths
' D; O3 _8 H+ c$ E. K7 I& ~set PRFEDITPATH = . $LOCALENV/configure/prfedit $ALLEGRO_SITE/configure/prfedit $ALLEGRO_INSTALL_DIR/configure/prfedit: q/ {# v2 b6 }, O
set BATCHHELPPATH = . $ALLEGRO_INSTALL_DIR/batchhelp
U7 Z- {& R! s9 A) |" Dset SPROUTEPATH = $ALLEGRO_INSTALL_DIR/configure/sproute! E& f3 g9 @0 }/ I4 J
' n$ F$ m; T- m0 b* Mset HELPPATH = . $ALLEGRO_INSTALL_DIR/help $GLOBAL/help4 Y- N( Q6 w# W) D4 x- Q
set PDFPATH = . $ALLEGRO_INSTALL_DIR/help/pdf
/ U5 n# \- @% T% {6 S! [3 E; ~* ]$ K/ D- i( b) z' J' _
# Graphics demo env1 d, O# {8 V$ n1 w3 b
set IMAGEPATH = . $ALLEGRO_INSTALL_DIR/examples/image
5 G& |$ l) z3 S* z; M$ M5 z$ v y7 |% v+ L( N; C$ F
# Allegro Plugin search path7 t( E# ?- {; T$ F# Y
set AXLPLUGINPATH = . $LOCALENV/$CDSPLAT $ALLEGRO_SITE/$CDSPLAT $ALLEGRO_INSTALL_DLL2 d3 @0 y' A7 r4 B/ h! ?6 |- u. j* d
^5 s# f! M8 A9 ~6 F
# Library path for Interfaces. P% W% ^4 V7 y9 ^% _
set INTERFACEPATH = $ALLEGRO_INSTALL_ROOT/share/library/interface' E" s9 N& f3 P! y# S
9 s0 ~( C3 o2 |8 ?8 S
#--------------------------------------------------------------------7 z+ L# ^* Q5 {; l% `2 S- n9 n
# Drawing font: R, O4 X# \% V6 n. g6 b" f! m
set VECTORFONTPATH = . $GLOBAL
! s3 S* T) D- ]) p: {' G7 {set ANSIFONT = ansifont
7 f6 `. ]% l+ mset KANJIFONTPATH = . $GLOBAL/fonts/kanji" r0 T, m- ]- S1 ?
set KANJIFONT1 = kanjifont1$ z6 n3 E% s. _- m" R
set KANJIFONT2 = kanjifont2
$ d* k, {! K- M/ C) @5 w f% a* ?* s- U4 `5 @6 k1 K; ^
#--------------------------------------------------------------------3 a; @& d. m3 Z8 Z) A; c1 G* a
# Display Variables0 ]6 l4 P9 L" I- Y
+ r6 \' j3 C! \1 D- c! _! }# b
set display_backingstore on5 e: T: ?: K6 t5 V. }
+ ~+ J- P( {/ `( B) V. ^
# disable repair under ratsnests
1 h% {2 _, F+ q* j) W% M. Tset display_shapefill_analysis 1
\( S# N. \6 ?4 C8 E. [
/ S5 o* [1 q* B3 Q- l+ q- ~0 {# disable HTML datatips by default; Q( l% n0 w4 u
set disable_html_datatip_style) D( ]- W' r) X
. P6 d; J3 F" `( h# enable html as default for long message windows: _' X. ~; l* O7 S- q8 H
set allegro_html
6 E2 d% ?; W4 e8 i+ p$ D4 s# o
- J. j4 k1 T" x' s- O% ^#--------------------------------------------------------------------0 A5 p7 a, |' q/ \( E
#--------------------------------------------------------------------( M. x( @4 E- X8 e% k j
set compalib = $ALIBPATH/symbols $COMPLIBPATH/symbols: s9 g# F* G) U2 |1 {; w( I- m
set topfilelib = $ALIBPATH/templates $COMPLIBPATH/templates, F3 T% ?+ S q! g
set signal_install_dir = $ALLEGRO_INSTALL_DIR/signal
1 Y7 b- P* n" N- P7 b$ ]set signal_optlib_dir = $signal_install_dir/optlib
+ i+ V% B/ I) O
0 o* M. T5 {& |; a: F
! P( q- ]" j6 ?2 \9 Mset MODULEPATH = . $ALLEGRO_SITE/modules
; |& Y; d: p4 R; g: Cset TILEPATH = . $ALLEGRO_SITE/modules
7 b4 i' o) J* L) y# V. D1 Bset WBPATH = . $ALLEGRO_SITE/wbtiers
P4 v% H" }3 Nset PADPATH = . symbols .. ../symbols $ALLEGRO_SITE/padstacks $compalib
. h6 K$ K6 p: _- M4 q! _set PSMPATH = . symbols .. ../symbols $ALLEGRO_SITE/symbols $compalib
6 n/ ?( X" g" n. Z% E# iset pcell_lib_path = $ALLEGRO_SITE/../../rfsip/sip_pcells . sip_pcells .. ../sip_pcells $ALLEGRO_INSTALL_DIR/../rfsip/sip_pcells
7 L2 p- D l, l; b0 Cset TECHPATH = . $ALLEGRO_SITE/tech $GLOBAL/tech0 H5 o( h: @2 M% @( T# l: i
set PARAMPATH = . $ALLEGRO_SITE/parameter
! ?9 X; a# {+ R1 q0 bset TOPOLOGY_TEMPLATE_PATH = . templates .. ../templates $ALLEGRO_SITE/topology $topfilelib
( J8 v: [' i) @3 t6 r# q3 }: ~% d* ~: U) u2 _( s* p
# SigNoise data installation directory
2 x+ T7 ]! i: Q/ v) ~, |+ @set SIGNOISEPATH = . $LOCALENV $ALLEGRO_SITE/signal $signal_install_dir $signal_optlib_dir $GLOBAL
, P% W+ ^# \6 y8 S0 C
" ^' |8 G1 }$ x/ M4 w# SigNoise model variables.2 C+ m$ G' \! q( o( t
set SI_MODEL_PATH = . $ALLEGRO_SITE/signal $signal_install_dir3 k" X3 j/ f, W# W$ V0 K
set SI_MODEL_FILE_EXT = Generic_IBIS(ibs) IBIS_Buffer(buf) IBIS_EBD(ebd) IBIS_ICM(icm) IBIS_Pin_List(pin) IBIS_Package(pkg) Quad(mod) Generic_SPICE(spc) HSpice_Input(sp) HSpice_Output(lis) Spectre(spc) Touchstone(s?p,s??p,ts) DML(ndx,dml) Interconnect(iml) ABIML(abiml): `$ P; E. a: I+ @
4 R' J: ^/ B: `. L8 c7 l#-------------------------------------------------------------------- c' O8 a/ f6 n& g) J
# Non-HDL Supported Design Search Path Variables+ x6 T; u3 J( ]0 E& O2 {! L0 P
set MISCPATH = . $ALLEGRO_SITE/misc $GLOBAL
. U) s4 R6 o' {+ r! j4 c% o$ p; D1 ^6 dset ARTPATH = . .. $ALLEGRO_SITE5 L7 S7 L5 Q# x) v0 x
set APTPATH = . .. $ALLEGRO_SITE
2 h9 I) s8 G/ K3 dset CLIPPATH = .
: ~6 C; v: t7 z0 H5 oset DCLPATH = . .. $ALIBPATH $COMPLIBPATH
9 d9 F" C8 o2 oset DEVPATH = . devices .. ../devices $ALLEGRO_SITE/devices $ALIBPATH/devices $COMPLIBPATH/devices
. y6 a: P. m5 Y6 d( Pset DFAAUDITPATH = . $ALLEGRO_SITE/assembly $ALLEGRO_INSTALL_DIR/assembly9 u+ N( _- z& X, E
set DFACNSPATH = . dfa .. ../dfa $ALLEGRO_SITE/dfa
* j" ^- D4 u, R% p4 s) T! ^set NCDPATH = . .. $ALLEGRO_SITE/nclegend $GLOBAL/nclegend% F4 M- F5 ~6 U+ e8 X7 Q) c# F
set SCRIPTPATH = . $ALLEGRO_SITE/scripts $GLOBAL/script
6 C3 m: j; l9 e& b+ N8 c) z1 M- u* Nset TEXTPATH = . $ALLEGRO_SITE/extracta $GLOBAL/views
' B2 b2 M3 W3 @ v( H3 x1 p# sset VIEWPATH = . $ALLEGRO_SITE/views
3 F. C8 |/ m# s2 qset XTALK_TABLE_PATH = . xtalk_tables .. ../xtalk_tables $ALLEGRO_SITE/xtalk $ALIBPATH/xtalk_tables7 `+ x( k% @% {# D
set WIZARD_TEMPLATE_PATH = $ALLEGRO_SITE/new_templates $ALLEGRO_INSTALL_DIR/pcb_lib/symbols/template 7 v5 X- D3 C& w
set LDFPATH = .6 r( u. o+ G7 M* E8 ~! C( N
set infinite_cursor_bug_nt
: K$ ]: o# j3 U- q
. I8 e& L( z& z: s% v! @# System Configuration .scf file search path
( r, _2 D* \7 o3 V+ i' e7 gset SCFPATH = . scfs .. ../scfs
, X/ l0 n7 P- \: ^. ]: \; Z! q, P5 ~& B, X* N* \! g/ X
# Display the headsup meter in a fixed position in the control panel.! m4 t: g) [ m$ F U
set allegro_dynam_timing_fixedpos$ s$ J `8 R. a \8 G; ?, E1 u
+ [0 V% W. Y" j( Y: P# For IC Packaging tools (APD and SiP tools), the following defaults the
8 m' Y# W8 b3 j# q# HUD for the wirebond tools to updating 25 times per second.
. U+ b' q( Z/ `9 W
" a0 q1 P* ?" K" g% Tset wirebond_hud_update_frequency 25/ \9 R. K' O1 V9 l
# By default, suppress bond wire DRCs that are 3D in nature but being7 e; e0 ~- n l+ ]8 V# I
# checked in 2D. By default, the APD/SiP tools will only report wire
8 q! b& Y2 A- P0 ^8 o4 A4 b# violations if they occur over top of the end item (finger or pin) and
B$ J5 A) x3 v, h% K1 O) ?# the two wires are on different nets.& H/ u0 D8 I0 u5 ]8 R
set wirebond_suppress_bondwire_drcs9 @, [" f$ J* u" ?! U, h
% q! ], M( Y7 U+ A8 A; V' k$ M
# enable license caching for better toolswap performance
* ]: W5 S2 s) C2 r8 h) K, o8 pset allegro_license_caching2 r8 _& Y1 m c9 G$ j2 r
, a# L( [- ]. K8 [" l# M
#--------------------------------------------------------------------( { J! c v, Y; E( L
#--------------------------------------------------------------------
' d% J. H0 P9 M# T! ^; ?+ \# alias
. r' Q7 a' m: m( b. b5 ^! d# May use function keys F2-F12, most Alpha-numberic keys with control
3 t9 n g5 |1 D0 A# N0 D7 t# modifier (although Control - C, V and X are reserved for copy, paste and cut)( i4 I4 T! | |3 e' o; ^: ^
# and Navigation Keys (Home, Up arrow, Esc, etc.) These items may be modifed) z6 `; p% l8 W9 Z8 c
# by the following:
4 r6 j' R) H" g# Modifier Indicator Example" m' c9 x9 m ]" c2 R# j% J
# Shift S SF2 7 V; H9 {8 L5 }" j
# Control C (function keys) CF2
5 c. g* S9 q( S. K% [3 R5 z) h# Control ~ (alpha-numeric) ~N6 Q% H4 Y9 Q f- t: G) f7 R
# Meta A AF2. ], c2 r$ r" ]4 _) _3 b9 h J& x) g
# Modifiers may be combined. Some examples:
& S# A8 i6 P5 ]9 n1 X# CSF2 Control-Shift F2
G/ O" n. S5 P3 ?# ASF2 Meta-Shift F29 ^4 _ D. H$ g, d& @: `
# CAF2 Control-Meta F24 [- D/ l) C$ t5 l. x' S& g X
# CASF2 Control-Meta-Shift F2
5 s6 Y+ b& ~+ q9 H# ~SZ Control-Shift Z$ P( @$ a" B* \/ x% X. M
# SUp Shift-Up Arrow
# I; U% Q$ c+ b$ V4 O9 }6 D" M# CUp Control-Up Arrow
0 E5 v( r4 s( ^: s1 j' N/ k#4 q- w8 C3 i1 R( n$ e
# funckey
6 G* v7 `. K+ I. y# g" f# use the funckey when you wish to have alphanumeric keys operate) V+ a- k8 r1 N: h9 U
# like the Function keys when the cursor is in the Allegro canvas.
4 d8 f1 O$ V+ P" X+ E6 V1 |8 i# 2 t4 e4 m- |! d& |: j
# Example -- following starts the move command without a Enter key
- m) N3 c n3 l) {, K# funckey m move$ R7 H- {. [1 r# D
& |+ }* Z. D; S; ]! `! `#--------------------------------------------------------------------
4 t9 }3 R# ^( S# Bind roam operations to function keys
4 j. y: x- m6 ]; xset roamInc = 96
8 u% H/ z; s1 }" D2 ~- N* k+ h: N5 I0 Y& f5 N% w3 o: I1 r+ c
# Bind incremental pick by grid unit functions to ctrl and shift--arrow keys
& A% h, m+ q' e% {9 }alias CUp "ipick 0; ipick_to_gridunit 0 +1"
1 C! J! b1 l' r" D; _alias CDown "ipick 0; ipick_to_gridunit 0 -1", R) w1 l4 X! T' J
alias CLeft "ipick 0; ipick_to_gridunit -1"8 N% B1 z! B# U" t+ x
alias CRight "ipick 0; ipick_to_gridunit +1"
: I2 x9 S& `3 ]. S" jalias SUp "move; ipick_to_gridunit 0 +1"1 V) P1 t X& `1 s2 {
alias SDown "move; ipick_to_gridunit 0 -1". l- z6 D$ y4 D- s% q4 H1 n
alias SLeft "move; ipick_to_gridunit -1"
7 T: R! ?8 K6 C' k2 @alias SRight "move; ipick_to_gridunit +1"8 U9 j8 o6 x3 {! y+ ?1 g1 c
! A5 B/ }. w& c/ ?! K0 h' t; f1 C' w# example of a funckey to emulate Layout capability' ~9 u) a" I$ X0 s$ T, |
# The "-cursor" option can be added to any Allegro command with the pick familty
' a' q' j8 P6 I6 c, M# and we utilize the position under the cursor when the command is execute. So" h$ ~$ ~3 L7 ?2 H
# this example would center the display to position under the cursor when the 'c' key" W# s6 K, W0 [$ [. f
# is pressed.
# |- B0 E N& H+ \( G( C- M# funckey c "zoom center; pick -cursor"
3 ]: i7 X: X& _3 L0 D
, X9 N; u) {9 ~. B2 O/ c" {#--------------------------------------------------------------------
- {; S7 u' G* u+ _3 a# F1 is normally reserved by the system for Help so we don't use it; p6 Z6 }! K. B2 v6 v; Z
alias F2 zoom fit/ v+ U; g+ ]( K$ z. f, T. O; U
alias F3 add connect2 v) [* O w$ T& K" e
alias F4 show element
: D: V5 C" H% C& X" ^alias F5 redraw
' U, N) V3 W; V x4 N1 zalias F6 done; ]* N4 F1 e, s H4 {% q0 A% ~$ }
alias F7 next
8 p7 l# u( D8 i+ X! e0 Qalias F8 oops9 Z( V0 x3 y9 L7 k; o/ V' T
alias F9 cancel
% X0 G9 s* w3 _0 Ialias F10 grid toggle
5 r4 u4 R# Q# F* c0 B% O0 ealias F11 zoom in
% z7 ~' j- U& c6 [! ?' Valias F12 zoom out
5 h( s/ @! w: {" h! o0 Q; yalias SF2 property edit' \1 b8 a( T5 ?9 o" f _5 N% T
alias SF3 slide
9 D0 d3 I; W6 ~+ Yalias SF4 show measure1 Q# {3 q3 c6 m$ }- B
alias SF5 copy
, T" b5 Q; p5 j: M/ B: Zalias SF6 move
3 B1 Z$ q# R) a3 A* Walias SF7 dehilight all2 z7 z4 C2 y7 p( e
alias SF8 hilight pick
9 O' U. r2 U( q" L: ^ \, s, u0 [alias SF9 vertex
/ V. j% [. ?) x# dalias SF10 save_as temp
+ \& p4 _( |/ ?7 ?9 ualias SF11 zoom previous
) ], v9 [/ L2 b9 k* Oalias SF12 zoom world' w0 ^" E1 Y4 i+ G. Z" q
alias CF2 next
+ O0 b! H: |! J& I( Yalias CF5 color192
/ v- B( m6 N, f6 t. }. h3 |alias CF6 layer priority, ~) ^8 @ w6 l* w V
alias CSF5 status
" I Q4 F i6 x8 _: m; Q7 @5 U/ I# U/ |; i4 r/ Z7 s
0 b# f! H+ X5 d7 x# P
funckey 1 zoom in1 [3 W( u- ~" s+ Y& ] p
funckey 2 zoom out
# I6 Y3 e- d5 H1 s8 Pfunckey 3 "prepopup;pop dyn_option_select 'Snap pick to@:@Segment Vertex'"
- f4 ^# X( K$ e; s! |6 c: Dfunckey 4 "prepopup;pop dyn_option_select 'Snap pick to@:@Pin'" ( f6 ^3 u# }- a9 |5 i( e( F
funckey 5 "prepopup;pop dyn_option_select 'Snap pick to@:@Via'" 1 b% {. x! _" v8 f9 A6 y7 A, O
funckey 6 "prepopup;pop dyn_option_select 'Snap pick to@:@Arc/Circle Center'"
* H. W5 a4 |2 z3 Ifunckey 7 show measure
& F& l0 Q4 a) z/ a" W+ h7 gfunckey 8 show element
$ q c0 S5 s6 g) a! D6 ^funckey 9 replay grid5.scr$ y7 [0 p" `. x# O
funckey 0 replay grid1.scr" R7 x/ H$ x- q/ p
3 [, @ x+ v# t1 R/ Ifunckey q slide
; i, d; c/ ^- J* l& Bfunckey w create fanout
5 K* s. c* [ q' Zfunckey e done% u; |5 @+ ]+ t2 z
funckey ' ' angle 90
0 f9 |. i. i8 b vfunckey t move
" }% }# ]4 _& [/ S5 I. g$ Xfunckey r rotate% t; _0 ^. C+ Z* o( u+ @
funckey o oops0 l' e {" y- p# V& r5 V
funckey [ cmgr: d, ], \% ^2 _- N7 B* S2 `
f* a- j# Y9 C7 p7 Z- t- ?+ k0 m
funckey a add connect
0 X/ m3 @! E, h5 h6 zfunckey s shape add
% V, B5 T. F9 {1 \) Sfunckey d delete
* Z V' W6 _6 }% x/ T& o Dfunckey f shape edit boundary. X3 }0 S/ l3 @+ T
funckey g delay tune
5 _0 h# _% ?9 A# n3 b3 F, M4 bfunckey h assign color7 r% Y( v3 r) l
funckey k dehilight( ~) T1 y/ }& o. T- T* V
funckey l net schedule* U. }! p- F/ z, Z8 m( ]
; M. C$ I; w! F6 P/ c9 L# Kfunckey z toggle
( K r$ { E$ P! Gfunckey c change
7 r" o2 m9 C o, n+ O/ ^funckey v shape select * b% Q0 g! |, ]- J' m, t' [, b/ p
funckey b spread between voids
i" m7 [1 m! i6 O" y4 q' B- Sfunckey n copy # N f9 A& y& w: w# F, p
funckey m mirror 9 Y; i9 h- H! Y) C
funckey , rats net
: o5 q1 _8 I Tfunckey . unrats net
% N/ f: b) ^/ B* S4 ^funckey / swap components
) Z% u+ \# w6 d2 s4 ^# n8 }# Ffunckey + subclass -+5 r' Y8 J' ^3 F2 \% o+ }+ I1 k( o
funckey - subclass --$ |5 e7 d$ I# ?: b
8 k% [6 w" ] B6 m9 Y+ ?! P" dfunckey j spin
. H* O1 l) p/ o5 l( H; Kfunckey u unrats all4 v t0 C; e! H+ I
funckey U rats all9 R; R3 k8 B& f8 p- d
funckey Y rats component
) o0 f( R( b [7 Jfunckey p angle 45% X' a$ Z- n6 A# @4 y/ M
7 j) K( T9 T& f
funckey Right ix 1, o1 U- k. l, h& L
funckey Left ix -1; Q& `& J) P. x; ?
funckey Up iy 1
& K# v" g" S: R- Z, ? mfunckey Down iy -1
. N0 \$ ~6 Z! z' M2 d- q/ n3 r9 Q( B0 `
alias ~N new
- N- m4 U) o" R! z Calias ~O open9 o2 }4 f+ \: u" w. R1 p
alias ~S save
& {* T7 X/ E5 @+ Q5 [6 f% t5 O/ falias ~D delete
3 ?9 B) A: I- M& a) y: Valias ~Z undo
$ u" e' ]4 V S% ?& M2 |% lalias ~A add line
4 H: Z( q# J7 wfunckey + subclass -+! n5 _+ W2 d7 I5 Q1 W
funckey - subclass --5 Q! u4 V& ?+ C% z& q% @
}1 d8 O9 T3 ~( F3 H
#--------------------------------------------------------------------
5 E7 t1 S# c* c# OTHER ALIASES
( m3 a, g# X' s& calias edps padedit
# [1 {9 X$ V1 l0 @- valias rps "replace padstack") m$ u* V& I* ?. g! E
alias unplrp report unplaced
$ R6 A# _4 N- o; y& F- ~- s* A! Walias x pick2 h5 B3 p+ ^( z# J' y% z& o
alias y pick l# |4 J J+ e& E# t2 S4 c$ l' M
alias ix ipick
, j# [1 v% v- dalias iy ipick 0
( d8 b/ i# N* t' r- falias reopen 'open -q $module', d9 c: H7 H$ y" {1 d
alias revert 'open -q $module'5 d9 R- S9 j' _. z- h8 D
, e# `5 H/ G5 c, ]
# autoroam
) Z6 @* d( D) ]0 S8 ^( jalias sar set pcb_autoroam
1 A; w! X0 c, S, l1 `# nalias uar unset pcb_autoroam
5 t/ e x) d/ b7 s2 X# I8 ^/ n5 C2 k6 u
alias bubset 'settoggle shove_mode Off "Hug preferred" "Shove preferred"; options bubble_space $shove_mode'2 R! J3 V9 r5 E7 [: U& B. a7 M( i
alias ~B bubset
: @; o/ t) @- K3 r: @alias smoothset 'settoggle smooth_mode Off Minimal Full; options smooth_level $smooth_mode'3 R8 n, F+ f- e
alias ~C smoothset+ @" g9 S2 c: a
K0 c% A& W6 B) s G1 m; v" t
( k2 q5 I! S2 Z; m% [; R! D#--------------------------------------------------------------------
% y$ C. i; Z" D% ^& C/ Q, [# COMMAND DEFAULTS9 H" j e0 H/ @$ Z0 u
# allow slide to work on arcs by default
+ `" ?8 v0 |' }9 E7 w/ \set slide_arcs& X) F! z5 X* J" T
- q; y r* k" m3 H# Compatibility aliases
' {" K+ A) y$ j+ y6 d# Calias window zoom
3 g9 d4 D% d7 ^+ ?alias hilite hilight
* R3 |( I+ Y. P- f0 galias dehilite dehilight+ C( x( V5 H2 o
alias pickx pick
2 U& Y0 P2 `& [9 G) Falias picky pick l
7 Y2 b$ L/ i8 m8 Q) ]( O9 \alias ipickx ipick
6 R6 u6 L4 K. X9 i" Ealias ipicky ipick 0
# u# i ^) p3 balias cdnshelp cdsdoc2 ?( r$ H- W' U2 L7 `
3 O+ g) h8 j( o9 f9 | z/ F1 l' ]#--------------------------------------------------------------------
! E/ V% I- |9 G# MOUSE WHEEL SUPPORT
8 ?! _" b$ K3 ?: a/ K# Environment Variables - Note quote variables so they are evaluated
7 Q! k. e9 _/ D8 w# at button time not when this file is read., u, t9 V2 r) f6 _" Z5 N
# - _wheelcnt variable is set based upon number of detents wheel moved& _1 O3 o$ X5 b1 H8 o& c' y! [
# range is -4 to 4 (no 0)
# C) U1 r" ^2 i- D# - sx1 and sy1 are cursor coordinates when wheel is moved
" g% c* T8 e* d7 J3 {#
9 ~- L6 j$ T9 S2 ]5 X5 M* O# Button values5 k9 Z4 ^2 [- q0 w1 V$ W9 D6 m
# wheel_up: when wheel is moved up- u/ ]* s& Q9 G$ r; e+ b; m
# wheel_down: when wheel is moved down5 J3 \) y: f1 `9 A7 @7 O
# wheel: up/down if either of above 2 buttons are not assigned7 E6 w& [4 E+ }( ^7 v( P7 P
#
2 }% n( n, K7 w4 U# Keyboard modifiers (note we are case insensitive)( G, ~ W) O* T# z% \7 b5 g
# S - shift key
" c, s# b0 M8 m3 G9 D# C - control key4 }" T5 K& m, ^" t) I" }
# SC - shift and control* }- l+ j! Y7 G- e% n; L
# Example: SCwheel - for wheel button assignment with both shift & control keys
$ t, s/ ]) U: N5 A$ N#. T" Z; v' d( m- t) v: U r9 `
6 e" K0 r# W! l- d7 I+ |% Z
# Button factor may be factorion (e.g. 0.5)9 |) b) W: R. g
set buttonfactor = 1
: F1 Z6 B: }! T, ~/ `% P; \- u/ X* K' B# J' A+ I
button wheel_up "zoom in $buttonfactor"
3 ?2 @1 G9 O+ u# d3 W! C- M- lbutton wheel_down "zoom out $buttonfactor"
. P2 H& K7 Q! o6 ]' N. obutton Cwheel_up "zoom in $buttonfactor": `4 u( s" p0 C! d" Z; ^
button Cwheel_down "zoom out $buttonfactor"! N- f7 J. ]/ C) z8 M
" W/ A1 D$ P' H$ a, o) |2 K
source -q $ALLEGRO_SITE/site.env
1 U. F2 ]3 L+ W1 C1 o+ I- r4 ]7 l7 d6 l; S4 F* T- L' n) o0 H( D1 }; v; Q
### User Preferences section& \( O( a5 _7 Q6 a5 ]. D
### This section is computer generated.
2 }/ f. |4 T3 d6 L+ p### Please do not modify to the end of the file.
_- { \1 ^' i! ?* o M7 R; `7 m### Place your hand edits above this section.& L) H; u) C: W
###, \! a+ r2 f* p0 i" f3 m; y
set display_nohilitefont7 f7 A: i4 j8 X" s' Z9 A
set padpath = .% w1 M% r X& X2 M% Y8 g8 P
set psmpath = .
1 e7 c& D% _) a5 ]1 D' H" Q: ^set devpath = .. l7 ~ t6 d! _. L# W
unset allegro_etch_length_on
9 N$ \ }" N# ^. w+ Q- } I0 }9 zset allegro_dynam_timing = on
0 b, M+ B& u, G3 g$ Rset autosave_time = 10
J+ e0 p$ K% g- A# d9 Bset autosave! j D' a; I, T5 H" R
set pcb_cursor = cross
0 M9 Y" ^+ b/ _& p) J lset logic_edit_enabled
8 n T8 x. a$ H5 k
+ F1 l( n M, X1 l8 j#
, Q% b; {0 i8 w& y4 j# ALLEGRO GLOBAL Environment file4 c2 }3 I6 R1 t" n4 J: m
#* T, }2 J) @1 u$ O/ U: M/ [/ S
- }6 M+ y, K' O* r# x: P2 N# The following variables are set by the software if not preset by user:
& {5 w8 b+ b: v7 M2 |# CDS_SITE, ALLEGRO_SITE, TELENV, ALLEGRO_INSTALL_DIR,
! U/ H ~ i9 ?# ALLEGRO_INSTALL_TOOLS, ALLEGRO_INSTALL_ROOT, ALLEGRO_TYPE,
* s, {) d4 S E9 Y" C9 y# __UNIX (if UNIX), _PROGRAM, HOME' Y- F& k* M$ u i! t+ h! V7 w
#
+ Q2 C* R2 t* @% p6 O" c# You may set the Operating System variable:
% Q$ V, g& l0 g# ALLEGRO_PCBENV <alternative directory>
0 D, L. w) u3 m# ?- m3 {: P4 L2 C4 r# to overwrite the default of the user's pcbenv directory. This variable
/ l2 F, h7 {2 E7 ]# n% J. F# must be set at the OS level and has no effect if set in an Allegro env file.
9 g+ _1 {! r2 g$ |# The directory given must exist. If no directory is found the system will9 l% \: v/ G/ X. E
# fallback to its default location.
! C' j' w: H) D9 B0 ~#
, `" }( i% b0 x* Y# The following variables are preset at startup, direct settings in env
% h9 O- Q) s {: F3 Y4 h$ k1 h# files will be overridden( i, g) y7 O7 y1 I# `( K2 q& E
# LOCALENV: seeded based upon <HOME>/pcbenv (or if set ALLEGRO_PCBENV)
3 B- t' F5 I7 e0 X0 @( x# LOCALPATH: seeded based upon . LOCALENV, ALLEGRO_SITE, GLOBALPATH
" ~ M# E6 x0 X) i3 ^0 s s. N! I# k# Variable names are case insensitive9 V1 v G' A- n- z: x/ u% z+ f
* k4 z- e# p2 R/ K* ^#--------------------------------------------------------------------
) ]/ A5 ^+ a$ `4 h% c# System Variables6 C& @" G; v& C0 V% z" _ T7 r
set GLOBAL = $ALLEGRO_INSTALL_DIR/text0 t# J2 w1 Z9 }# s" B
6 P2 J4 A) [" P# B1 ~1 a( B# change from LIBPATH because it conflicts with IBM's shared library
* X0 _0 |* o- U7 d+ c) ]6 |; N# environment variable
) Q" l7 v0 ?4 M W0 v* Nset ALIBPATH = $ALLEGRO_INSTALL_DIR/pcb_lib4 X# F9 x/ w9 B
2 {" N: T8 f3 w- i- w
set COMPLIBPATH = $ALLEGRO_INSTALL_DIR/allegrolib$ z4 x- X' [% I
' b3 {% J# x/ v7 U) w
set GLOBALPATH = . $GLOBAL/ j- ?' B- v9 B( F
3 I8 F$ ^% w3 s2 O3 v3 M; _# Allegro Data Services Variable
% [5 ~% Q: v- {4 Cset ADSPATH = $GLOBALPATH8 {" u0 H/ ]4 n# B) I
( W# M5 M# |8 p8 w; h
# Present for compatiblity with older versions of Allegro.. ]* _; L" g# w# a H9 ~3 ?" \
ifnvar ALLEGRO_SITE "set ALLEGRO_SITE ."
, L c* J' x! _0 A6 e/ Kifnvar CDSPLAT "set CDSPLAT "
C+ f: `9 }1 Oifnvar ALLEGRO_INSTALL_DLL "set ALLEGRO_INSTALL_DLL "
; {: ]7 j, Q. c! }2 `! g3 y! a: C# ?$ V9 U; r; b+ k0 ~9 s6 [
#--------------------------------------------------------------------9 e0 B! w# V* e9 s9 h! q! r
# Configuration variables (Don't change)
" W2 b% P1 H, r* [set BMPPATH = . $ALLEGRO_SITE/icons $GLOBAL/icons $ALLEGRO_INSTALL_ROOT/share/fsp/legends $ALLEGRO_INSTALL_ROOT/tools/fsp/legends
, G, |/ f" A8 Hset FORMPATH = . $ALLEGRO_SITE/forms $GLOBAL/forms
3 T; z6 M l/ P3 G- hset MENUPATH = . $ALLEGRO_SITE/menus $GLOBAL/cuimenus
& s. o. G- u- P4 T3 t/ ?$ q7 ?) z: [/ U2 j9 s- [: ^& _- p
set MATERIALPATH = . $LOCALENV $ALLEGRO_SITE $GLOBAL $GLOBAL/materials! U8 K: f" W) q
set CAPATH = . $LOCALENV $ALLEGRO_SITE $ALLEGRO_INSTALL_DIR/channelanalysis
) y- s; F$ M6 hset AMIMODELPATH = . $LOCALENV $ALLEGRO_SITE/ami/$CDSPLAT $ALLEGRO_INSTALL_DIR/channelanalysis/ami/toolkit/dll/$CDSPLAT
# N: u5 `- d0 V* _0 d* t
' N% I1 W9 Y" ~) f0 v#Configuration paths
! _. _- J- H7 \set PRFEDITPATH = . $LOCALENV/configure/prfedit $ALLEGRO_SITE/configure/prfedit $ALLEGRO_INSTALL_DIR/configure/prfedit+ Z% d) M$ P' b; p3 u3 U1 I( O
set BATCHHELPPATH = . $ALLEGRO_INSTALL_DIR/batchhelp
& l5 }; B( _+ h1 Jset SPROUTEPATH = $ALLEGRO_INSTALL_DIR/configure/sproute
1 e9 l6 U) n" ]" D2 [4 _/ f4 S/ D5 X L. N n
set HELPPATH = . $ALLEGRO_INSTALL_DIR/help $GLOBAL/help
! j. j; O3 p! v5 N6 q( q( M, }set PDFPATH = . $ALLEGRO_INSTALL_DIR/help/pdf
* J6 e6 m5 q/ z w g
4 H0 m* k% r9 g0 Y+ N, m# k( U# Graphics demo env: i+ v: P, x1 b1 s' ?
set IMAGEPATH = . $ALLEGRO_INSTALL_DIR/examples/image3 S0 l$ `/ Y* h: d% n
2 v# L1 S& ^& w( `: C9 a, C/ }# Allegro Plugin search path) W" N" c- o9 s! J& B' Q4 L
set AXLPLUGINPATH = . $LOCALENV/$CDSPLAT $ALLEGRO_SITE/$CDSPLAT $ALLEGRO_INSTALL_DLL
& Y& n) ]* y2 b" w" s- ]- R: J! ~- D8 B: U* Z
# Library path for Interfaces1 `* f- a1 g' {8 S4 j' Q
set INTERFACEPATH = $ALLEGRO_INSTALL_ROOT/share/library/interface. l. P' M0 a& F% \7 @( t3 I
) `, o# S' k+ ^' i6 q. X# o; K#--------------------------------------------------------------------- k: o3 o1 o: e" u% M
# Drawing font
+ t% o$ f. c# \% C1 ~set VECTORFONTPATH = . $GLOBAL9 s; O! V. f9 D9 @( @+ Z* `
set ANSIFONT = ansifont
2 |0 X& p) ?2 w/ Q6 \set KANJIFONTPATH = . $GLOBAL/fonts/kanji6 A% N6 {( I( @4 S# ] [8 M
set KANJIFONT1 = kanjifont1
7 C+ E* J! s8 @' Z& f- ~set KANJIFONT2 = kanjifont2+ e: I% q6 `2 }
: _# k: b# S$ E T#--------------------------------------------------------------------* w0 e `; U3 |$ u1 J" f
# Display Variables- f% G/ w3 |/ X
6 w+ o. a, O- Z [$ k- m/ x: o1 hset display_backingstore on0 X9 {+ X$ B9 j: F% n6 c0 t
b# S/ @( Y! ^; `$ {& e# disable repair under ratsnests
; y+ B3 R; N0 Wset display_shapefill_analysis 11 l' o. H* l2 C
* B }! @/ Z) x" V" W% f# disable HTML datatips by default5 v! @# `, ]7 `. B
set disable_html_datatip_style1 S7 u; a" ]% q8 Q0 b
% n3 b9 e; C" }0 X, M# enable html as default for long message windows
3 f4 O( w: Y# y Wset allegro_html
5 `" B# D) Z$ v, p8 |. D5 @! w9 b. l, i* e
#--------------------------------------------------------------------2 u! M% [4 _, m5 k& u' I
#--------------------------------------------------------------------8 a" v, F' x# ?- P5 B
set compalib = $ALIBPATH/symbols $COMPLIBPATH/symbols
% k6 B9 D8 |. H" T; o' o& nset topfilelib = $ALIBPATH/templates $COMPLIBPATH/templates
8 D! g& B$ M V! g2 z- mset signal_install_dir = $ALLEGRO_INSTALL_DIR/signal f/ j' F2 b% E- Q
set signal_optlib_dir = $signal_install_dir/optlib9 u3 E3 @$ M# \) I- K
9 r" d' Y5 F- ?/ ^2 O5 O* F
$ c$ Z% T; Z: e9 `# g0 W3 k n8 J
set MODULEPATH = . $ALLEGRO_SITE/modules) F- R" Q2 O( O% i
set TILEPATH = . $ALLEGRO_SITE/modules
6 W- M+ C7 G, @* ~ |set WBPATH = . $ALLEGRO_SITE/wbtiers
& X+ {* s7 I1 v' |$ [/ Eset PADPATH = . symbols .. ../symbols $ALLEGRO_SITE/padstacks $compalib# ?) F( G. {8 R
set PSMPATH = . symbols .. ../symbols $ALLEGRO_SITE/symbols $compalib
* ^5 Y. C b3 B8 b0 u! m4 Oset pcell_lib_path = $ALLEGRO_SITE/../../rfsip/sip_pcells . sip_pcells .. ../sip_pcells $ALLEGRO_INSTALL_DIR/../rfsip/sip_pcells : F' G; C/ ^ L ?8 S. w& ~. C
set TECHPATH = . $ALLEGRO_SITE/tech $GLOBAL/tech' P- ?( H$ w5 B4 a
set PARAMPATH = . $ALLEGRO_SITE/parameter w* }1 l* q3 I0 K; ]
set TOPOLOGY_TEMPLATE_PATH = . templates .. ../templates $ALLEGRO_SITE/topology $topfilelib# |1 g7 T' d2 N: j; i& o0 i
8 \+ A; ~7 l1 o# SigNoise data installation directory X+ r( i6 R+ D& S! v, d1 z
set SIGNOISEPATH = . $LOCALENV $ALLEGRO_SITE/signal $signal_install_dir $signal_optlib_dir $GLOBAL d* F! l* A7 Z6 @6 z
8 S& v0 S2 E+ A5 w! Y
# SigNoise model variables.) J6 x, ?$ }% J% {
set SI_MODEL_PATH = . $ALLEGRO_SITE/signal $signal_install_dir: x/ \& j5 q7 \) W, o
set SI_MODEL_FILE_EXT = Generic_IBIS(ibs) IBIS_Buffer(buf) IBIS_EBD(ebd) IBIS_ICM(icm) IBIS_Pin_List(pin) IBIS_Package(pkg) Quad(mod) Generic_SPICE(spc) HSpice_Input(sp) HSpice_Output(lis) Spectre(spc) Touchstone(s?p,s??p,ts) DML(ndx,dml) Interconnect(iml) ABIML(abiml)6 V' g$ I3 M( L6 L0 A! w- I- N
5 @1 d! L5 Z3 S
#--------------------------------------------------------------------
s( D! Q' `- y% G# Non-HDL Supported Design Search Path Variables
! `! i- d7 H/ }* ^6 S/ Zset MISCPATH = . $ALLEGRO_SITE/misc $GLOBAL+ k2 k, I6 Q$ D3 c& T
set ARTPATH = . .. $ALLEGRO_SITE
; h6 ~! s% r. U5 K( X7 t+ |/ Iset APTPATH = . .. $ALLEGRO_SITE
% V2 P+ D [1 q$ t% `0 tset CLIPPATH = .
! O2 ^% d7 T4 K4 ]- n Pset DCLPATH = . .. $ALIBPATH $COMPLIBPATH$ q n1 O& K$ u0 r
set DEVPATH = . devices .. ../devices $ALLEGRO_SITE/devices $ALIBPATH/devices $COMPLIBPATH/devices% b$ Y+ R2 A0 o) F: K, [, y
set DFAAUDITPATH = . $ALLEGRO_SITE/assembly $ALLEGRO_INSTALL_DIR/assembly4 A5 t( i9 D Y" W
set DFACNSPATH = . dfa .. ../dfa $ALLEGRO_SITE/dfa
' S" q+ u w6 ^4 E, dset NCDPATH = . .. $ALLEGRO_SITE/nclegend $GLOBAL/nclegend) Q7 i0 X `6 \- h7 P$ x# q
set SCRIPTPATH = . $ALLEGRO_SITE/scripts $GLOBAL/script, W I; U+ y6 [. e
set TEXTPATH = . $ALLEGRO_SITE/extracta $GLOBAL/views/ r1 Z+ F# }& u6 W
set VIEWPATH = . $ALLEGRO_SITE/views
$ t8 T2 Q' }# Q6 `" @" ^) rset XTALK_TABLE_PATH = . xtalk_tables .. ../xtalk_tables $ALLEGRO_SITE/xtalk $ALIBPATH/xtalk_tables
2 I# _4 t* S% Y u) P) Xset WIZARD_TEMPLATE_PATH = $ALLEGRO_SITE/new_templates $ALLEGRO_INSTALL_DIR/pcb_lib/symbols/template * E3 U( r# o- G
set LDFPATH = .
3 o3 A0 N% _2 R$ Q+ l8 o8 E5 fset infinite_cursor_bug_nt
; b* n. M/ S% {( z
( U+ ~8 X" f+ E- ]7 f* X# System Configuration .scf file search path0 ]$ \5 Y' d O; l+ n1 S. Q8 ]2 c% ]
set SCFPATH = . scfs .. ../scfs ) K `& z2 p7 E* ?' B
/ P' N+ P1 }$ k2 S+ B
# Display the headsup meter in a fixed position in the control panel.0 I0 p5 k4 b. w' o8 ^9 I# y
set allegro_dynam_timing_fixedpos7 B/ p% k8 D/ N, y) m+ v2 a
) g- ?7 t" T- o7 F# n# For IC Packaging tools (APD and SiP tools), the following defaults the+ e" s! V! F& f) d2 b. _
# HUD for the wirebond tools to updating 25 times per second. , E$ i* a7 F+ p
$ R2 X. _1 M" Hset wirebond_hud_update_frequency 25
1 n) o/ F- j3 W3 k. }# By default, suppress bond wire DRCs that are 3D in nature but being& x* u) n: S) \ B- W
# checked in 2D. By default, the APD/SiP tools will only report wire
- t' l6 C& g3 N: {1 p' x# violations if they occur over top of the end item (finger or pin) and
, e) w7 Q- q* m! M: }$ Q# the two wires are on different nets.
& D- B+ r& }' s, `1 Bset wirebond_suppress_bondwire_drcs& ]. _. \' D( F
/ z( A2 g& o; r, D8 }
# enable license caching for better toolswap performance- q! x4 s" {8 G A( e( I7 f
set allegro_license_caching
) h+ v; P0 B! N* s( g4 n+ |7 R8 N# A! i
/ M$ N; v+ x; c* \#--------------------------------------------------------------------
2 |. Q9 G) W' a7 ~#--------------------------------------------------------------------3 H" B6 s4 s' f% }
# alias
; J7 K' q' L6 b6 h% @2 \& E( @# May use function keys F2-F12, most Alpha-numberic keys with control
5 a& f1 Y/ G" ]& {# modifier (although Control - C, V and X are reserved for copy, paste and cut)
$ D2 ]0 p, T8 U- Z3 |6 p# and Navigation Keys (Home, Up arrow, Esc, etc.) These items may be modifed
$ _+ x* O8 j: @0 ]# by the following:
5 W/ o/ U6 y3 P/ Q. C1 O8 s# Modifier Indicator Example
, b( k/ t X' X! z6 S1 z8 P# Shift S SF2 % ^, o: [4 U9 t$ I Z
# Control C (function keys) CF20 ?- n6 Z6 {% ^& ~! S8 f% c# W# Q
# Control ~ (alpha-numeric) ~N
5 E* S, e; b$ n4 O G' T# Meta A AF2- G5 G/ N6 s, J d: f, g1 s
# Modifiers may be combined. Some examples:
' J2 |! B) c/ D) s, \# CSF2 Control-Shift F2( T+ p5 V/ O- r& T' M( E2 Z/ z% E
# ASF2 Meta-Shift F2
+ N; o' n% r6 f0 t# CAF2 Control-Meta F2
. b1 U; \, n- A) D- f3 V& F9 Z# CASF2 Control-Meta-Shift F2
0 T( @0 U* b9 L# ~SZ Control-Shift Z
) [* N- R: x. B: s' t/ S( b- u4 S# SUp Shift-Up Arrow6 u+ |; Q0 r& [1 t/ X- H7 M
# CUp Control-Up Arrow
. T+ q+ \+ R3 m% c/ w! V#( q r' L4 o* T
# funckey
( `4 b. x& ]) z/ ^! y# use the funckey when you wish to have alphanumeric keys operate) ?# J- m0 R, U& x! {
# like the Function keys when the cursor is in the Allegro canvas.
& @# [4 P1 Z7 U" o$ e5 o: \1 S3 T#
2 R2 C2 ~& r0 A6 r/ z; |- S n# Example -- following starts the move command without a Enter key* f [" `6 T& e: L
# funckey m move
3 J/ M) G8 T$ `! F+ J3 ~- f
W$ j0 Z4 W6 T: s#--------------------------------------------------------------------+ d0 a! E4 s7 s7 p I7 l: g
# Bind roam operations to function keys
# K( l2 q5 F c( \0 `7 }set roamInc = 96) o2 h& {: q+ U+ v+ A" v- K
( T& t) _) P2 [
# Bind incremental pick by grid unit functions to ctrl and shift--arrow keys . E5 G8 c T/ ^
alias CUp "ipick 0; ipick_to_gridunit 0 +1"
% D0 X3 p; y5 w; m2 ealias CDown "ipick 0; ipick_to_gridunit 0 -1"
M- x; \* t. `" {) W9 ?0 D' Oalias CLeft "ipick 0; ipick_to_gridunit -1"
2 v. R; W6 Y7 m. Z4 F6 O* j2 kalias CRight "ipick 0; ipick_to_gridunit +1"8 X7 h1 z) b( g6 a1 j- J& R
alias SUp "move; ipick_to_gridunit 0 +1"- J/ w: G! P* ^# Z% x; m
alias SDown "move; ipick_to_gridunit 0 -1"3 D% W# ~& r c- G; w/ u
alias SLeft "move; ipick_to_gridunit -1"
?8 ?4 W" |+ C7 ialias SRight "move; ipick_to_gridunit +1"
6 q5 v9 Q5 S& \2 r1 I: w; V: ]* T3 L1 o9 S
# example of a funckey to emulate Layout capability
6 N3 e( m7 [3 V U0 z' h# The "-cursor" option can be added to any Allegro command with the pick familty+ s, j. k/ p. r& p
# and we utilize the position under the cursor when the command is execute. So
6 f% C# @# j+ [# y# this example would center the display to position under the cursor when the 'c' key( ~ s' @1 M* S( p* D# u1 _+ B
# is pressed.
1 K, ]1 K$ }1 ] J! }: e# funckey c "zoom center; pick -cursor"
2 i9 h" N# f! E/ c
, I& B+ f$ E& T- Q, J- L4 {, N#--------------------------------------------------------------------$ J( ]8 { n& `, [2 T
# F1 is normally reserved by the system for Help so we don't use it
3 F* j9 L7 R& B% r0 b; o S/ v" x4 Salias F2 zoom fit
( ^ e2 U9 G0 E9 p$ `; ualias F3 add connect
# o- {3 L$ j. {" a! P! lalias F4 show element) W' }: E' S9 I
alias F5 redraw7 b- Y& {$ M; q4 F
alias F6 done9 Y3 z1 s ~5 M' A+ R8 Z
alias F7 next3 V; D6 f% u% s$ s) B
alias F8 oops' ?2 V2 J. h$ ~4 c( v J* I
alias F9 cancel5 Q0 Z. X. P. o
alias F10 grid toggle" i& e0 F/ L e N A. s
alias F11 zoom in; }1 ]; K4 J( W* e0 ?9 n
alias F12 zoom out' v0 ^! u: J% a4 t1 n8 n# k
alias SF2 property edit( f: p$ F, l4 e& |; W
alias SF3 slide
+ p$ f% u: r/ salias SF4 show measure0 |4 i6 w! q% u- h
alias SF5 copy
1 P. y' E& u6 g$ H/ Calias SF6 move
7 @1 _8 G' W' X1 l+ C$ F' o4 ealias SF7 dehilight all
5 t0 c9 @% H! o4 \3 j' J L0 p* xalias SF8 hilight pick
3 u0 T, A. ]3 o2 ~, |9 Z9 }alias SF9 vertex
, X; H3 B$ U! J; X$ ralias SF10 save_as temp6 D4 v$ E$ j* V5 ]
alias SF11 zoom previous
$ O5 [+ P) |7 s: S# q3 halias SF12 zoom world
3 X# `6 P9 x3 w5 y/ V4 u: F) Dalias CF2 next
& q9 R, x, T+ p! Y$ ^5 {- salias CF5 color192
4 B+ v, T5 e% Y& \" {" r0 K0 {; Kalias CF6 layer priority
/ ?3 \ O, r( _% |! s. Y$ lalias CSF5 status1 ^9 l1 J5 c, q4 m8 j
3 r) T# S+ m6 h# e& s5 A6 c
+ W& t- j7 C- [% B1 d0 {
funckey 1 zoom in+ D6 h1 C3 V, k7 v
funckey 2 zoom out
% g6 Z' c. a% G5 Wfunckey 3 "prepopup;pop dyn_option_select 'Snap pick to@:@Segment Vertex'" 0 D6 ^& a3 R" q4 `/ _$ f4 ~
funckey 4 "prepopup;pop dyn_option_select 'Snap pick to@:@Pin'" 4 Y- j) X, A' O% v Z, ~( |
funckey 5 "prepopup;pop dyn_option_select 'Snap pick to@:@Via'"
/ S* B& G$ i& H+ p. g% ^funckey 6 "prepopup;pop dyn_option_select 'Snap pick to@:@Arc/Circle Center'"# S* ]2 J9 @& ~8 y! L: D0 O
funckey 7 show measure
7 g5 s9 y7 Z6 c& o" Sfunckey 8 show element
/ p, r% g( k3 E6 ?4 I: mfunckey 9 replay grid5.scr
" t6 A; C! t% k7 xfunckey 0 replay grid1.scr0 R5 D6 Z" B1 [2 M
" Q$ e" O: L7 J# ifunckey q slide _; l% g; U' C8 L0 c# O2 t4 }
funckey w create fanout6 G" _ F2 J9 B. j& r0 i& P- Y
funckey e done
6 n O& b; `9 e9 } Mfunckey ' ' angle 90$ v! t2 y! A- C& F
funckey t move
9 t3 A) p7 t- i7 wfunckey r rotate# l8 \+ r* J; Z# m% ^
funckey o oops
# ` y E4 u9 y' {. X) s, D pfunckey [ cmgr; X. t1 R. j' f. `7 H# s
5 E z. X% Q8 r& B
funckey a add connect
# |0 C6 |& e& c) [9 X; r2 [funckey s shape add
& I2 L& h! @1 h! h5 ofunckey d delete8 d7 @3 \9 f! K
funckey f shape edit boundary" v' I; E8 I+ p
funckey g delay tune
5 n# [3 o- ^5 _) K8 X4 g1 G; _. Vfunckey h assign color
1 R/ D" u' r* d# l9 yfunckey k dehilight, \/ O! P# D2 z* N, x: A
funckey l net schedule
( t! M$ i/ b5 n) @5 L2 N2 m j
% h! C6 w3 Y0 X, H+ C4 b1 ufunckey z toggle. ?2 _) C: t! M# i& U
funckey c change ' O! `) l* x0 S# C; h2 E
funckey v shape select 4 [ p) }, t5 m- ]
funckey b spread between voids
) W& y0 ]4 \5 _& N( S' e3 v% lfunckey n copy / H# M' ~ g3 S+ l* O7 {2 y
funckey m mirror 8 C0 y2 f/ V. G: z! \9 `
funckey , rats net
" E* p4 H# m+ a, L$ m9 ~5 ufunckey . unrats net ; i y) K1 B# k% N: M# w/ d
funckey / swap components ! l, T/ S1 K4 w, I% l
funckey + subclass -+5 b$ S t; X* l9 u, ?( a; ]+ H
funckey - subclass --: a# M5 D( B. z% I
% T0 X1 U' n5 w* a9 pfunckey j spin
/ ^6 v/ p$ k. n6 L' _4 ]funckey u unrats all8 F9 c/ s- s7 B
funckey U rats all
4 r/ E% m; M9 o: j# p( Xfunckey Y rats component; g3 F) ^3 x/ G4 r& p& O4 M
funckey p angle 45
1 A/ n; Z0 ~$ y9 L3 ]
, B+ m& H/ ?! x; d( M/ dfunckey Right ix 14 w5 ]# X/ o& y- [- s) b7 C& k
funckey Left ix -1
8 y) c: }' M% S+ ifunckey Up iy 1
7 W6 p- s4 Q. R O8 L! Tfunckey Down iy -1
& K4 Z2 M2 a: V7 b4 W8 N4 N/ A, X4 n9 _1 ?( ]. j1 ~' i- G$ o
alias ~N new0 D9 Z" `/ i" b
alias ~O open/ p, ]* X; U; o4 B' N/ U
alias ~S save- T2 M$ w$ w- w; t- z
alias ~D delete
" x# z: f7 W- S& }3 _2 lalias ~Z undo
+ {7 \; _) e* d& r) r2 X9 c1 ialias ~A add line5 Z& b3 ~" x0 P* z4 o
funckey + subclass -+4 A7 a5 d9 R8 ^; ^+ ~2 ^# ?
funckey - subclass --3 w% o; `/ z. s U4 }: F2 z
6 J. x F6 m5 I% y# L1 |
#--------------------------------------------------------------------
$ t( v* J# T5 D! X6 n# OTHER ALIASES
( d8 h' P' m3 Salias edps padedit
: I) ~7 |' m( Y5 Ealias rps "replace padstack"% q/ C7 t1 C& t9 U1 d2 j7 v
alias unplrp report unplaced0 x# r3 ~5 K8 R% U* [% n9 n1 q6 Z
alias x pick4 X0 S! v+ P5 J+ b. U9 A
alias y pick l
. x2 F& b" M4 K9 r/ T$ Zalias ix ipick
, I7 r+ E! d& W+ ualias iy ipick 0
0 b6 U& Q8 D, f5 v4 h- c% w8 Falias reopen 'open -q $module'
, G7 u1 j" h1 h' Z& p2 Talias revert 'open -q $module'" {8 L( G( t* _& p& w) ^- {
0 d) a* p7 e: ~' f5 l1 {
# autoroam
, R F: c0 l- E# y- Qalias sar set pcb_autoroam
& r- q5 N7 C( C% G8 ~; {alias uar unset pcb_autoroam5 t, _0 m [* e- _% b9 z
9 |9 W- n H ~8 \2 Balias bubset 'settoggle shove_mode Off "Hug preferred" "Shove preferred"; options bubble_space $shove_mode'3 t4 g1 ]) n' x7 f
alias ~B bubset( s0 c' x2 _# I- X2 o7 s- ^( U
alias smoothset 'settoggle smooth_mode Off Minimal Full; options smooth_level $smooth_mode'
2 h: d; @1 X$ N6 i' xalias ~C smoothset
& x; r. o# Z2 ^9 ?4 v
, q4 _8 F+ P' ~
' u$ S: v% L* Y3 L" L#--------------------------------------------------------------------3 S V6 P. h2 v ^ i4 \- y
# COMMAND DEFAULTS
# v- e- E$ J7 k5 I# allow slide to work on arcs by default
6 Y) m% s5 x& _* j) tset slide_arcs& @9 H7 M7 h/ f/ ~
/ B8 K: `. ~" ?. G# Compatibility aliases$ _4 O0 d) ?- n: ?; @( F" u! s! q
alias window zoom
* e. g6 ?2 B$ h* `8 j7 \alias hilite hilight8 ~/ m8 v* ]3 m g& r/ k- S
alias dehilite dehilight3 q* P! y1 n0 ]/ P; C
alias pickx pick
3 U2 _0 t/ z M6 R! u/ v: Palias picky pick l
$ p9 U5 c1 @3 b0 oalias ipickx ipick+ E) l& G1 F! c6 i( M- }
alias ipicky ipick 0
# T' G' k4 \% n. C8 t" y3 q) @alias cdnshelp cdsdoc* c9 f& D1 D; w1 ~) N. D
7 w3 |! s( A# j, f$ N$ C' `#--------------------------------------------------------------------2 a# q' Y2 I |/ l
# MOUSE WHEEL SUPPORT
; k# b# _4 B1 E8 F, ` @& r# Environment Variables - Note quote variables so they are evaluated
& R* u3 e: `5 I6 j0 F5 a# at button time not when this file is read.+ k& z4 B7 A; V# H+ n
# - _wheelcnt variable is set based upon number of detents wheel moved0 Z1 [) V; b* w. ?8 x
# range is -4 to 4 (no 0)/ R$ Z. ~& N: p o6 F
# - sx1 and sy1 are cursor coordinates when wheel is moved; [/ Q* J) g+ w7 R8 U$ W
#
" r$ a C3 n) }8 _: i# s# Button values. ]8 _$ a R1 e$ Q. v5 j3 N2 B# `
# wheel_up: when wheel is moved up
7 Y9 @+ j* Y, b0 Y7 y6 `# wheel_down: when wheel is moved down( K u2 `6 K! d q3 t0 k# P' C! V
# wheel: up/down if either of above 2 buttons are not assigned
8 w- H5 Y' T5 I1 N3 s) x( r, i& U#
: R1 w v# l* O% J5 A# Keyboard modifiers (note we are case insensitive)
; E9 ]; W1 f# p1 n" k: M# S - shift key
! C9 f* F6 A1 ~0 X# D# C - control key
0 y: f: f; W, j- V4 J' a- O: }2 C# SC - shift and control
6 g/ m- t5 p5 t9 t1 g* E/ q3 E# Example: SCwheel - for wheel button assignment with both shift & control keys6 G) q& I$ O3 F- r* D9 x
#- E* t. H4 i( C. _" `
1 t$ c& T: l: r* ]4 t* e: [ W) G& M# Button factor may be factorion (e.g. 0.5)
/ ^9 ?$ \& f2 `2 `3 ?3 E! Bset buttonfactor = 1
& ^+ X" ] j2 R$ b
$ p3 L' _0 {# V0 ?: s; J1 Nbutton wheel_up "zoom in $buttonfactor"
) h s) _0 U& h8 |8 ^& a. rbutton wheel_down "zoom out $buttonfactor"
( [% s5 P6 O0 _8 y) a( X% k) Tbutton Cwheel_up "zoom in $buttonfactor"% x. V; x1 \# O
button Cwheel_down "zoom out $buttonfactor"
1 g9 k% w) G* u( N! B4 }( I4 B* |; N( t( C1 p% w4 u5 S
source -q $ALLEGRO_SITE/site.env
i" `8 f/ d2 K& S* v/ n
# A6 \6 O0 P; m9 G# }. l$ C* X### User Preferences section8 \% C" h' U8 s' x# T7 e
### This section is computer generated.
_) l; k! y1 H6 _3 w/ [4 V### Please do not modify to the end of the file.
2 i: K H* E2 E& M5 e+ m$ B$ L### Place your hand edits above this section.7 ]( M4 D8 d: `; {9 F8 W
###1 b H* j) G8 c/ j
set display_nohilitefont
' f7 z9 P# O# O/ G$ f+ c: l& j9 Xset padpath = .
$ t5 I$ g( Q- i- h% x5 d5 ?8 Gset psmpath = .! `, |) N7 x' _4 E: [
set devpath = .+ q6 U2 W4 J$ `/ V- \& w$ Y! x
unset allegro_etch_length_on
9 L! V2 f5 ~6 Pset allegro_dynam_timing = on- i6 f8 P6 s: }: G" l
set autosave_time = 10. D: ~. g* k* c% A# V
set autosave
) {* R, m9 i" M ~2 \3 h2 Oset pcb_cursor = cross6 c+ {6 q# ]8 B5 i
set logic_edit_enabled
; ~8 Q: f: p) C" [5 q; @
: Z: t: a6 l( j
$ c9 ^4 ^+ z6 ^( w
3 i: y4 i% J0 L6 b& g |
|