최근 LCD나 또는 PDP같은 프로그래시브 스켄 출력 방식의 디스플레이 장치가 보편화 됨에 따라 기존에 인터레이스 스켄 방식으로 만들어진 영상의 변환이 필요하다.이러한 인터레이스 스켄의 영상을 프로그래시브 스켄 방식으로 변환하는 것이 디인터레이싱이며 여기서는 인터레이스된 영상 파일을 사용하여 알고리즘을 구현하였다.사용된 알고리즘은 주변 4개의 픽셀 값의 평균을 구하여 현재 픽샐의 값을 구하는 알고리즘이다.알고리즘의 테스트 결과는 아래의 실행화면에 첨부한다.
Binary 코드를 종종 BCD 코드로 변환해야할 필요가 있을 경우가 있다.예를 들어 Binary값을 7 segment에 출력을 해야할 경우가 그런 예라고 할 수 있다.Binary 코드를 BCD 코드로 변환하는데 있어서 가장 기본적인 아이디어는Binary 4비트에서 10이상이면 6을 더해주는 것이다.BInary 코드를 BCD로 코드로 변환함에 있어서 어려운 점은위의 아이디어가 적용되는 범위가 10단위뿐이라는 것이다.10~20까지의 숫자에서는 6을 더해주면 되나 20~30의 숫자는 12를 30~40숫자의 경우에는 18을 더해줘야한다.그러므로 4비트 이상의 Binary 코드를 BCD로 변환하는 하드웨어를 구현하기 위해서는 현재 값이 얼마인지를 비교하기 위한 여러개의 비교기와 , 더해야하는 값이 여러개가 존재하므로 그중 하나를 선택하기 위한 여러개의 먹스가 필요하게 된다.이러한 문제점을 해결하고 큰 범위의 Binary값을 BCD로 변환하는데 사용되는 알고리즘으로 shift add3 이라는 알고리즘이 존재한다. 이 shift add3 알고리즘을 여러 비트에 적용하여 한 사이클에 값을 구하기 위해서는 다수의 shift add3 모듈이 필요하게 되는데 본 구현에서는 리소스 최적화를 위해 하나의 shift add3 모듈과 shift 레지스터 , 그리고 스테이트 머신을 이용하여 최적화를 수행하였다. 해당 첨부파일에는 이 shift add3 알고리즘과 스테이트 머신을 이용하여 16비트 Binary 코드를 BcD 코드로 변환하는 VHDL 코드가 들어가 있으며 이와 관련된 설명이 포함되어 있다. 현재 16비트로 구현되어 있으나 만약 더 많은 비트의 bcd값을 출력하고자 할 경우 수정이 용이하도록 되어 있다.
마이크로 프로세서의 기본적인 형태인 멀티 사이클 머신의 VHDL 소스코드이다.멀티 사이클은 싱글사이클의 단점을 극복한 형태로 구현되었다.내부 스테이트 머신을 갖고 있으며 인스트럭션 마다 스테이트가 다르게 동작하여 멀티 사이클에 인스트럭션이 해결되는 것을 알 수 있다.파이프라인구조의 마이크로 프로세서를 접하기 전에 꼭 수행해봐야하는 과정이다.ISE를 이용하여 구현하였으며 해당 파일안에 해결해야하는 태스크 , 그리고 그 태스크를 해결하기위한 인스트럭션셋을 정의,정의된 인스트럭션을 바탕으로 문제를 해결하였으면그 문제를 해결하기위한 VHDL 코드가 포함되어 있다.최종적으로 MODELSIM을 이용하여 해당 소스코드의 동작을 확인할 수 있다.