ABEL - Hamming Code

Posted at 2007/11/17 02:01 // in 전자 공학/HDL // by downright

<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

          * 참고 사이트: http://www.seas.upenn.edu/~ese201/abel/abel_primer.html
크리에이티브 커먼즈 라이센스
Creative Commons License

"HDL" 카테고리의 다른 글

2007/11/17 02:01 2007/11/17 02:01

이 글에는 트랙백을 보낼 수 없습니다

댓글을 남겨주세요.

[로그인][오픈아이디란?]