달력

82025  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'EDA/Mentor'에 해당되는 글 3건

  1. 2019.05.02 Coincident Edge
  2. 2019.05.02 Convex Edge
  3. 2019.04.26 Net Area Ratio

Coincident Edge

EDA/Mentor 2019. 5. 2. 12:08

Coincident Edge, Coincident Inside Edge, Coincident Outside Edge는 두번째 layer의 edge와 일치하는 edge를 찾는다. layer1의 corner와 layer2의 edge가 교차하는 경우는 찾지 못한다. 즉 corner가 접하는 경우는 찾지 못 한다.
inside는 interior 방향이 같은 경우이고 outside는 interior 방향이 다른 경우 이다.

 

아래 그림에서 interior방향을 기준으로 보면 이해가 쉬움. 

 

Coincident Edge

< 그림 1 >

 

Coincident Inside Edge

< 그림 2 >

 

Coincident Outside Edge

< 그림 3 >

 

'EDA > Mentor' 카테고리의 다른 글

Convex Edge  (0) 2019.05.02
Net Area Ratio  (0) 2019.04.26
Posted by 이제웃자
|

Convex Edge

EDA/Mentor 2019. 5. 2. 10:23

 

볼록한 끝점의 수, edge의 길이, 인접한 모서리 각도/길이에 따른 edge를 선택한다.

convex edge에서 가장 중요한 개념은 볼록한 끝점(convex endpoint)를 이해 하는 것.

<그림1>에서 주황색 위치가 convex endpoint. 

< 그림 1 >

 

 

아래 예제는 모두 위 <그림1>을 기준으로 설명

 

Basic syntax

endpoint_constraint에는 0, 1, 2만 기술 할 수 있음.

convecx corner의 interior angle은 180도보다 작아야 한다.

interior angle이 180도 보다 크다는 것은 corner가 concave(오목한)라는 의미이다.

 

CONVEX EDGE M2dg == 0

13, 14, 15, 16 edge가 선택 됨

 

CONVEX EDGE M2dg == 1

2, 3, 6, 7, 18, 19, 22, 23 edge가 선택 됨

 

CONVEX EDGE M2dg == 2

1, 4, 5, 8, 9, 10, 11, 12, 17, 20, 21, 24 edge가 선택 됨

 

CONVEX EDGE M2dg == 2 WITH LENGTH == 2.5

선택 된 1, 4, 5, 8, 9, 10, 11, 12, 17, 20, 21, 24 edge중 edge의 length가 2.5인 edge만 선택

 

Detailed syntax

basic syntax에서는 convex endpoint의 각도와 관계없이 endpoint_constraint에 따라 edge를 선택 함. 그러나 detailed syntax에서는 사용자가 원하는 각도로 연결 되어 있는 edge를 선택함. angle은 두개를 지정 해야함.

왜? edge는 항상 두 개의 endpoint를 가지니까. ^^

 

CONVEX EDGE M2dg ANGLE1 == 90 ANGLE2 == 90

1, 4, 5, 8, 9, 10, 11, 12, 20, 24 edge가 선택 됨. 

 

CONVEX EDGE M2dg ANGLE1 >= 90 ANGLE2 == 90

1~8, 9~12, 17, 19, 20, 21, 23, 24 edge가 선택 됨. 

 

위 두 예제의 차이점에서 angle에 대한 이해를 할 수 있음. 

7번 edge를 예로 들면, 7번과 8번 edge의 각도는 90도이고 6번과 7번의 각도는 270도 이다. (참고. convex edge에서 angle을 측정하는 방법은 붙어있는 edge의 안쪽(interior-facing) 즉 shape의 안쪽의 각도를 측정한다).

 

첫번째 예제에서는 abutting edge의 두 개의 angle이 모두 90도 이어야 한다. 그래서 7/8 edge는 조건에 맞지만 6/7은 조건에 맞지 않아 선택 되지 않는 것이다. 

 

두번째 예제에서는 abutting edge의 angle이 한쪽은 90도이고 다른 한쪽은 90도와 같거나 크면 되므로 7/8 edge도 조건에 맞고(==90) 6/7 edge도 조건에 맞다(>=90) .

 

또 다른 예로 18번 edge가 선택 안 된 이유는 붙은 edge의 각도가 모두 90도 보다 크기 때문이다. 만약 18번 edge와 22번 edge를 선택하고 싶으면 다음과 같이 사용하면 된다.

 

CONVEX EDGE M2dg ANGLE1 >= 90 ANGLE2 >= 90

이 예제를 사용하면 1~24번까지 모든 edge가 선택된다.

 

CONVEX EDGE M2dg ANGLE1 == 270 ANGLE2 == 270

13, 14, 15, 16 edge가 선택 됨. 

'EDA > Mentor' 카테고리의 다른 글

Coincident Edge  (0) 2019.05.02
Net Area Ratio  (0) 2019.04.26
Posted by 이제웃자
|

Net Area Ratio

EDA/Mentor 2019. 4. 26. 12:45

connectivity를 가진 layer에 대해서만 동작함. 즉 CONNECT에 입력 layer가 정의 되어 있어야 한다.
분자와 분모 layer의 area ratio통해 원하는 layer를 찾는 일을 수행함.

 

- Antenna check
- Floating layer check

 

NET AREA RATIO L1 D1 == 0
L1 : 분자, D1 : 분모, L1/D1의 값이 0인 L1을 출력. L1과 D1의 연결이 없는 L1 출력

 

NET AREA RATIO L1 L2 D1 == 1
AREA(L1)+AREA(L2) / AREA(D1)의 결과가 1인 경우. 
layer를 연속으로 여러개 사용한 경우 OVER keyword가 없다면 항상 마지막 layer를 분모 layer로 인식. 출력은 L1 layer.

 

NET AREA RATIO L1 OVER D1 D2 == 1
NET AREA RATIO L1 D1 D2 == 1 [AREA(L1) / (AREA(D1)+AREA(D2))]

AREA(L1) / AREA(D1) + AREA(D2)의 결과가 1인 경우. 이 때 D1 layer가 연결 안되어 있어도 L1과 D2의 ratio가 1이면 L1출력한다.

 

NET AREA RATIO L1 L2 L3 == 5 [AREA(L3)]
[AREA(L3)] => expression. expression을 사용하면 사용자가 지정한 방식대로 area ratio를 계산하고 그 결과를 constraint와 비교 한다. L1과 연결 된 L3 layer의 area가 5인 경우에만 L1을 출력

 

< 예제 >

// from mentor
Floating_metal1 {
  // select gate pins
  ngpin = poly INTERACT ngate
  pgpin = poly INTERACT pgate
  // find all metal1 not connected to at
  NET AREA RATIO metal1 ngpin pgpin nsd psd == 0 [COUNT(nsd) + COUNT(psd) + COUNT(ngpin) + COUNT(pgpin) ]
}

An alternate, faster, NET AREA RATIO uses the !!AREA:

NET AREA RATIO metal1 ngpin pgpin nsd psd == 0 [!!AREA(nsd) + !!AREA(psd) + !!AREA(ngpin) + !!AREA(pgpin) ]

'EDA > Mentor' 카테고리의 다른 글

Coincident Edge  (0) 2019.05.02
Convex Edge  (0) 2019.05.02
Posted by 이제웃자
|