Electronics」カテゴリーアーカイブ

論理回路と関数型言語

ものすごく唐突に関数型言語と論理回路は似ているなー、と思った。

Pythonに関数型プログラミングの構文として用意してあるイテレータやジェネレータみたいな”状態を持つ関数”っていうのはカウンタに代表される組み合わせ回路と振る舞いが似ている。

論理回路のプロトタイプ作成とかに関数型言語使うと便利そうな。

何かそれぞれの起源に共通の祖先があったりするのかしら?

FPGA学習始動

FPGA学習ボードDE1で何かしたい!とブログで言ったきり半年くらい放置していたんだけど、そろそろ始動しようかなと重い腰を上げ始めてます。

やりたいことは音声周りの信号処理をFPGAで実装してみる、というもの。
DE1にはオーディオコーデックとしてWM8731というチップが実装されていて、これをI2CでFPGAから制御できるようになってる。一応コーデックを使ったサンプルプロジェクトがあったり、最近買った書籍にコーデックアクセス用のNiosIIペリフェラルのソースコードが載ってたりするのでそれを参考にしてみる。

これをやってみることで、ペリフェラル(I2Cモジュール)の実装、NiosIIの構築、AvalonMM対応デバイスの作成あたりを習得しつつ、信号処理の勉強の下地を作れるかな、と。

とりあえずFPGAに関しては本読んでばっかりで実践が全く足りていない状況なのでHDL書きながら色々試してみたいデス。

Raspberry Pi と Arch Linux



ちょっと前の話なのだけれど、3ヶ月くらい前にRaspberry Piを購入した。
買った直後に起動テストだけして完全に放置、という非常にもったいない状態だったので、(Linux + サーバ)勉強用のマシンとして運用するため、Arch Linux をインストールしてみた。
で、Arch Linux起動後のアップデートでハマったのでメモしておく。

まずはRaspberry Pi公式サイトからダウンロードしたイメージ使って、SDカードにArch Linuxをインストール。
SDカードを挿し込んでボードに電源を挿す。OSの起動自体はすんなりうまくいったんだけれど起動直後に行ったglibcのアップデートでエラーが発生。

どうやら2012/7/14以降、Arch Linuxのすべてのパッケージが/libに置いてたファイルを/usr/libに移していて、これが原因でアップデート時にエラーが発生するらしい。
このエラーに対するフォローはArch Linuxの公式サイトに載ってたのだけど、一緒に載ってる解決法を試しても全くうまくいかない。
(ちなみにこの過程で2度、カーネルパニックを引き起こした。。)

色々試したり調べてるうちに、最新(2012/9/16)版のRaspberry Pi用 Arch Linuxのイメージファイルを発見。
これを再インストールしてみることにした。
(公式サイトのリンクを辿って入手できるイメージは日付が2012/6/13になっていてちょっと古い)

再インストールしたArch Linuxでは問題なくアップデート完了、ことなきを得た。

じき公式サイトのイメージも新しいものに置き換わるとは思うけれど、それまでの間は新しいイメージ使ったほうが良さそうです。