Monthly Archives: May 2017

Getting Started with UVM

오랜만에 책 소개입니다.

https://www.amazon.com/Getting-Started-UVM-Beginners-Guide/dp/0615819974

지난 연휴때 읽어볼 요량으로 샀는데, 이곳 저곳 다니다가 이번 연휴 때 읽게 되었습니다. 특이하게 스타벅스에서 읽었네요. (음.. 제 생활 패턴으로 봤을 때 안 특이한건가.. 싶기도 하네요..)

이 책은 사진을 보시면 아시겠지만 엄청나게 얇습니다. 솔직하게 이야기하면, 받고나서 좀 아까웠습니다. (뭐 두꺼운게 좋은 책이란 말은 아닙니다만, 이렇게까지 얇으면 본전 생각이 살짝… 어흠 어흠)

얇은 만큼 미덕이 있습니다. 바로 금방 읽을 수 있다는 점이죠. (딸래미와 같이 스타벅스 2번 갔다오니 다 읽었더라… 정도로..)
다른 미덕은 아주 간단한 예제 하나로 UVM에서 사용되는 주요 구성요소를 한번 후루룩 보여준다는 점, 그리고 깊이 들어가지는 않지만 코드를 전반적으로 문단별로 설명해서 어떤 동작을 하는지 설명해 주는 점 역시 장점으로 생각하고 있습니다.

따라서, SystemVerilog는 대충 알지만, 내일부터 UVM을 써야 하는데 어디서부터 해야 할지 모르겠다는 생각이 든다면, 이 책이 시작점 정도는 될 수 있습니다.

단점은 중요한 개념들 중에 몇 가지가 좀 많이 빠져 있습니다. 사실 두께로 봤을 때 당연히 많은 내용이 생략될 수 밖에 없으며, 이런 것들은 나중에 reference manual을 보면 될 것으로 생각합니다. 다만, port/export 관계 같은 건 제대로 설명하는게 좋지 않았을까 싶습니다.

사실 책을 읽으면서 이것 저것에 대한 배경 지식이 없어도 내가 이걸 쉽게 이해할 수 있었을까… 라는 생각도 듭니다. 아마도 Verilab의 교육 프로그램의 교재로 사용되면서 강사가 중간 중간 개념을 설명해주는 경우라면 문제가 없을 것이지만, 아닌 경우에는 약간 혼란스러울 수 있었을 것 같습니다.

하지만, 대충 article 하나 정도의 두께(뒷 부분은 소스코드로 장수를 채운거라.. 실제 내용은 대충 70 page 남짓)로 대략적인 개념을 훓은 건 잘했다고 봅니다.

권장대상: SystemVerilog는 알지만 UVM은 처음이고, “내일”부터 뭔가 해 볼 예정인 사람.

비권장 대상: 논리적으로 이야기가 명확히 통해야하고, 중간 중간 설명이 생략된 상태에서 그냥 따라하라고 하면 화딱지가 나는 사람.

참고로, verilab에 가면 이 책에서 사용된 예제의 source를 받을 수 있네요. 참고하시면 될 것 같습니다.

뽀득이 업데이트

몇년간 로봇 청소기(LG 로보킹)를 사용했는데, 초반에는 아주 잘 사용했습니다.
딸래미가 붙인 청소기 이름이 뽀득이..

일단 사용하면서 느낀 장점으로는 매일 정해진 시간에 청소하도록 설정해두었기 때문에 “바닥에 있는 짐만 약간 정리하면, 돌아왔을 때 바닥에서 먼지가 느껴지지 않는다. “는 점입니다.

위의 문장에 장점과 단점이 모두 있는데요. 바닥에 책이나 연필이 떨어져 있거나 러그가 깔려 있거나 전선이 떨어져 있는 경우에는 로봇 청소기가 상당히 힘들어합니다.

요즘에 사용 빈도가 줄어든 가장 큰 이유는 화장실 문턱에 너무 자주 걸린다는 점입니다. 화장실, 베란다, 리클라이닝 의자 턱에 걸려서 멈춰있는 경우가 많아서, 저녁때 충전 포드에 없으면 어디선가 걸려있겠지.. 하면서 매번 찾아야 한다는 문제가 있죠. 오늘 유심히 청소하다가 걸리는 모습을 보니 한번 떨어졌다 기어 올라온 다음에, 조금 있다가 다시 그 위치로 가서 떨어지고 요게 몇번 반복되면서 못올라오는 경우가 있을때까지 시도하는 느낌이랄까.. (아.. 답답해..)

그래서, 혹시나 하고 구글신께 검색해보니 https://www.lgservice.co.kr/download/selectSearchView.do#none 에서 역시 펌웨어를 찾을 수 있더군요.

새 펌웨어는 받았는데, 어떻게 하라는 가이드가 없네요. 같이 있는 메뉴얼에도 업데이트 정보는 없고.. (그렇지.. 이래야 우리 LG지..)

다시 인터넷 검색.. 다음과 같은 절차를 밟으면 되더군요.

  • 다운로드 받은 펌웨어를 USB스틱에 풀어서 넣는다. (USB root directory에 bin과 sh 파일이 있어야 하는듯)
  • 로봇 청소기 전원을 끄고
  • 먼지통을 빼고, USB 포트에 USB 스틱을 끼우고
  • 전원을 켜고, 시작 버튼을 누르면 자동으로 업데이트를 시작합니다. (안내 메시지로 “업데이트를 시작합니다” )
    • 커버를 연 상태에서도 전원만 켜면 되더군요.
  • 업데이트가 끝나면 안내 메시지로 firmware 버전 정보가 나옵니다.

 

업데이트는 체감상 대략 30초~1분 정도? 업데이트 이후의 상황은 좋아진게 있는지 아직은 잘 모르겠네요. (느낌상으로는 좋아졌겠지.. 하는 생각이고 아직 문턱에 걸리진 않았지만.. 보고 있으면 아직 아~주 똑똑해 보이지는 않네요..)

 

블로그 살렸습니다.

연휴인걸 귀신처럼 알고 사망하신 블로그를 살렸습니다.

제 문제는 blog를 들어갔을 때 아무런 내용도 나오지 않는 문제였습니다.

[코드를 봐도 참담합니다 ㅠㅠ]

같은 문제를 겪으신 분도 있을 테니 짧게 정리해 보겠습니다.

일단, index.php 를 확인해봤습니다. 혹시라도 연결이 잘못되었는지 확인해야 하니까 말이죠.

그 다음으로 DB를 확인해봤습니다. DB 손상이면(실수든, 해킹이든) 백업된 걸로 되돌려야 하니까요.
잠시 살펴보니 문제가 없어보여서 다음 단계로…

뭐 일단 DB가 살아있으면 데이터는 어떻게든 살릴수 있으니, 조금은 편안한 마음으로 일단 현재 디렉토리를 backup하고 수동으로 새 버전을 upload한 다음 DB update를 위해서 wp-admin/upgrade.php에 들어갔는데, DB가 벌써 upgrade되어 있더군요.

아마도 auto upgrade하다가 문제가 발생했을 것이라는 추측에 조금 더 무게가 실렸습니다.

wp-config 설정이 잘못되었는지 확인하고, wp-config에서 WP_DEBUG option을 켜고 돌려보았습니다.
제 경우는 wp-include에 있는 functions에서 문제가 있는 것 같더군요. Google을 뒤져보니 이런 메시지는 보통 plugin이 잘못되었을때 나타난다고 하더군요.

deprecated since version 2.3.0 with no alternative available. in…

그래서, 일단 모든 plugin을 수동으로 disable 시켰습니다. 이 방법도 역시 google검색을 통해서 도움을 받았죠.
두 가지 방법이 나와있던데 저의 경우는 plugin 디렉토리에서 하나씩 디렉토리 명을 변경해서 disable 시켰습니다. (사용하는게 원래 몇개 없어서..)
음.. 제대로 되네요. 예상한 것처럼 plugin 문제가 맞습니다.

하나씩 켜보면서 보니, 결과적으로 몇몇 단어를 wikipedia에 연결해주는 wikipedia-autolink plugin이 너무 오래되어서 문제가 된 것 같습니다.

일단 요걸 꺼서 문제 해결이네요.

생각보다는 짧게 끝났네요.. 휴~