ABEL – Hamming Code

<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


<컴파일 결과>
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
3785643841.zip
          * 참고 사이트: http://www.seas.upenn.edu/~ese201/abel/abel_primer.html

You may also like...

댓글 남기기