Tech と Culture

テクノロジーとカルチャー

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

データパスのRTL

これまでに設計したデータパス部分をRTLで記述しました。 VHDLの記述の基本事項を知らないために、たったこれだけのものでかなりの時間を費してしまいました。 まずはライブラリの指定から。 最初の ieee.std_logic_1164.all は当然のように指定しましたが、…

ソースコード表示テスト

ソースコード表示のテストです。 まずは、唐辛子というコンバーターを使った結果。library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_signed.all use ieee.numeric_std.all;entity yccdatapath isport ( yin : …

データパスのビット長(2)

以下のようにデータパスのビット幅の構造が決まりました。 このビット構造で正しいかどうかホスト側のXwindows上のプログラムを変更して確認します。 IJGの中のjdcolor.cというファイルの中でこのYCC-RGB変換が実現されています。 もちろん、ソフトウェアで…

データパスのビット長(1)

データパスのビット長を決定しなければなりません。 インターフェース誌の記事を参考に、同じような考察をYCC-RGB変換モジュールのデータパスに対して行ってみます。 ソフトウェアであれば、INT型、DOUBLE型と演算のビット幅は決められたものから最適なもの…

VMware Server

VMware server 2.0 をインストールして、無事CentOSをゲストOSとして起動できたので、パフォーマンスをチェックしてみた。まず最初にマルチブート環境にインストールした方のCentOSで、VGAサイズの motion JPEG を実行した。 CPUコアがひとつだけ100%で 5.1…

CentOS インストール メモ

Dell Studio Desktop Intel QuadCore Q8200 Memory DDR2 4MB Graphic chip RadeonHD3650 にCentOSをインストールCentOS5.1のインストールDVDではドライバ不足でインストールできず。 (おそらくHD3650関連のドライバ)CentOS5.2のインストールDVDでインスト…

PCがきた!

DELLのPCが到着。 一応Linuxのマルチブートも可能にしておくつもりでパーティション作成。 以前使ったパーティションコマンダーというソフトをインストールすると、、、、、 システムコマンダーとかいうプログラムがインストールされていてMBRをぶっ壊してWi…

Theora on LEON

ぷらぷらとネットサーフィンをしていると、LEONにTheoraという動画フォーマット用のハードウェアをつなげてFPGA上で動画をデコードしましたというホームページを発見! http://www.students.ic.unicamp.br/~ra031198/theora_hardware/どうやら…

YCbCr-RGB変換モジュール(2)

少し修正。 PCが動いたり止まったりと、とても設計する気がおきません。。。。。。 DELLのオーダーステータスを見ると、到着は3月14日前後。そこで、VHDLの本を一冊買いました。 「HDLによる高性能ディジタル回路設計 - 森岡澄夫」 以前見たインターフェ…

Pender Electronics Design

私の持っているボードはPender Electronics DesignのGR-XC3S-1500です。http://www.pender.ch/index.shtmlこの会社は、LEON Processorの開発元である、Aeroflex Gaisler と共同でボードを開発しています。よって、初期にLEONをボード上で動かすときに公式に…

ケーブルがキター!

年末の大掃除でFPGAのコンフィグ用のケーブルを紛失してました。 これまでは、すでにフラッシュに書き込んでいたハードウェア上で実験していました。 そして海を越えて今日やってきました!digilent社のUSB−JTAGケーブルです。 ボードのマニュアルにもdigile…

YCC-RGB変換モジュール

とりあえず、ざっくり考えたものがこちら。続きこれからもうちょっと詳しく考える必要があります。 とりあえず、デバイスドライバ部分がまだ詳細が分かっていないので、READY信号を作ってリードできるようにします。アプリケーションからは、ここをリードし…

AMBAバス

GrlibのAMBAバスマスターエミュレータ2つとAHBメモリ2つとAHBコントローラをつなげて、write, read, burst write, burst read を実行させるRTLシミュレーションをmodelsim上で実行しました。 AMBAの基本的なプロトコルは以下のようなものです。 http://www…

PCが

たった今、設計につかっていたPCがお亡くなりになりました。。。 (Mac miniから書いています。) いきなり画面が乱れ始めたと思ったら、再起動しても何も表示しないし、ハードディスクも動いていません。 まあ、古くて安いCeleron 2.8GHzのPCでしたし、ファ…

IJG YccRGB conversion

jdcolor.cのソースコードのコメントにもあるように、Ycc->RGB color conversionは以下のような単純な演算で変換できる。 * R = Y + 1.40200 * Cr * G = Y - 0.34414 * Cb - 0.71414 * Cr * B = Y + 1.77200 * Cbソースコードの方を見てみると、 > /* Range-l…

VMware

VMware Server 2.0 がうまくインストールできない、、、、 プログラム実行すると localhostのポート8333にアクセスしようとするが、開けない、、、、 ネットで検索すると、ここら辺で引っ掛かっているひとがたくさんいる模様。もう少し調べよう。

HDLシミュレーション3

GHDLについて散々調べますが、なかなか分かりません。 そしてこうなったら最後の手段で modelsim を使ってみることにしました。 modelsimはASICの設計にも使われているソフトなので完成度も高いだろうし、grlibでも公式サポートツールになっているため、バッ…

HDLシミュレーション2

RTLシミュレータ環境を立ち上げるのに悪戦苦闘していました。 Gaisler Research から提供されているRTLはSPARCV8プロセッサだけではなく、メモリコントローラやEathernetコアをはじめとしてSoCに使えるIPが目白押しです。RTLの完成度も非常に高いのですが、…

HDL シミュレーション

RTLの設計のためには、まずHDLシミュレーションができる環境をつくらねばなりません。 LEONは多数の論理シミュレータをサポートしています。チップレベル(SoC)のサンプルRTLが様々なボードに向けて公開されていますが、そのディレクトリでmakeを行うだけで…

雑記

LEONはGNUライセンスでソースコードが公開されているので、RTLをすべてみることができます。RTLのコーディングも分かりや易く、汎用性が高い記述になっているので、マクロを流用して開発できると思います。いろいろディレクトリを調べていくと、 $GRLIB_HOM…

最初の目標

JPEG処理の本を読んでいくと大雑把に言って、 ハフマンデコード -> DCT -> upsample -> YCC-RGB変換 で処理が行われている。 本屋でいろいろ調べていたら、DesigneWaveの2008年1月号にJPEG処理のハードウェアについて非常に分かり易い記事を発見。上の処理の…

ターゲットボードでの motionJPEG

そして、ターゲットボードでの再生がこれ。 QQVGAサイズ(160x80)で、1.52fpsと予想したとおり厳しい状態。 40MHzのCPUでソフトウェアのみの処理なので当たり前ですね。QVGAで27fps出そうと思ったら、約70倍に処理能力をあげねばなりません。 メモリバスネッ…

ホストでの動画再生

とりあえず、ホストコンピュータで motionJPEG 再生したのがこれ。 2.8GHzのCeleron processor PCにCentOSをインストールしています。 QVGAサイズだと動画に見えますが、VGAサイズだとfpsが低すぎて紙芝居にしか見えません。。。。もう少し処理能力高いかと…

バス構成

現在のFPGA内部のバス構成は以下のようになっている。 (40MHz動作) フレームバッファはメインメモリ上にある。 SDRAM入口の部分の帯域が厳しいだろうと思うので簡単に計算してみた。 VGAサイズ(640x480)で1ピクセル24ビットカラー(実装で32ビット使う…

djpeg の motionJPEG対応

入力データとなる多数の画像が含まれるjpegファイル (motionJPEGファイル)が生成できたので、今度はプログラムの方を変更して次々と画像を表示していくようにする。libjpeg.doc を読んでいくと、 Abbreviated datastreams and multiple images という章があ…

motionJPEGファイル と ffmpeg

いろいろ調べてみるとJPEGの規格の中に動画の規格はありません。しかし、一枚のJPEGファイルの中に複数の画像を詰め込む規格があります。これをパラパラ漫画のように表示するのがmotionJPEGのようです。 もちろんこのままでは、再生速度がマシンによって変わ…

gprof

処理速度をあげなければ動画にならないのでプログラム中のどこで処理時間がかかっているか調査を行います。 gprofというプロファイラを用います。コンパイルする際に -pg オプションを付けます(オブジェクト生成の時とリンクの時両方必要)。 できあがった…

IJG jpeg library

IJG(Independent Jpeg Group) のライブラリには充実したドキュメントがあるのでそれを調べました。structure.docにdjpegの構造が載っています。Here is a sketch of the logical structure of the JPEG decompression library: |-- Entropy decoding |-- Coe…

Xwindow

motionJPEG のソフトウェア部分を開発するのに、ターゲットボードで開発するよりもCentOS上で開発した方が簡単なため、ホスト上で画面表示させるXwindowのコードを埋め込みます。 SPARCV8版でフレームバッファに出力した部分をXwindow上でWindowを開いて表示…

画面表示

ターゲットボード上でjpegのデコードができることが分かったので、次は画面表示する方法を探ります。 linuxのフレームバッファに書き込む方法を調べたところ、次のホームページに簡単な方法が書いてありました。http://hms.tukusi.ne.jp/~ooyu/catf/catf5.ht…