Tech
-
[Verilog] Latch를 피하는 방법 (combinational logic 기술 시 유의할 점)Tech/Verilog 2013. 2. 28. 15:03
Verilog를 이용해서 디지털 회로를 디자인할 때, always@ 기술 시 의도하지 않은 Latch 생성에 유의해야 한다. 처음 Verilog를 이용해서 만들 때에 매번 synthesis report를 확인하면서 latch가 생기지 않았나 검색하던 기억이 난다. 의도치 않은 Latch는 always 구문을 이용해서 combinational logic을 기술할 때 가장 많이 발생한다. Verilog에서는 always 로 작성된 구문은 합성 시에, 모든 입력 조건에 대해 동작하도록 closed logic을 자동으로 형성하는데, **기술되지 않은 조건에 해당할 때에는 이전 값을 유지하도록 만든다. 따라서, 입력값에 의해서만 바뀌는 combinational logic을 만들었더라도 모든 조건에 대한 값이 지시..
-
Digital Photo Professional MAC버전 CD없이 설치하기Tech/Computer 2013. 2. 27. 07:21
Digital Photo 시대에 들어서는 후보정도 그 무엇보다 중요해졌다. 후보정 프로그램으로는 라이트룸, 포토샵, 어퍼쳐 등 많은 프로그램이 있지만 간편하게 카메라 설정을 적용하여 보정하기에는 카메라 제조사에서 배포하는 프로그램만한 것도 없다. 나는 니콘을 사용할 때에는 Nikon Capture NX, 시그마를 사용할 때에는 Sigma Photo Pro (일명 SPP, 시그마는 SPP를 쓸 수 밖에 없게 만든다. 좋은 뜻으로.), 그리고 작년부터 써오고 있는 캐논 카메라에서는 Digital Photo Professional (줄여서 DPP)을 쓰고 있다. 카메라를 사면 DPP가 포함된 소프트웨어 CD를 제공하는데, 내가 사용하는 맥북엔 CD 드라이브가 없고, 슈퍼드라이브도 구매하지 않았다. 캐논의 Di..
-
Lion, Mountain lion에서 Thecus사 NAS가 AFP로 접속되지 않을 때,Tech/Computer 2013. 2. 8. 00:26
연구실에서 예전부터 사용해오던 NAS는 Thecus사의 N5200PRO 제품인데, 이게 상당히 오래된 제품이라 더이상 업데이트를 하지 않는다. 요즘 스마트폰 및 아이패드의 등장, 멀티미디어의 대용량 추세에 따라 다양한 기능의 NAS가 각광받고 있지만 이 제품은 오래된 지라 별다른 앱이나 통신 기능을 지원하지는 않는다. 그래도 데이터교환 서버용으로는 요긴하게 사용하고 있는데, 얼마전 맥북으로 afp://를 쓰려니 먹질 않는다. OS X lion부터 바뀐 afp 표준으로 인해서 더이상 이전 버젼의 afp 서버는 호환이 되지 않는 듯 하다. Thecus 포럼을 찾아보니 그렇지 않아도 관련 쓰레드가 있다. (http://forum.thecus.com/viewtopic.php?f=3&t=2134) 반응은 대략 1..
-
[MAC/OS X] 802.1x profile이 생성되지 않아 무선 인터넷을 사용할 수 없을 때 (Mac)Tech/Computer 2013. 1. 20. 04:20
OS X를 라이언으로 업데이트하고나서부터는 (최근의 마운틴라이언까지) 802.1x의 profile을 사용자가 직접 추가할 수 없다.Network service 관리자가 802.11x profile을 제공해야 한다는 방침이 세워졌기 때문인데, 무선랜 서비스를 제공하는 많은 학교에서는 아직 네트워크 관리자가 profile을 제공하지 않고 있는 듯 하다. (우리학교도 포함) 따라서 맥 커뮤니티 등에서 심심찮게 프로파일 생성을 못한다는 질문글이 올라오는데, 이 때는 iPhone Configuration Utility를 이용해서 개인이 직접 profile을 생성하면 된다. Utility가 깔끔하므로 어렵지않게 따라할 수 있다.iPhone Configuration Utility 다운받기 (http://support..
-
[SoC] Getting Gate Count - 게이트 개수 구하기Tech/Verilog 2012. 12. 27. 03:34
반도체 회로의 규모는 흔히 게이트 개수를 이용해서 표시하곤 한다. 디지털 회로 설계는 대부분 Verilog를 통해 이루어지기 때문에, 내가 만든 디지털 회로가 실제로 몇 개의 gate로 이루어져 있을지 개발 단계에서 가늠하기가 어렵다. 그래서, 이런 경우에는 칩의 면적을 통해서 gate 개수를 추정하는 방법을 많이 사용한다. 이는 칩의 gate 개수를 공개하지 않는 다른 이들의 칩을 분석하는 방법으로도 유효하다. 물론 제한된 면적 안에 최대한 많이 우겨넣을 것이라는 가정은 필요하다. 칩의 면적은 곧 웨이퍼 당 얻을 수 있는 칩의 개수로 귀결된다는 점을 생각해보면 당연한 가정이다. 어찌되었든 열심히 개발한 결과 잘 합성된 Gate-level netlist를 얻었다고 할 때, 이를 통해서 내가 디자인한 회로..
-
[OpenCV] cv::Mat 컬러 이미지에서 색순서는 BGR이 기본값!Tech/Development 2012. 8. 21. 14:03
OpenCV를 이용하면 이미지 입출력 뿐만 아니라 영상처리 전반에 관련한 함수를 쉽게 사용할 수 있다는 장점이 있다. 하지만 나의 경우에는 이전에 작성한 라이브러리를 사용하기 위해서 주로 OpenCV의 imread()를 이용하여 cv::Mat를 얻은 뒤, Mat의 data array에 직접 접근하여 처리할 때가 많다. 이 때, OpenCV에서 color image는 한 픽셀에 대해서 (B,G,R) 순서로 저장되어 있다! 흔히 일반적으로 생각하는 RGB 순으로 저장되어 있는 게 아니므로 주의하자.
-
이미지 사이즈를 줄일 때는 Aliasing을 고려하라.Tech/Vision 2012. 8. 21. 10:11
간편하다는 이유로 인해 가끔씩 홀수번째 픽셀만 가져온다던가 하는 식으로 다운샘플링을 하게 된다면 고려할 게 없어 편하긴 하지만 Aliasing의 저주에 빠진다. Windows의 Pictures 폴더에 있는 기본 펭귄 사진이다. 이를 가로/세로 각각 1/8로 줄여보자. 1) 그냥 8번째 픽셀마다 하나씩 샘플링해서 줄여보고 2) Gaussian Filtering을 씌운 후 줄여보면 아래와 같다. 1) 어떠한 전처리 없이, 8번째 픽셀마다 하나씩 샘플링해서 리사이징한 경우와 2) 영상전체에 Gaussian Filtering을 수행한 후, 8번째 픽셀마다 샘플링하여 리사이징한 경우. 작은 이미지로 보기에도 1)은 거친면이 나타나는 걸 볼 수 있다. 이 그림을 확대해보면 더 확실히 드러난다. 1) 을 확대해보면,..
-
[C/C++] Visual Studio 2010에서 Ctrl+F5로 실행 시, 프로그램 종료 후 Pause 뜨게 하는 방법.Tech/Development 2012. 8. 21. 02:39
윈도우 환경에서 C/C++ 을 작성하다보면 아무래도 Visual Studio를 많이 활용하게 된다. Visual Studio 를 이용하여 Console 프로그램을 작성할 경우, 프로그램이 종료되면 디버그 창도 같이 종료되기 때문에 콘솔 화면에 아무리 많은 글자를 띄우더라도 금방 사라지게 된다. 물론 디버그를 위해서 프로그램 코드의 마지막 라인에 입력을 받는 scanf 등의 함수나 혹은 system pause등을 사용해도 되지만 그렇게 하지 않아도 가능한 방법이 있다. 바로 Control + F5로 실행하는 방법. (아마 이 방법을 사용하였을 때는 Visual Studio 6.0 시절로 생각된다.) 하지만 최근 Visual Studio 2010에서는 Control + F5 를 해도 pause가 나타나지 않..