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