新千葉 ガーベージ・コレクション

FPGA マガジンやインターフェースで書けなかったこと等をちょぼちょぼ書いてます。@ryos36

2010-01-01から1年間の記事一覧

quoted? と assignment? とdefinition?

quoted? は (quote (a b c)) のように quote で始まるかどうかをチェックしている。lisp ではもっと簡単に '(a b c) と書く。こういう lisp の事情が理解できると quoted? はことさら説明するまでもない。 assignment? は set! で始まる scheme の代入(?)。…

[SICP] variable?

scheme の実装で変数をどう扱うか?という話だ。変数はシンボルなので symbolp でチェックしている。簡単だ、、、一方、その評価は簡単じゃない。 まず、仕様として環境が入れ子になっている点がある。さらに、各環境で変数に関連付けされている値がある。こ…

[SICP] self-evaluating?

scheme で評価されたときに 3 は数字の 3 と評価されたい。"abc" の文字列は "abc" と評価されたい。eval で最初に検査されるのがそのような、自分自身を返すかどうか?というチェックである self-evaluating? だ。 (defun self-evaluating? (exp) (cond ((n…

[SICP] 4 超言語的抽象 - 1 -

ここのポイントは scheme を scheme でつくること。その中心が eval だ。折角なので lisp で再度(2度目、、、)作ってみる。scheme を scheme でつくると SICP にあるように (define (eval exp env) (cond ((self-evaluating? exp) exp) .... と続くことに…

SICP を lisp で

(defun scheme-eval (exp env) (cond ((self-evaluating? exp) exp) ((variable? exp) (lookup-variable-value exp env)) ((quoted? exp) (text-of-quotation exp)) ((assignment? exp) (eval-assignment exp env)) ((definition? exp) (eval-definition exp…

モナリザを傾ける

SystemC でモナリザを傾けてみた。3D の変換も何とか出来そう。一応、SystemC でオンザフライでやっているつもり。

xcheme

microblaze 用の scheme を作った。xcheme と呼ぶ。近日中に SP605 にも移植して公開する予定。多少問題もある。例えば多くの lisp の実装に従い下位 3 bit がタグだ。したがって、int は 29 ビット。アドレスなどは 32 ビットフルに使うことが多いので多少…

実例で学ぶゲーム3D数学

実例で学ぶゲーム3D数学を読み始めました。大変わかりやすい。訳者も OpenGL などの本をたくさん書いたり、訳している方です。なんかこれを読んだら 3D でぐりぐりとオブジェクトをまわすことが出来そうな気がしてきた。3D 関連の本を今後読みあさろることに…

モナリザ

まぁなんでもいいけど、世界堂といえばモナリザでしょう。http://tokyopasserby.blogspot.com/2010/02/02.htmlこれだけじゃツイッター状態。

Maxima

前からちょっと気になっていた Maxima をインストールしてみた。Windows のインストーラがあったので簡単にインストールして使えた。wxMaxima が出来がいい?というコメントをどこかで見たのだけど、全然使い方がわからない。今一度チャレンジしたら、ctrl-e…

HD-Lisp

Lisp で VHDL のエンジン(インタプリターか?)を書き始めた。以前、SICP を見ながら scheme を clisp で動かしたので、比較的簡単に、、、というわけにはいかないが、ちょっと書けた。スタイルは cl-who を参考にしている。case/when 位は解釈できるようにな…

FMC と電圧

FMC の先に繋がっている機器がうまく動作しない。いろいろしらべた結果、FMC が 3.3V を期待しているところを SP605 が 2.5V しか供給していないのが問題らしい。回路図を調べると、SP605 は H40, G39 に 2.5V を供給している。しかし XtreamDSP の FMC は 3…

SystemC

SystemC を VS2008 にインストールしてみた。記録はこちら。 http://www.ipcore.jp/ipcore/tech/systemc/systemc-with-visual-studio-2008

FMC のその先

結局、テスタなどで調べた結果、scl や sda に 2.5V が来ていることがわかった。なんでしょう?ucf には LVCMOS33 としてビットストリームも出来ているのに。とりあえず通販でバッファICを購入。2.5V -> 3.3V に 変換する予定。その前に、EDK11.5 がでている…

FMC ふたたび

SP605 の回路図を良く見てみた。DVI のコネクタの I2C はどうも 2.5V 出力になるようにトランジスタで調整しているらしい。つまり、bank2 に 3.3V としても、外にでるときは 2.5V が保証される。これで安心して(?)ucf に 3.3V の設定をすることが出来る。…

FMC のわな

FMC すごくよさそうな気がしていたのだが、ちょっとした罠がある(気がする)。いま、FMC につながれているチップ(I2C PCA9546/9555)にアクセスしているのだが、VDD は 3.3V がつながれている。で High Level Input Voltage は 3.3V x 0.7 ≒ 2.3v だ。これ…

FMC 上の I2C

FMC 上の I2C にアクセスできるようになった。FMC にはいま PCA9555 等がつながっている。MT9V024 も RJ45 で繋がっているはずだ。まずは PCA9555 にアクセス。XIic_Send は I2C のデータシート上のアドレスに1ビット右にシフトした値を送信先アドレスとし…

SP605 とビデオ入力

SP605 から XMB で PCIe 経由で PC(i386) のメモリへ cafebabe を書くことが出来た。右往左往した結果、結局 CLK のつなぎ間違いが原因。なんだよ〜〜。といいつつ、バースト転送も出来たし、まぁいいとしましょう。PCIe 経由で VRAM (これは PCI か、、、)…

さぁ PCIe の Windows ドライバ開発

ここからは私の最も得意とする分野だ。といいつつ、久しぶりに DDK をインストール。おーのー、DDK という名前ではなく WDKになっている。ターゲット機に RS-232-C をつないで、WinDbg とつなげる。15 年前から変わらないデバッグ手法だ。 Windows XP をとめ…

Spartan-6 の PCI Express と VHDL/Verilog

Spartan-6 の PCI Express の CORE Generator で作ったサンプルを動かしている。同じことを Verilog と VHDL で作ってみた。ところが、PciTree で Verilog 版はちゃんと動くのにも拘わらず、VHDL 版は極端に遅い。理由はまったくわからない。サイズは 1M。う…

PCIe

spartan-6 の PCIe についてちょっと記事を書いた。 http://www.ipcore.jp/ipcore/tech/fpga/sp605 主に SP605 でのデザインになる。簡単に LED の拡張くらいはできるかな。

T410

Dell のサーバーを買ってみた。でかい。普通のデスクトップサイズかと思って買ってみたのだが一回り大きかった。その上音がうるさい。まぁしかたがないか。RAID の構成に一苦労している。bios が RAID を持っているのだがどうもソフト RAID のようだ。SATA …

PCIe

このところずーと取り組んでいる Xilinx の Spartan-6/Virtex-5 上の PCI Express 。まず PCIe の end point と PLB の橋渡しは出来るようになった。これはユラの貢献によるところが大きい。 ATX ボードに SP605 をのせて Windows が立ち上がり、そんでもっ…

verilog

なんかしらんが verilog も適当に書けるようにはなってきた。いいのか悪いのか。verilisp もできるに違いない。

PCIe + SP6 の新しいボード

ついにうちも Spartan6 の新しいボードをだす!! しかも PCIe。いまごろミュンヘンで Xilinx とともにデモの準備をしていることだろう。明日から展示。http://www.xylon.hr/html/GCCB_board.htmlこのボードのソフトウェアの開発には日本のメンバー(私も含…

PCIe と SystemC

PCIe なんかうまくいかないと思っていたら、、、リセット信号の極性を間違えていた。つねにリセットしっぱなし。そりゃうまく動かない。いま合成中。あと 30 分はかかる。systemC を FreeBSD で動かした。以前、インストールしたままだった。まぁ、ハーフア…

PCIe

TED の講義を受けてきてだいたい Xilinx の PCIe は使えそうだということがわかった。マルチファンクションも出来る?なぜかサンプルソースが Verilog なので、なれない Verilog で書いている。まぁ VHDL もにたようなものだから。とりあえずコンパイル(合…

XILINX Spartan3E Sample Pack

わけあってクロックをオシロスコープで見ることにした。やけにピンボケになるな、、、分周しても正確な値にならない、、、とおもったらどうやら 50MHz からわずかにずれているようだ。ぶれもあるようだ。元になるクロックは、水晶でなく、LT6905という発信用…

スノーボード

スノーボードの世界は良くわからないが、ハーフパイプで優勝したショーン・ホワイトはこんなん。 他のオリンピックのウィンタースポーツとちょっと違い、TOYOTA や NISSAN が冠をなしたプロの大会がありX ゲームズというシリーズ?になっているようだ。そう…

verilisp

去年発見した verilisp。使うのは簡単。 (module test ( (output a) (inout (2 b c)) (input d e) ) (display b c d e) ) (module test2 () (wire a b0 b1 d_ c0 c1 e) (test a (cat b0 b1) (name d d_) (name c (cat c0 c1)) e ) (display 2) ) (module clo…