マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

FPGA

怪しい近似式について

distance = max * 0.84 + middle * 0.5175 + min * 0.2675という式を以前求めていたが、これはベクトルの長さを近似用に作ったものだった。ただスカラーの平方根も欲しいと思っていたが、xyzを求めたい平方根の元の数に合わせて√3で割ればいいんじゃないだろ…

俺達の自作GPUはこれからだ!

いろいろあって球の描画を一旦やめて、三角形表示に行き、うまくいった。なので球の描画に戻ることにした。これができないとカーネル/VMでのデモが二次元な三角形を1つ描画して終わる。かなしすぎるので、なんとしてでも球を描画したい。まだ時間はある。頑…

結局残ったのは固定小数点数の誤差だった

しばらくの間、自作GPUの中で使っているベクトルの正規化がうまく機能しておらず、どうしたものかと悩んでいたら、結局は固定小数点数の誤差だった。今まで気を使っていた部分ではあるが、何度も苦しめられている。だが、今回も無事に乗り切り、正規化に成功…

平方根を使わずに三次元上の2点間の距離を近似する

翻訳:平方根を使わずに高速で2点間の距離を近似する http://d.hatena.ne.jp/nowokay/20120604#1338773843を見て三次元オリジナルバージョン(コメントにある通り、係数は違う方法で求めています。力技で求めました)を作ってみようと思い計算を始めた。とり…

平方根を避けたい

3Dグラフィックスを扱うとベクトルの正規化は避けられないと思うが、そこででてくる平方根求めるためにニュートン法使ったらコンパイルが急に遅くなって死にそう。なんとか近似できないものかと思ったら下記のエントリ発見!これは使うしかない。ただ二次元…

三角形らしくなってきた

固定小数点数の精度を見直して、三角形らしい形になってきた。まだノイズがあるので、消したいところだが、これ以上精度を弄るのは微妙なところ。bit数上げればとも思うが...

世の中はバケモノだらけか!

すげーとしか言えない...

解決しつつある

問題は小数の精度だったらしい。固定小数点の小数部の精度を上げたら綺麗になってきた。まだ、汚いけどさっきに比べれば大分良い

自作GPUでポリゴンが表示できた!

と思うんだけど、これはどうなんだ?VGAの魔力でこうなったのか?それにしても酷過ぎる

よしポリゴンを表示だ!あれ...?

Verilog HDLに苦戦しながらも、ディスプレイに出力ができた。そして、ポリゴンを一枚ディスプレイに表示させるはずが...あれ?何をミスったんだ。固定小数点数の扱いか?それとも単なる計算ミスか?はたまた...

コンパイルに物凄く時間がかかる

きっと、適切でない使い方をしてるからだろう。HDLのコンパイルに物凄く時間がかかるようになってしまった。まぁ、だんだんわかっていくだろうから気にはしてないが...

HDLをいろいろわかってないので

わかってないぶん、いろいろな部分で苦労する。まだ描画できてないけど、計算はほぼ完成しているのであと少しのはずなんだけどなぁ。カーネル/VMのネタ候補だけになんとかしたい

ようやく表示できると思いきや?

DE0でようやくVGAで出力できると思いきや計算ミスって背景色しか描画されないと言う悲しさ。固定小数点数の計算でミスってるのか、それとも計算自体がおかしい?まぁ、地道にデバッグします。シミュレータ、シミュレータ

凄い人は凄い

これは勝てない...

テレビで遊ぶ

DE0で遊べるディスプレイがないと思いきやテレビが使えることがわかった。ちゃんと表示もできたし自作GPUの開発は進めれそうだ。そろそろ動いているところを写真に撮れそうだ。でもDE0で扱える色が...頑張れ私!

試行錯誤

くだらないミスを多発してるため、試行錯誤回数が増えている。もっと勉強してからと思うが、事前には勉強しないんだよな〜これが。うん、行動しないと勉強しないし、勉強だけやるのは苦手だ。だから行動に移した。そして失敗している。悲しい

道が閉ざされた

FPGAで遊んでいたディスプレイが壊れた。7年前に1500円で買ったかなり古いディスプレイだったので精神的なダメージは少ないが、FPGAで遊べるディスプレイが無くなったのが痛い。今、金があれば...

固定小数点数

浮動小数点数をどうやって実装するかわかってないので、固定小数点数を扱うしかない。昔、何かの言語で固定小数点数を作って計算していた気がするのと、最近、とあるARMが乗っているコンピュータで扱ったことがある。とあるARMが乗っているコンピュータでは…

道は見えた

DE0でGPUを作りたいと思ってたのだが、SDRAMが8Mとの戦いになっていた。が道は開けそうだ。今の方法を諦めて別の方法をとることにすれば、だいぶメモリが節約できることがわかった。まぁ、最終的にはメモリがどうなるか心配なんだけど。とりあえず、明日、新…

Nios IIを使い始めた

これから作ろうとしているプログラムの形が見えてきた。今度こそ頑張れそう。あとはDE0からVGAで画面に出力すれば、だいぶ話は進みそう。まずは2Dから頑張る

Nios IIを使おう

今やろうとしていることはCPUを作るという目的ではないため、Nios IIも積極的に使っていこうかと思っている。というか、Nios IIに任せればいい部分を、頑張ってVerilog HDLでやろうとしていたようだ。CPUは後回しにして、今はFPGAに慣れるためにいろいろやっ…

今日はFPGAで遊んでました

LEDチカチカさせたりしてVerilogを思い出していました。あと、SDRAMの使い方も進展があったような気がします。さて、アレをしたいところだが...

時間ができたので

そろそろ本格始動したいところ。SDRAMの使い方がわかれば私のモチベーションは上がると思われる。頑張ってSDRAMを使い方を学ぼう

VRAM

画像表示するためにVRAMを設定して扱うことに、DE0ではSDRAM使わないとVGAのカラー画像は無理そう。さぁ、SDRAMの道へ。参考にするページ http://www.hmwr-lsi.co.jp/fpga/fpga_10.htm

自作言語作成へ?

FPGAで作る予定の自作CPU上で動くプログラムを作るために自作言語の作成を考えている。まぁ、最初のうちはバイナリエディタでもいいだろうけど、多少規模が大きくなるかもしれない。というか、そんなに大きくなくてもバイナリエディタはきついだろう。という…

自作CPU本が難しい...

FPGAを全く知らなかった俺にとって『CPU自作入門 ~HDLによる論理設計・基板製作・プログラミング~』は難しすぎたので、『超入門!FPGAスタータ・キットDE0で始めるVerilog HDL』を以前購入した。ちょっとCPUに詳しければ『超入門!FPGAスタータ・キットDE0で…

勉強

moduleの使い方を勉強中。早くROM、RAM、VGAあたりを触ってみたい。そしてCPU開発へ...

DE0の7セグLEDで遊ぶ

DE0のボタンを押すたびに7セグLEDに表示している数値が上がっていくカウンタを作ったところ。現在のところ0〜9までしか扱えない

しばらくDE0に触ってなかった...

今日も触ってなかったわけだが、これから積極的に遊びたい。CPUが作れるようになるまで頑張りたい

学習中

チャタリングとかフリップフロップとか勉強中...