반응형

SKILL 코드로 Command창에서 명령어를입력하듯이 커맨드를 파싱할 수 있다.

예를들어 CM Rule의 명령어는 "cmgr"이다.

 

하지만 SKILL 코드에서 이를 아래 명령어를 입력하면 열 수 있다.

axlShell(" 명령어 ") 형식을 이용하면 된다.

axlShell("cmgr")

(테스트) 마찬가지로 CM Rule창이 열린다.

 

 

 

명령어 3D를 입력

axlShell("3D")

(결과)

 

 

반응형
반응형

문자열 합치기 함수 (문자열 단순 합치기)

strcat("문자" "문자" 문자" ...)

뒤에 들어오는 모든 문자가 하나로 합쳐진 문자로 출력된다.

 

 

반응형

 

문자열 합치기 응용하기 (문자열이 변수일 때)

 

"my"는 고정되어있고, 뒤에 오는 test변수가 계속 변할 때

sprintf 함수를 사용한다.

 

test변수에 따라 아래와 같은 결과를 얻고싶을 때 (foreach문 응용)

my string

my name

my number ...

 

 

문자열을 구분자(delimeter)와 함께 합쳐주는 함수가 존재한다.

 

반응형
반응형

 

axlGetXSection()

아래 Board의 Cross Section의 속성 값을 추출한다.

Cadence 예시 보드
Cross Section 정보

함수로 추출한 결과 값. 이런식으로 Cross Section정보값들이 추출된다. 필요한 정보를 사용하면 된다.

반응형
반응형

현재 작업중인 설계 파일 단위를 호출

axlDBGetDesignUnits()

 

소수점 1번째 자리일 때

(결과)

소수점 2번째 자리일 때

(결과)

mil단위 소수점 2번째 자리일 때

 

 

 

 

반응형
반응형

 

로그나 리포트 등 어떤 파일을 텍스트파일을 불러와서 유저에게 알리기 위해 띄울 수 있다.

그 함수는 axlUIViewFileCreate() axlUIWClose()를 사용한다.

 

(테스트)

작업공간은 allegro폴더이며, 내부에 netlist.log파일이 있다. (Capture에서 Netlist작업시 자동 생성)

위에 파일을 SKILL로 뛰어볼 것이다.

 

1. 

결과

2. SKILL로 열었던 창, ID를 가지고 종료시키기

 

 

(옵션)

axlUIViewFileCreate() 함수는 아래와 같은 옵션을 갖는다.

    (옵션 예제)

 

 

 

 

 

반응형
반응형

SKILL파일을 읽지 못할 경우, 어디서 로드를 하는지 확인해야 한다.

 

기본적으로 현재 작업 공간에 파일이 있으면 바로 로드가 되지만,

다른 폴더에 저장하여 로드 할때는 해당 경로의 위치를 알아야 한다.

 

이를 확인하는 방법은, command창에 아래와 같이 입력

skill getSkillPath()

아래와 같이 여러 경로들이 잡히는데,

하나씩 확인해보면

첫번째 인자에 "." 되어있음을 알 수 있다. 이는 리눅스와 마찬가지로 "현재경로" 라는 뜻,

그리고 두번째~마지막 인자까지 저러한 경로에있는 모든 SKILL파일을 불러온다는 것이다.

 

내가 새로운 경로를 만들고 세팅하고 싶다면

setSkillPath("경로위치") 해주면 된다.

 

 

(SKILL의 초기화 파일 ilinit 파일 경로에 대해서는 아래 참고)

ansan-survivor.tistory.com/406

 

[Cadence Allegro SKILL] SKILL 초기화 파일, allegro.ilinit 파일 읽는 순서 경로 테스트

allegro.ilinit 파일은 SKILL파일이 Allegro PCB가 맨 처음 실행될 때 먼저 실행되는 파일이다. 그러나 Cadence 가이드 북에는 이 파일이 3단계의 순서를 거쳐서 진행된다고 한다. (중복 실행 가능) 즉 3개의

ansan-survivor.tistory.com

 

반응형
반응형

 

아래와 같이 테스트

결과

 

; ## 기본 연산자 함수 ##

; a+b          =>  plus(a b)
; a-b          =>  minus(a b)
; a/b          =>  quotient(a b)  
; a*b          =>  times(a b)
; a**제곱값    =>  expt(a 제곱값)
; ++a          =>  preincrement(a)
; a++

; ## 비트연산 ##

; &  AND연산
; |  OR연산
; ^  XOR연산
; >> 오른쪽shift
; << 왼쪽shift
; ~  1의 보수

; ## 그외 수학 함수 ##

; 절대값(절댓값)=>  abs(값)
; sin          =>  sin(값 또는 연산)
; arc sine     =>  asin(값 또는 연산)
; cos          =>  cos(값 또는 연산)
; arc cosine   =>  acos(값 또는 연산)
; tan          =>  tan(값 또는 연산)
; arc tangent  =>  atan(값 또는 연산)
; 로그          =>  log(값)
; 루트          =>  sqrt(값)
; e(자연상수)   =>  exp(값)


; ## 기타 판독 함수 (판독 t/nil) ##

; numberp(값) => 숫자인지 판독
; zerop(값)   => 0인지 판독
; onep(값)    => 1인지 판독 (정수, 실수 모두)
; minusp(값)  => 음수인지 판독
; plusp(값)   => 양수인지 판독

; evenp(값)   => 짝수인지 판독
; oddp(값)    => 홀수인지 판독
; fixp(값)    => 정수인지 판독
; floatp(값)  => 실수인지 판독

; nequal(a b) => a와 b가 같은지 판독
; neq(a b)    => a와 b가 다른지 판독

 

반응형
반응형

정수에 관한 조작

결과 : 3

 

 

결과 : t

        nil

 

 

결과 : 41

 

반응형

 

실수에 관한 조작

결과 : 3.0

 

 

결과 : nil

        t

 

 

소수점에 대한 조작

결과 : 1234

 

 

(반올림)

결과 : 1235

        -9877

 

 

(내림)

결과 : -5

         3

 

 

(올림)

결과 : -4

         4

반응형
123456···9

+ Recent posts