해밍코드


해밍코드를 처음 듣는 사람도 있을 것이고 들어본 사람도 있을 것이다.


나도 공부를 하기전까지는 들어만 봤던 이름이다.


그냥 에러 검사와 오류정정을 도와준다는 정도만 알고 있었을 뿐...


우선 해밍코드의 정의를 찾아보면 위키에서는 아래와 같이 나와 있다.


해밍 부호(해밍符號, 영어: Hamming code)는 오류 정정 부호의 일종으로 리처드 해밍이 제안했다. 보통 해밍 부호라고 할 때는 해밍 (7,4) 부호를 가리킨다. 해밍 부호는 1비트 오류만 일어날 때는 오류를 정정할 수 있고, 2비트까지의 오류를 검출할 수 있다.


자세한 설명은 https://ko.wikipedia.org/wiki/%ED%95%B4%EB%B0%8D_%EB%B6%80%ED%98%B8 여기서 보면 된다.


해밍 (7,4) 부호라고 나와 있는데 이것이 무엇인가 보면 7개의 비트 중 4개의 데이터 비트라는 뜻 


그럼 나머지 3비트는 패리티 비트가 되겠다.


아래는 (7,4)에 단순 패리티 비트를 추가한 코드이다.


설명은 나중으로...


소스코드




테스트 벤치


simvision 덤프 받을 때


$shm_open  ("./waveform");

$shm_probe (TOP.module_a, "AC" ); // AC -> 아래에 있는 모든 시그널, 포트들을 저장

$shm_probe (TOP           , "A" ); // A -> TOP에 있는 시그널, 포트들만 저장

//AS -> cell level은 제외하고 저장??

콜홍님의 티스토리 초대장 덕분에 블로그를 시작합니다.



저는 IT분야 전공자로서 혼자 공부하고 만드는 내용들을 공유할 예정입니다.


기타 잡다한 글들도 써보고 이것 저것 다 해보고 싶네요.


사실 블로그를 제대로 해본적이 없어서 막막하지만 이 글을 시작으로 열심히 해보겠습니다.



홍님께 감사드립니다.

+ Recent posts