'전체'에 해당되는 글 41건

  1. 2008/07/21 어둠에다크
  2. 2008/07/05 D-Processor Interuppt Simulation (1)
  3. 2008/07/05 D-Processor Architecture (1)
  4. 2008/06/25 패터닝을 이용한 아스키 아트의 구현
  5. 2008/06/08 바탕화면 (5)
  6. 2008/05/23 아스키 아트 (5)
  7. 2008/05/12 달팽이찍기 (3)
  8. 2008/05/08 별찍기 #3 (1)

어둠에다크

사용자 삽입 이미지


낭독 - 레무리아, 디씨 고전게임 갤러리 :
http://gall.dcinside.com/list.php?id=game_classic&no=126602&page=1
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0

D-Processor Interuppt Simulation

사용자 삽입 이미지


 D 프로세서의 인터럽트 처리를 시뮬레이션해본 결과다. 위에 보이는 3개의 시그널중 첫번째는 클럭을 나타내고, 두번째는 프로그램 카운터의 내용을 말한다. 마지막 세번째 시그널이 인터럽트다. 시뮬레이션에 사용된 프로그램은 0x0003번지에서 0x0000으로 무조건 분기하도록 되어있고 0x0002번지에서 인터럽트를 활성화 시킨다. ISR은 0x0000으로 설정되어있다.

두번째 인터럽트가 걸릴때 0x0001번지에서 정상적인 프로그램 흐름과 다르게 0x0000으로 점프하는것을 볼 수 있다. 인터럽트 서비스 루틴으로 점프가 확실히 되는걸 알 수 있다.

-----------------------------------------------------------------------------------------------------

원래 이 밑에다 외부 타이머를 붙여서 만든 초시계를 회로도랑 보드에 합성해서 돌아가는 모습을 올리려고 했는데....D모 사이트에 올려놨던 자료가 삭제되는 바람에 귀차나서 관뒀심 -_-;;
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 1

D-Processor Architecture

D-Processor Architecture


@ 특징
 D-Processor는 단순한 구조를 가진 16비트 RISC로 16비트 어드래스 버스와 16비트 데이터 버스를 갖고있다. 프로그램 메모리와 데이터 메모리가 분리된 구조 즉, 하버드 아키택쳐를 사용하고 있고 주소는 워드단위(16비트)로 주어진다.

 따라서 128Kb의 주소공간을 가진다 (프로그램 메모리 128Kb, 데이터 메모리 128Kb). 모든 명령어는 16비트로 고정된 길이를 가지고, 메모리 접근은 로드 LD, 스토어 ST, 하위 바이트 스토어 STB의 세가지만을 제공한다.
 
 대부분의 연산은 내부 레지스터에 의해서 이루어 지며, D-Processor는 8개의 범용 레지스터를 제공하고 있다. 주소모드는 5가지가 제공되며 단순하지만 서브루틴의 호출과 리턴을 구현하는 명령어가 제공되고 있다. 또한 인터럽트의 처리도 가능하다. 전체 인스터럭션 사이클이 한 클럭에 실행되는 싱클 사이클 익스큐션을 구현하고 있다.

more..



----------------------------------------------------------------------------------------------------
 현재는 모든 인스트럭션이 구현되어 있는 상태고
Altera Cyclone II 2C35 FPGA에서 50Mhz로 작동되는걸 확인해 보았다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 1

패터닝을 이용한 아스키 아트의 구현

아스키 아트란 디지털 간색 기법중의 하나인 패터닝의 일종으로 볼 수 있다. 간단하면 말하면 입력 영상의한 필셀에 대응되는 패턴이 아스키 문자의 하나인 것을 말한다. 그럼 패터닝이 무었인지 알아보자. 아래에 설명은 08년 1학기에 내가 제출했던 보고서에서 주워왔다.

------------------------------------------------------------------------------------------------------
patterning

 패터닝은 출력 장치의 공간 해상도가 원시 영상보가 좋을 때 흔히 사용되는 기법이다. 각색 셀의 해상도가 화소해상도가 같다고 할지라도, 화소 하나는 16개의 도트로 표현된다.

사용자 삽입 이미지

따라서 한 픽셀과 대응되는 16개의 도트를 입력 화소와 비슷하게 보일 수 있도록 어떤 패턴을 갖도록 해야할 필요가 있다. 이때 패턴의 선택이 잘 못되면 의도하지 못한 영상을 출력하게 된다. 한 명도값을 어떤 패턴으로 프린트되도록 셜정하였다면 이보다 강한 명도값은 그 패턴에서 설정된 셀들을 모두 포함하는 패턴을 가져야 한다.이를 성장 연속 growth sequence 라 한다.

 하나의 블록(16개의 도트)는 각각의 유일한 명도값을 표현할 것임으로 이를 위해서 입력 영상의 화소값을 양자화할 필요가 있다. 다음과 같은 경우 입력 화소의 값을 15(255 / 17)로 나누어 줌으로 쉽게 해결할 수 있다. 이로서 화소값은 0에서 17까지의 값을 갖게 된다. 출력되는 영상은 양자화된 화소를 하나의 출력 패턴에 사상 시킴으로 생성된다.

사용자 삽입 이미지


설명 끝
-----------------------------------------------------------------------------------------------------

아스키 아트의 구현은 입력 영상의 한 픽셀의 밝기값에  대응되는 패턴(아스키 문자)으로 대치하는 것임으로 패터닝 기법으로 쉽게 구현할 수 있다.

 패터닝 기법은 입력 영상의 한 픽셀을 4x4(내 구현에서는 7x7)의 패턴으로 대치함으로 출력 영상은 가로, 세로 4배(7배)로 크기가 커진다. 출력 영상의 크기를 입력 영상과 같게 하기 위해서는 입력 영상을 축소 한 상태에서패터닝을 적용하면 된다. 이를 위해서 subsampling등의 여러가지 기법을 적용할 수 있다.

위의 설명에서는 밝기값이 0~255 사이의 값을 갖고 출력 패턴이 17가지 임으로 15로 입력 영상의 밝기값을 나누 줬지만 출력 패턴이 17가지보다 많거나 적을경우 이를 적절히 조절하여 구현하면 된다.

마지막으로 출력 영상이 8비트 그래이 일경우 사용한 아스키 문자 패턴을 소개하고 포스팅을 마치겠다. 이 패턴은 노가다를 통해서 구해냈다. -_-;;

@GE9DX5WKkyezui:,.



크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0

바탕화면




사용자 삽입 이미지


더 보기



전에 쓰던 쿠루루 바탕화면이 간지가 좀 나긴하지만....몇달째 같은거만 보고있으려니

지겨워서 바꿨다. 무려 30분동안 서핑해서 찾아낸 이미지다.

귀엽다. >_<
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 5

아스키 아트

Digital halftoning 기법중의 하나인 patterning의 일종이다.

사진보기(15금?)


크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 5

달팽이찍기



나라고 맨날 별만 찍냐? 달팽이도 찍어보자
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 3

별찍기 #3



소스 코드


크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 1
prev 1 2 3 4 5 ... 6 next