<ABL 코드>
module Hamming_Code
title ‘Hamming code converter’
HAMCVT device ‘P22V10’;
” Input pins
I1, I2, I3 pin 2, 3, 4;
” Output pins
D1, D2, D3 pin 23, 22, 21;
P1, P2, P3, P4 pin 20, 19, 18, 17;
T pin 16;
” Constant definition
L,H = 0,1;
M = 0; “even or odd set
equations
D1 = I1;
D2 = I2;
D3 = I3;
P1 = I2 $ I1 $ M; “xor 연산을 통해 1 확인
P2 = I3 $ I1 $ M;
P3 = I3 $ I2 $ M;
T = I1 $ I2 $ I3; “입력 데이터의 even parity를 구하기 위해 사용
P4 = T $ P1 $ P2 $ P3; “T와 패티티 비트에서 even parity를 구함
test_vectors
([I1, I2, I3] -> [D1, D2, D3, P1, P2, P3, P4]) “I1 I2 I3의 해밍코드
[ L, L, L] -> [ L, L, L, L, L, L, L];
[ L, L, H] -> [ L, L, H, L, H, H, H];
[ L, H, L] -> [ L, H, L, H, L, H, H];
[ L, H, H] -> [ L, H, H, H, H, L, L];
[ H, L, L] -> [ H, L, L, H, H, L, H];
[ H, L, H] -> [ H, L, H, H, L, H, L];
[ H, H, L] -> [ H, H, L, L, H, H, L];
[ H, H, H] -> [ H, H, H, L, L, L, H];
end Hamming_Code
3785643841.zip
<컴파일 결과>
FUSEMAP ABEL-PLD(tm) 3.21
Copyright 1983-1990 Data I/O Corp. All Rights Reserved.
module Hamming_Code
_device HAMCVT ‘P22V10’
29 of 132 terms used, 8 vectors included
FUSEMAP complete. Time: 0 seconds
SIMULATE ABEL-PLD(tm) 3.20
Copyright 1983-1990 Data I/O Corp. All Rights Reserved.
module Hamming_Code
_device HAMCVT ‘P22V10’
……..
8 out of 8 vectors passed.
SIMULATE complete. Time: 0 seconds
DOCUMENT ABEL-PLD(tm) 3.20
Copyright 1983-1990 Data I/O Corp. All Rights Reserved.
module Hamming_Code
_device HAMCVT
DOCUMENT complete. Time: 0 seconds
* 참고 사이트: http://www.seas.upenn.edu/~ese201/abel/abel_primer.html