[속성] 다이얼로그를 사용하여 메모리를 사용하는 두 가지 방법 중 하나로 DUT를 할당할 수 있습니다.
중첩 요소가 있는 경우
비중첩 요소가 있는 경우
데이터 형식 BOOL의 모든 요소는 블록 하나에 그룹화되고 비트에 예약된 메모리 영역에 차례대로 할당됩니다.
임의의 ARRAY OF BOOL이 사용되면 간단한 부울 할당이 16비트 워드 어드레스에서 시작됩니다.
ARRAY OF BOOL이 사용되지 않으면 메모리 할당이 부울 구성원의 수에 따라 좌우됩니다.
부울 요소의 수 |
메모리 할당 시작 |
메모리 할당 |
---|---|---|
1 |
임의의 비트 어드레스에서: R0, R1, R2, … |
|
2 |
임의의 짝수 비트 어드레스에서, 예: R0, R2, R4, … |
|
4 |
숫자 경계에서, 예: R0, R4, R8, … |
|
8 |
바이트 경계에서, 예: R0, R8, R10, … |
|
9개 이상 |
워드 어드레스에서, 예: R0, R10, R20, … |
|
3 |
임의의 비트 어드레스에서: R0–R2 : 사용됨 R3, R7: 사용되지 않고 채워짐 |
채워진 구성원들이 있는 DUT(O: 사용할 수 없는 채워진 비트) |
5-7 |
임의의 비트 어드레스에서: R0–R4 : 사용됨 R5–R7: 사용되지 않고 채워짐 |
유저 어드레스가 할당되지 않고 DUT에 3 개 또는 5–7개의 부울 요소가 사용되면 점유된 메모리는 다음 바이트 또는 숫자 경계까지 채워집니다.
이 채워진 부울은 사용할 수 없습니다.
데이터 형식 ARRAY OF BOOL의 모든 요소는 블록 하나에 그룹화되고 비트에 예약된 메모리 영역에 16비트 워드 어드레스부터 시작하여 할당됩니다.
하나 이상의 ARRAY OF BOOL이 사용될 때: 간단한 부울의 메모리 할당 및 각 ARRAY OF BOOL이 워드 어드레스에서 할당됩니다.
워드 영역:
부울 영역:
빈 비트는 DUT에 의해 점유되지 않으며, 이 빈 공간에 맞는 다른 (간단한) 부울 요소에 사용됩니다.
부울 배열을 사용해야 하는 경우 16 단순 부울의 배수를 사용하고 16 부울의 배수와 함께 부울 배열을 사용하는 것이 좋습니다.
모든 요소는 블록 하나에 그룹화되고 16비트 워드에 예약된 메모리 영역에 차례대로 할당됩니다.
메모리 레이아웃의 최적화로 인해 DUT 요소의 부울 어드레스는 DUT 선언 목록에 정의된 순서와 다릅니다.
유저 어드레스로 DUT 하위 요소가 있는 DUT에 액세스할 때는 .csv 내보내기 또는 모니터링 윈도우를 사용하여 메모리 레이아웃을 확인해야 합니다.
BOOL 데이터 형식의 요소가 없는 DUT(DUTwithoutBOOLs):
비중첩 요소가 있는 DUT가 메모리를 사용하는 방법:
16-bit word area |
|
---|---|
DT100 |
wWORD1 |
DT101 |
dwWORD1 |
DT102 |
|
DT103 |
iINT1 |
DT104 |
diDINT1 |
DT105 |
|
DT106 |
wWORD2 |
DT107 |
dwWORD2 |
DT108 |
|
DT109 |
iINT2 |
DT110 |
diDINT2 |
DT111 |
|
DT112 |
rREAL1 |
DT113 |
|
DT114 |
sSTRING1 |
DT115 |
|
DT116 |
|
DT117 |
|
DT118 |
sSTRING2 |
DT119 |
|
DT120 |
|
DT121 |
변수 String1과 String2는 같은 길이어야 하고 선언 끝에 있어야 합니다.
데이터 형식 BOOL의 요소가 있는 DUT DUTwithBOOLs(유저에서 정의된 어드레스 없음):
비중첩 요소가 있는 DUT가 메모리를 사용하는 방법:
Bit area |
16-bit word area |
|||
---|---|---|---|---|
R100 |
bBool1 |
DT100 |
wWORD1 |
|
R101 |
bBool2 |
DT101 |
dwWORD1 |
|
R102 |
bBool3 |
DT102 |
||
R103 |
bBool4 |
DT103 |
iINT1 |
|
DT104 |
diDINT1 |
|||
R110 |
Bools[0] |
DT105 |
||
R111 |
Bools[1] |
DT106 |
wWORD2 |
|
R112 |
Bools[2] |
DT107 |
dwWORD2 |
|
R113 |
Bools[3] |
DT108 |
||
R114 |
Bools[4] |
DT109 |
iINT2 |
|
DT110 |
diDINT2 |
|||
DT111 |
||||
DT112 |
rREAL1 |
|||
DT113 |
||||
DT114 |
sSTRING1 |
|||
DT115 |
||||
DT116 |
||||
DT117 |
변수 STRING1은 선언 끝에 있어야 합니다.
배열이 있는 DUT:
비중첩 요소가 있는 DUT가 메모리를 사용하는 방법:
16-bit word area |
|
---|---|
DT100 |
String1_Max |
DT101 |
String1_Act |
DT102 |
String1_Char12 |
DT103 |
String1_Char34 |
DT104 |
String2_Max |
DT105 |
String2_Act |
DT106 |
String2_Char12 |
DT107 |
String2_Char34 |
DT108 |
String_Parts[1,1] |
... |
... |
DT115 |
String_Parts[2,4] |
DT116 |
String1 |
DT117 |
|
DT118 |
|
DT119 |
|
DT120 |
String2 |
DT121 |
|
DT122 |
|
DT123 |
|
DT124 |
Strings[1] |
DT125 |
|
DT126 |
|
DT127 |
|
DT128 |
Strings[2] |
DT129 |
|
DT130 |
|
DT131 |
변수 String1, String2 및 Strings는 같은 길이어야 하고 선언 끝에 있어야 합니다.