[Android] Problem Solved : 'HTC Desire prints □ '

As same as other UNIX based OS, Android uses \r\n as a newline character. but, when you use this in TextView's text, HTC Desire prints '□' character instead of just print another line. It's OK when you test it on other devices. for this, you need to replace all "\r\n" to '\n'(like Windows style) for just one device.....:HTC Desire I replaced all of that, the device shows TextViews just like what i wanted to see,

[Android Application] Locos Timetable 로꼬스 시간표

이미지
다운로드 링크 :  https://market.android.com/details?id=locosdevelopaz.timetable&feature=search_result 방학 내내 안드로이드를 잡고 있던 결과 이런 어플이 하나 나왔다. 이건 본인의 시간표. 이렇게 입력된 시간표를 이 어플리케이션에서 사용하는 형식 혹은 png 파일로 친구에게 바로 전송할 수 있다. 시간표를 받으면, 친구 시간표를 그냥 볼 수도 있고, 아래 그림처럼 친구와 맞는 공강을 확인하여 바로 연락할 수도 있다. 를  아래는 위젯의 모습 전체 시간표를 보여주는 위젯은 아니고, 다음 시간 수업과 강의실, 그리고 다다음 수업 이름을 간략히 보여준다. 아래는 마우스로 직접그린 아이콘 작은버전ㅋㅋ 512사이즈 이걸 하면서 공부했던 것들을 쭉 포스팅 할려고 했으나 어느새 방학이 끝나버렸으므로 다음기회에.....

Android Emulator Start Error

안드로이드 에뮬레이터 AVD를 실행할 때 다음과 같은 메세지가 나올 때가  있다. invalid command-line parameter: Files. ~~~blah blah~~~ 이 경우는 AVD의 경로를 제대로 잡지 못하는 경우이므로 경로 사이에 들어간 한글 문자가 있다면 AVD를 옮겨 없애주도록 한다. 혹은 64-bit windows를 사용할 경우에는 preference에서 sdk 위치를 Program Files(x86)에서 PROGRA~2와 같은 방식 (호랑이 담배먹던 시절 도스에서 치던 방식)으로 바꿔주면 정상작동한다

Dell Streak Battery Charger

이미지
스트릭 배터리 충전기 본체의 15번 pin (High-Current +5v in)이 부러지는 바람에 충전을 할 수가 없었다. 그래서 KT tech에 전화했더니 pin이 부러진 것은 메인보드를 '유상'교체해야 하며 또 그 메인보드도 지금 국내에 물량이 없어서 한달여 정도 기다려야 한다고 했다. 일단은 사제 배터리 충전기(이것도 정품이 없다는..)를 구매해서 사용하라는 말을 해서 찾아보니 그렇게 비싸진 않은데 마트에서 팔지도 않을 것 같고 인터넷으로 사려니 배송도 한참 걸릴것 같아서 일단은 골판지와 안쓰는 충전기를 사용해서 하나 만들었다..... 찾아보니 부품 완전교체는 델에서 아예 내려온 지시라고 하는데, 아니 무슨 pin 하나 부러졌다고 보드 전체를 교체한다는 것인지 이것은 좀 어불성설이 아닌가?? 그냥 pin을 약간 extend해서 아다리만 맞게 해주거나 pin만 교체하거나 하면 해결될 것 같은데 connect module만 교체하는 것도 아니고 메인보드 전체를 교체해야 된다니 좀 그렇다 쇼폰케어는 들어놨지만 그래도 5만원돈이 저 pin 하나 부러진 것 때문에....

Multiplier. 3

이미지
Multiplier에 대해선 final posting이 될듯!! 64-bits Kogge-Stone adder를 구현하여 이를 radix-4 Booth encoded 64-bits multiplier에 적용하였다. (KSA를 만들면서 64비트 32비트 각각 스테이지를 하나씩 빼먹고서 며칠동안 완전 헤맸......) 크기는 위와 같다. 졸라 크긴 하다. 다들 수업때 하는 5-stage pipelined MIPS processor 하나 만들면 저만큼 될텐데 -_- output port까지의 delay는 위와 같다. 약 40ns정도에서 연산이 완료됨을 알 수 있다. level 4에서 얻어지는 게 65비트이므로 64-bits KSA에 HA 하나를 연결하여 level 5가 마무리된다. 사실 기대했던 것만큼 많이 delay가 줄진 않았는데 뭐 40ns면 훈훈하지 않나 싶....... 그리고 KSA를 만들 때 현재는 최종적으로 black cell과 gray cell을 따로 module화하여 instance하는 방식으로 structural하게 구현되어 있는데, 코드도 너무 길고 해서 그냥 게이트 레벨로 썼더니 한페이지도 안 넘었다. 근데 그런데 똑같은 로직인데 delay가 90ns에 육박해버렸다 그래서 다시 instance하여 쓰니까 24ns에서 귀결 이건 뭐 왜그런지 모르겠다 게이트레벨로 쓰니깐 신서사이즈를 잘하는지 사이즈는 많이 줄던데 안드로메다행이 되버리니....

Kogge-Stone Adder

이미지
왜인지 정확히는 잘 모르겠지만 나는 굉장히 arithmetic unit에 집착하는 편인 것 같다. 사실 processor의 설계 면에서 봤을 때는 arithmetic unit의 algorithm이나 efficiency는 전체 processor의 성능에 그렇게 큰 영향을 미친다고 볼 수 없기 때문에 (뭐 single cycle CPU라면 얘기가 다르겠지만...) 굉장한 뻘짓이긴 하다만 사실 이것만큼 재밌는 분야가 없는 것 같기도... 여하튼, 오늘의 포스팅은 Kogge-Stone adder인데, 요거는 Peter M. Kogge 횽과 Harold S. Stone 횽이 1973년도에  Kogge, P. & Stone, H.  "A Parallel Algorithm for the Efficient Solution of a General Class of Recurrence Equations" .  IEEE Transactions on Computers , 1973,  C-22 , 783-791 요기서 제기된 이론이 되겠따. 위는 32-bits Kogge-Stone adder의 구조. 하이튼, 잡설 생략하고 톡까놓고 말해보자면 "가장 빠른 adder로 간주된다." 보통 prefix adder는 세 가지 갈래로 나뉘는데 속도↑ ------------------- 크기↓ KSA          HKA          BKA 요렇게 나뉘고 여기서 hybrid adder라던가 하는 것이 등장한다. Ladner-Fischer adder나 공부할때 많이 참조했던 UCA Oklobdzija 교수님 adder라던가 하는 것도 세부 분류라고 볼 수 있다. (현재 비마관 휴게실인데 에어콘물이 졸라 꼴꼴거려서 불안해하고있다) ...

Multiplier. 2

32-bits Radix-4 booth encoded multiplier를 구현했다. compressor를 사용하여 만들어졌으며 현재는 최종적으로 32-bits Ladner-Fischer adder 2개를 연결하여 연산된다. booth encoding을 하기 전보다 크기는 약 1/6정도 증가하였으며 2's complement bits의 음수 연산이 가능하게 되었다. output port까지의 propagation delay는 49ns 정도이며  원래 구성하였던 multiplier와 차이는 없다. 이를 optimization하기 위해서 일단은 64-bits adder들의 비교 및 삽입이 우선적으로 필요하게 되었으며 compressor를 사용하였을 때 carry가 ripple되는 구간이 현재 4-bits CLA 혹은 32-bits LFA로 구성되어 있으므로 이를 변경해 보는것을 시행하여 보도록 하겠다.