DE0-CV導入

f:id:nobu_macsuzuki:20180305112252j:plain
遅々としながらも、趣味FPGAプロジェクトは継続している。

FPGA ボードで学ぶ組込みシステム開発入門 ?Altera編?

FPGA ボードで学ぶ組込みシステム開発入門 ?Altera編?

に沿って、Cyclone III開発キットであるDE0を利用しちまちまやっていた。
この本の著者が改訂版であるをこの1月に出版した。
前半は前の本からツール類を更新した(Quartus Prime、Qsys)程度だが、後半にはSDRAMを利用したVGAコントローラやCMOSカメラコントローラなど、魅かれる内容だ。
動作速度のため、推奨FPGAがCyclone Vに変更になった。
今後Cyclone V SoCに着手しようと考えていたので、ツールを最新のものに更新することも考えてCyclone Vの開発キットであるTerasic DE0-CVを購入した。

新しい開発ツールであるQuartus Primeだが・・・ほとんどQuartus II。
基本的にDE0の開発で使用していたQuartus II 13.1と比較して、Quartus、Qsys、ModelSim Altera、Nios II Software Build Tool for Eclipseといったツールチェーンは変わらない。
変わったのはわずかにIP Catalog(旧Megawizard、Alteraが供給するソフトIP)くらいか。
ツールであるQuartus Primeはこちらからダウンロードできる、無償のLight Editionで十分である。
https://www.altera.co.jp/products/design-software/fpga-design/quartus-prime/download.html
ダウンロードページではオプションが選択できる、Quartus Prime(含むModelSim - Intel FPGA Edition (aka ModelSim - Altera))とCyclone V device supportだけをダウンロードすればよい。
Akamai DL3をインストールしていない場合は、こちらを先にインストールする - あとあと面倒が少なくてすむ。
ダウンロードが完了したら、Quartus Primeのインストーラを起動する、あとは勝手にすべて導入してくれる。

インストールが終わったら、Quartus Primeを起動、さっそく動作確認だ。
プロジェクトの作成方法はQuartus IIと一緒、こちらの通り進めればよい。
唯一違うのはターゲットデバイスの設定で、DE0-CVに搭載されているCyclone Vは"5CEBA4F23C7"だ。

Terasic DE0-CVはほぼDE0コンパチで、DE0で開発したVerilog HDLの資産はかなりが継承できる。
外見上の違いは7セグLEDが4個から6個に、ボタンが3個から4個+デバイスリセットに、SDスロットがマイクロSDスロットになったくらいだ。

スマートウォッチ(Ticwatch E)を購入 - 1年ぶり4回目

f:id:nobu_macsuzuki:20180216170058j:plain
わずか2か月でHuawei Watchと別れて、一年が経った。
Huawei Watchに関しては短い付き合いになると覚悟の上であったが、最初のmoto360も、Apple Watchも「コレジャナイ感」は半端なく、どうにも「スマートウォッチ」とは思えなかったのだ。
よっぽどスマート(笑)さのかけらのないGarmin Forerunner 225の方が、筆者には実用的スマートウォッチだ。
昨年の年末商戦前に出たIDCの予想以降も、IT業界ではスマートウォッチのオワコンぶりが変わりなく、いわゆるIT・ガジェット系のニュースで見ることは稀になってきた。
しかしマーケティング的には、ここにきて面白くなってきている。
フォッシルや、タグホイヤーモンブランなどの腕時計デザインブランドがコンスタントに新製品を出してきているのだ。
カシオも昨年Protekのラインにスマートウォッチを追加した。
しかも、タグホイヤーモンブランなどの「高級」ブランドやカシオのものを除くと、市場価格がほぼ$200前後で横並びだ、安くはない。


腕時計市場とはどんな市場なのだろうか。
この業界の方は大変親切で、こんな貴重な資料をネットでロハで公開してくれている。
http://www.jcwa.or.jp/images/estimate_graph.png

  • 全世界の腕時計の生産台数は年間14億台で、年間成長率がほぼ0
  • そのうち95%以上がクォーツ、つまりホームセンターなどでキュッパやイチキュッパで売っているあれ

こんな市場で在庫が山のように膨れ上がることは考えられないので、生産台数=出荷台数だろう、FIFOだ。
スマートウォッチの出荷台数が年間おおよそ2000万台、全世界腕時計の1%強となる。
よくいう「アーリーアダプター」というのは市場の+σテール、つまり16%。
つまりスマートウォッチを腕時計市場全体でみると、アーリーアダプターさえつかみ損ね、見事にChasmの谷に落ちたことになるのだ。
ちなみにスマホ(笑)の年間生産台数は20億台に届くほどで、台数規模としては腕時計に並ぶ。
IT業界からすれば、2匹目の>10億台市場への挑戦は見事に失敗に終わったわけだ。


ところが、これを腕時計市場のプレーヤーから見たらどうだろうか?
こちらこちらに腕時計市場の変遷を書かれている方がいるのだが、他の市場と同様に技術の水準化によるコモディティー化が一気に進んだ後に、「良質で安く手に入る大量生産品」と「差別化のすすんだ寡少な高級品」との市場のセグメント化が進んだのだ。
他の市場って何?という方は、車を見よう、PCを見よう。
どちらも年間出荷台数がおおよそ1億台の市場だが、見事なセグメント化が進んでいる。
腕時計のセグメントの規模に関する情報がないのだが、一般的なセオリー通りであれば+σテール、つまり16%がこの「差別化による高級品」の市場規模だろう。
だとすれば、スマートウォッチの1%強の腕時計市場への上積みは、差別化腕時計を作っている腕時計デザインブランドからすれば10%近い市場拡大に見えるはずだ。
新しいセグメント、売り上げ台数10%上積み、そりゃ、やるだろう、やるしかないだろう。
スマートウォッチのラインナップ化をやるだろう。
返ってこの市場の顧客からみたらどうだろうか?
このご時世に腕時計を買ってつける御仁は、価格はどうであれ与太郎だ。
スマートかそうでないかはともかく、気に入れば買うだろう。
自分の好きな腕時計デザインブランドが新作を出したら、たとえ10本目だろうが20本目だろうが買うだろう、与太郎だ。
そしてスマートかそうでないかは、気にとめないだろう。


ここが筆者も大きくつまづいていたところだ。
「スマートウォッチ」という言葉にとらわれすぎていて、何か特別な腕時計にできない「機能」を求めていたのだ。
そんなものは「垂直差別化」の終わった腕時計市場では、日本の時計メーカーがしのぎを削る「ソーラー腕時計」「電波腕時計」「GPS腕時計」と変わらないのだ。
なにもなくたって、ブランドインテマシーとフェイスリフトで物は売れるのだ。
ただ、その市場規模はIT業界のお気に召すものではなかっただけなのだ。


ちなみに筆者は高機能腕時計マンセーで、キナティックもソーラー式三波電波腕時計も所有している、別な意味で与太郎だ。
GPS腕時計ももう少し値ごろになったらぜひ購入したいと考えている。
全てクロノグラフ付だ。
こんな筆者ならスマートでないスマートウォッチを一本ぐらい持っていてもよいだろう。
ということで、4度目のお迎えをすることにした。

キャズム Ver.2 増補改訂版 新商品をブレイクさせる「超」マーケティング理論

キャズム Ver.2 増補改訂版 新商品をブレイクさせる「超」マーケティング理論

GPD Pocketがスリープさせて蓋を閉じると勝手に復帰してしまい、がんがんバッテリーを食ってお困りの貴兄に(解決編)

さて今まで、

と4度に渡って対策してきた、通称「スリープ死」問題。
しかし、それでも治らなかった筆者のGPD Pocket。
こいつは2台目で、一台目ではこんな不具合はなかったのに、なぜ?と思い、ハタと気が付いた。
nobu-macsuzuki.hatenablog.com
これ。
これのおかげで、キーボードやクリクリトラックパッドがディスプレイ側に当たり、USB HIDメッセージでGPD Pocketを起こしてしまうのを防いでいたのだ。
さっそく再度クッションをつけたところ、ぴたりとおさまった。
後で、上の変更も一つづつ戻してみよう。

GPD Pocketのホールセンサーをぬっころしてカバーを開いたときのアクションも無効にしたのに、スリープさせて蓋を閉じると勝手に復帰してしまい、がんがんバッテリーを食ってお困りの貴兄に

MSFTがアホやから、大事な設定をWindows Updateの度にどんどん隠す。

  • regeditを開き、"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\2E601130-5351-4d9d-8E04-252966BAD054\C36F0EB4-2988-4a70-8EEE-0884FC2C2433"の"Attribute"を2に変更する
  • 再起動
  • "コントロールパネル" -> "電源の管理" -> "プラン設定の編集"を開き、"詳細な電源設定の変更"を選択
  • "アイドル回復性"の下に、"IO一体化のタイムアウト"が現れるので、バッテリー駆動を"60000"(ミリ秒)に変更する
  • 再起動

これでいろいろなIOの割り込みの衝突で、GPD Pocketがスリープから復帰したまま戻れなくなるのが防げる。


英語キーボードのキーマップのカスタマイズ(Windows編)

こちらでも触れたとおり、筆者はかつてのADBキーボードでの日本語入力の習慣を引きずった変なキー配置を使用している。
日本語キーボードなら

  • "無変換"キーと"全角/半角"キーを入れ替え
  • "Caps Lock"キーと左"Ctrl"キーを入れ替え

この利点は日本語<->英語入力の切り替えが左親指でできるので、英語日本語交じりの文章が爆速で打てるようになること、Controlキーを使うコピー・ペーストのショートカットが爆速になることだ。


英語キーボードを使用するようになってからは魔改造になり、こんなことになっている。
f:id:nobu_macsuzuki:20180205061138p:plain
これは以下のようにして実現している。

  • まず、通常のWindows英語キーボード同様にAXキーボード配列にして、左"ALT"キーで"全角/半角"キーが代用できるようにする。
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layoutにバイナリ値"Scancode Map"を追加する
  • 追加した"Scancode Map"に以下のバイナリ列を入力する

f:id:nobu_macsuzuki:20180205061308p:plain
弊害として、左親指付近に"ALT"キーがなくなってしまう。
筆者は、ALTキーを使ったショートカットはエクセルの"ALT" -> "E" -> "S" -> "V"(テキストのみ保持で貼り付け)と、"ALT" -> "F" -> "V"(オートフィルター)ぐらいしか使わないので、この魔改造でもなんとかなっている。

英語キーボードのMacBookをBoot Campした時にのキーマップのカスタマイズ


"自己責任"、"「転んでも一人で起きる」"の意味がわからない方は、以下の記載の事柄は適用しないように、お願いいたします。

さて、こちらで説明した通り、筆者はどのキーボードでも"Caps Lock"キーと左"Ctrl"キーを入れ替えて使っている。
Windowsで日本語キーボードを使用していた時には、頻繁に使用する"全角/半角"キーを使えるようにするために、"無変換"キーと"全角/半角"キーを入れ替えていた。
これをすると、ほとんどファンクションキーを使わずに、半角英語交じりの日本語を早く打てるようになる。
さらに英語キーボードWindowsで使用しているときには、

  • AXキーボード配列にして、左"ALT"キーで"全角/半角"キーが代用できるようにしたうえで、
  • 右"ALT"キーと左"ALT"キーを入れ替える

これで英語キーボードでも、ほぼ日本語キーボードの"変換"キーのある位置で、日本語入力と英語入力の切り替えができるようになった。
・・・他の人が筆者のキーボードを使えなくなる魔改造だ。


さてMacBookBoot CampしてWindowsで使用すると、"Command"キーが"Windows"キーになる。
つまり、筆者が"全角/半角"キーとして使用したいところに、"Windows"キーがあるわけだ。
むむむむむ・・・
何とかこうしたい。
f:id:nobu_macsuzuki:20180205062825j:plain

  • まず、通常のWindows英語キーボード同様にAXキーボード配列にして、左"ALT"キーで"全角/半角"キーが代用できるようにする。
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layoutにバイナリ値"Scancode Map"を追加する
  • 追加した"Scancode Map"に以下のバイナリ列を入力する

f:id:nobu_macsuzuki:20180204153406p:plain
・・・魔改造だ。

氷解 - 英語キーボードへの移行(Apple ADB日本語キーボードの歴史)

筆者は昨年いわゆる日本語キーボードから英語キーボードへ移行した。
会社で支給されるPCが英語キーボードであるためだ。
以前使っていたPCはThinkPad X220で、この世代までは日本語キーボードへの換装は簡単だった。
裏側のねじを2つ外し、ちょちょいのちょいで変えることができたのだ。
しかし、昨今のアイソレーティッド・キーボードは表面のキーマット交換するような構造にはなっていなく、PCの裏ボディーを開け、バッテリー、マザーボードなどほぼ全てを外さなくては交換できない。
これを社用のPCでやるのにはリスクが高すぎる。
またこちら(米国)で入手できる安価なガジェットが英語気ボード配列なのも、移行を後押しした。


英語キーボードへの移行で最大の難点となるのが、特殊キーの配置だ。
日本語JIS配列では"@"は独立したキーで"P"の横にあるが、英語配列では"SHIFT" + "2"だ。
"("、")"の位置がずれているのは、ボディーブローのように効く。
しかし割りとスムーズに、一週間も掛からずになれてしまった。


はてなぜかしら?俺ってそんなに柔軟?と思っていたが、今日古いMacのキーボードを見ていてその疑問が氷解した。
筆者が初めて購入したMacはLC IIで、それに付属していたADB II キーボード。
f:id:nobu_macsuzuki:20180203032829g:plain
その後、きわめて悪い麻疹にかかり購入して使用していたII GSキーボード。
f:id:nobu_macsuzuki:20120510113513j:plain
そう、どちらもJIS配列ではないのだ。
筆者が覚えている限り、この直後にJIS配列準拠のADB II JIS キーボードが導入され、古いまかーは血眼になってオリジナルのADBキーボードも含めたこれらの非JIS日本語キーボードを探していた。
ちなみにこちらがそのADB II JISキーボード。
f:id:nobu_macsuzuki:20180203033432j:plain
つまり筆者は、Macを使いだした1992年からWindows移行を本格的にした2000年まで、ずっと英語配列Apple ADBキーボードを使っていたのだ。
それなら慣れるのも早いはずだ。


ちなみにII GSキーボードは"Ctr"lキーが"A"キーの左隣にある。
このため、Windowsでもずっと"Caps Lock"キーと、左"Ctrl"キーは配列を入れ替えて使っている。
今回英語キーボードMacを入手して気が付いたのが、Macのキーボードも"Caps Lock"キーが"A"キーの左隣にある。
英語キーボードでも、ADBキーボードとII GSキーボードは"Ctr"lキーが"A"キーの左隣、それ以降は"Caps Lock"キーが"A"キーの左隣なのだ。
こちらを見るとその遷移が分かる。
https://en.wikipedia.org/wiki/Apple_Keyboard