FC2カウンター FPGAの部屋 2008年09月
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

残念、20世紀少年、サクソフォン・コンサート

昨日は連荘で映画館で20世紀少年を見てこようとした。だけど、映画館に行ったら、14:20からの回は満席だった!!! 行ったけど見られませんでした。本当に残念。。。来週のリベンジを誓って、本当に悔しい思いをしながらも帰ってきた。
17:30からはTsukuba Saxophone Quartet Saxophone Concert Vol.2へ行ってきた。高校の娘がクラスマッチ(運動会のようなもの)の打ち上げで宴会をしていて(最近の高校生は贅沢ですね)お迎えがあるので、奥さんは待機のため行けなかった。本当は夫婦行きたかったのだが、私だけとなった。
会場はほとんど若い人ばかりだったが、同じような年齢の方もいらっしゃったようだ。
はじめは、サクソフォンとピアノの演奏。最初のサクソフォンはソプラノというのかな?一番小さいサクソフォンだった。私は音楽のことは良くわからないが、本当うまいと思った。これは主旋律を演奏するサクソフォンなんだろうな?
次はバリトンというのだろうか?大きな低い音のするサクスフォンだった。これはソプラノに比べて、単体でピアノと演奏するのはどうなのか?と思ったが、さにあらず、とても雰囲気のあるいい演奏だった。これはこれで良いな?
ソプラノ、アルト、テナー、バリトン・サクソフォンのカルテットの演奏もあった。プロの方も出ていたが、素人耳にも音が違うような気がした。
非常に皆さんうまかったし、満足した。
しかし、どうもサクソフォンのような笛系だけだと、倍音が足りないのか?単純な主旋律だけに感じてしまう。実際に音の波形を見ても笛系は正弦波に近い形をしている。ということで、やはり、倍音が多いピアノや弦楽器と一緒に演奏したほうが、音に広がりが出るような気がして、私は好きだ。
  1. 2008年09月29日 05:38 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

JAXA見学、まとこ食堂、パコと魔法の絵本

今日は小学校の親子レクリエーションでJAXAの見学に行ってきた。
JAXA_1_080927.jpg

JAXA構内はバスで案内してくれた。最初にバスで展示室へ行った。最初にかぐやが展示してあった。この展示室には来たことがあるが、きれいなおねえさんのガイド付きで来たのは初めて。
JAXA_2_080927.jpg
写真はかぐや。銀色の板は放熱板だそうだ。輻射しか放熱できないだろうから。。。
LE-7、LE-5エンジンやひまわりとかも展示がある。宇宙ステーションにつけるきぼうの船内実験室模型などなど、もっと見ていたかったが団体行動なので残念。
次に宇宙ステーション試験棟へ、きぼうの本物?を見てきた。
JAXA_3_080927.jpg
後は、バスで移動し、ロケット音響体験をしてきた。これは種子島の発射場から3Km離れた位置でのロケット発射音の体験だ。かなり腹に響く音がした。いつかは打ち上げを見に行きたいと思っているのだが、なんと、奥さんもこれを体験して見に行きたいという話になった。
最後にお土産屋でたこ焼き、プリン、杏仁豆腐の宇宙食、つまりフリーズドライフーズを買ってきた。たこ焼きは本当に中にたこが入った、たこ焼きの形のフリーズドライ。食えなくはないが、水で戻さないので硬い。

昼食は院生からおいしいと聞いていたまこと食堂に行った。タンメンがおいしいそうだ。私はタンメン、奥さんは味噌タンメン、娘は塩ラーメンを頼んだ。
タンメンは野菜とお肉がたっぷり乗ってきた。とてもおいしい。ボリューム満点。にんにくがたっぷり利いている。ちょうど肉野菜炒めが麺の上に載っているような感じだ。
しかし、娘の塩ラーメンはジャガイモ、わかめ、コーンなどが載っていて、バーターたっぷり風味だった。はっきり言ってまずい。やはりここはタンメンに限るようだ。
塩ラーメンは誰も食べられずに、娘には私のタンメンを分けてあげた。それで十分腹いっぱい。やはり量が多いようだ。

さらに、パコと魔法の絵本の映画を見に行った。楽しいのは楽しい映画なのだが、どうかと問われれば微妙。奥さんと小4の娘は面白かったそうだ。
  1. 2008年09月27日 20:49 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:2

Virtex5 XTX ( 6.5Gbpsトランシーバ最大48個搭載のFPGA誕生!)

昨日、Xilinxから”6.5Gbpsトランシーバ最大48個搭載のFPGA誕生!”というメールが来ました。
XilinxのVirtex5 TXTが出たそうです。
高速トランシーバならば、AlteraのStartix4が最高 8.5 Gbps で動作する最大 48個の 高速トランシーバ を搭載しているそうですから、Xilinxの方が後手に回っている気がします。おまけにプロセスルールも65nmと40nmの違いもありますし。。。
実際に出てくる時期の違いはどうなんでしょう?Startix4はもう物があるんでしょうか?その点はXilinxの方が早いのかな?
近頃はXilinxよりもAlteraの方が元気があるようで、Alteraが気になってきました。Alteraのツールやデバイスもいじってみようかな?SOPC Builderとかも気になります。
でも、コンフィギュレーションケーブルとかを買わないといけないんですよね。
  1. 2008年09月27日 06:11 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:4

Plasmaを使うことにした

”プロセッサMico32を試してみた”でLatticeのMico32を試してみた。
あの後、プロジェクトをクリーンアップしたら、まともに論理合成できるようになったが、いろいろなオプションが邪魔で、なかなかLatticeのマクロを使わないようにできない。いろいろ修正したのだが、論理合成ツールがFATALエラーになってしまい断念した。
Mico32はだめそうなので、何が良いかと探していると、そういえば以前Plasmaをやろうとしていたのを思い出し、プロジェクトが残っていたので、ISE10.1iのプロジェクトに変換してやってみたところ、若干の修正ですんなりインプリメントできた。
後の問題は、PlasmaはVHDLなので、Veritakでシミュレーションできないのが痛いので、どうしようかと思っていたら、Veritakのオープンコアのページの中のMIPS-R3000のページでVeritakでシミュレーションの仕方とソースコードが落ちていた。
早速、Veritak 3.50A でやってみたところ、1つエラーが出た。それは702行目の
reg [((31-0+1) - 1):0] ram_proc__storage [0:(ram_proc__mem_size - 1)];
で、ram_proc__mem_sizeが定数でないと怒られている。
その上で integer ram_proc__mem_size = 8192; とは書いてあるんだけど。。。
とりあえず reg [((31-0+1) - 1):0] ram_proc__storage [0:(8192 - 1)]; に修正したらコンパイルが通った。シミュレーションも問題なくできるようだ。
これで問題はなくなったかな?
ところでdemo.v を見ると、VHDLのソースがわかりやすいようにVerilogにトランスレートされている。これを使って、Verilogで全部やれれば良いな?
ライセンス的にはこれを変更して、自分で配っても良いのだろうか? まあ、demo.vをそのまま使っても良いか。。。

とりあえずは、Plasmaを使って、自分のDDR SDRAMコントローラを実装して、キャラクタ・ディスプレイ・コントローラ、キーボード・コントローラを組み込んでマイコンを作ることを目指そうと思う。
その前に、なつたんさんの貧乏人のためのDDR2/DDRコントローラのアイディアをいただいて、Suzaku-VのDDR2 SDRAMコントローラを修正して試してみようと思っている。
  1. 2008年09月26日 05:58 |
  2. Spartan3E Starter Kit でマイコンを作る
  3. | トラックバック:0
  4. | コメント:4

ISE10.1i サービスパック3

Xilinx ISE10.1i サービスパック3が出ています。Xilinxのダウンロードサイトからダウンロードできるようです。
IPアップデート3も出ていますが、まだXilinxのダウンロードサイトに項目は見えません。
XilinxUpdateからアップデートするのがよさそうです。通常はISEを立ち上げてHelpメニューにXilinxUpdateがありますが、ウォーニングが出てうまくいかなかったので、アクセサリからXilinxUpdate単体で立ち上げてアップデート中です。
ISE10_1i_sp3_1_080925.png

ISE10_1i_sp3_2_080925.png
これにはISEとEDKとChipscopeが入っているので、そのアップデートもあります。IP Update 3 もXilinxUpdateならばアップデートできるようです。
Updateの最後にWindowsを再起動することになりました。
  1. 2008年09月25日 09:07 |
  2. Xilinx ISEについて
  3. | トラックバック:0
  4. | コメント:2

Tsukuba Saxophone Quartet Saxophone Concert Vol.2

茨城県つくば市のつくばカピオホールで、2008年9月28日の19時30分からTsukuba Saxophone Quartet Saxophone Concert Vol.2が行われるそうです。
Tsukuba Saxophone Quartet(つくば・サクソフォン・カルテット)は、茨城県つくば市を中心に演奏活動を行っているアマチュアのサクソフォン四重奏団・サクソフォンアンサンブルです。メンバーは筑波大学吹奏楽団の現役とOB・OGを中心に構成されています。”
ということです。
関連のある院生がやっています。サクスフォンのコンサートに興味のある方は無料ですので、行ってみてください。私も行く予定です。
TSQ_LIVE_1_080924.jpg
TSQ_LIVE_2_080924.jpg
  1. 2008年09月24日 20:16 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

プロセッサMico32を試してみた

パソコンも大丈夫だったので、Latticeのオープン・ソース・プロセッサMico32をISE10.1iでインプリメントできるかどうか試してみた。
DWM2007年10月号”第2章オープン・ソースのCPUコアの実力を試す”の雑誌付属のCDのプロジェクトを使って、インプリメントしてみた。
Mico32がインストールされたフォルダからVerilogファイルをプロジェクトへコピーして、localparam互換性を合わせるために、localparamを書き換えた。
雑誌付属のCDのプロジェクトはISE9.?だったので、ISE10.1iにプロジェクトを変換した。そうして論理合成してみたところ、"Unexpected error found while building hierarchy."のエラーで論理合成ができなかった。
Mico32_test_1_080924.png
原因は何だろう? Mico32が変更されたとか?
もしかして、バージョンを変換されたプロジェクトファイルが悪いのか?もう一度プロジェクトを作り直して試してみることにする。
  1. 2008年09月24日 11:40 |
  2. Spartan3E Starter Kit でマイコンを作る
  3. | トラックバック:0
  4. | コメント:0

Google Chromeでひどい目にあう

”Google Chrome インストールに失敗”でGoogle Chromeのインストールに失敗してしまったが、今日、Chromeサポートからメールがあった。新しいChromeでやってみてということでやってみたが同様にだめ。
Chrome Helpも見てね、ということだったので、トラブルシュートを見たら、同様のケースがあった。
それは、 "Chrome won't install if windows partition is not set to C: "で結局、C:ドライブがメモリカードメディアのリーダー・ライタなのでだめだということだった。解決策としては、C:のドライブを無効にして、C:ドライブをHDにsubstするというものだった。
これでやると、Chromeがインストールはできた。しかし、C:ドライブを有効にすると、また例のダイアログが出てしまって消えない。
再起動してもだめ。Chromeを消してもだめになってしまった。おまけにWindows のエクスプローラ が不安定でドライブを表示すると固まってしまう。完全におかしくなってしまった。
HDドライブを購入し、追加して、そっちにWindowsを再インストールしてやりなおすことにした。これで2週間くらいパーだ。。。
くそー。今週はMico32の評価をしようと思っていたのに、完全に予定が狂ってしまった。俺の貴重な時間を返せ。Chromeの
馬鹿ヤロー。

# 一部不適切な言動があったことをお詫びいたします。

追記:Windows のシステムの復元で元に戻りました。一安心。お騒がせしました。
Windows XP SP3て、スケジュールでシステムの復元ポイントを定期的にとっているのでしょうか?
昨日の復元ポイントがあって助かりました。セーフモードで復元しました。
  1. 2008年09月23日 09:02 |
  2. パソコン関連
  3. | トラックバック:0
  4. | コメント:2

一麺でラーメンを食べてきた

日記が多くなったが、現在Spartan3Eスタータキットのプロセッサをどれにするかを選定中。OPENCORES.ORGはIDがないとダウンロードできなくなったようで申請中だし、Mico32は本を職場に忘れてしてしまったので、プロセッサのVerilogコードがどこからダウンロードできるかわからずに苦戦中だ。

昨日、自由研究の展示会の後で、一麺、豊里店の塩ラーメンの九条ねぎトッピングと餃子を食べてきました。
食べログ.comではあまり評価は高くありませんが、私はここの塩ラーメンが好きです。年のせいかさっぱり系がすきでして、スープにこくがあり、スープを単体で飲んでもいけます。
ここの塩ラーメンにはカリカリに焼いたにんにくが入っています。それがまた風味を増していてすきですね。
ichimen_1_080921.jpg
餃子も食べましたが、餃子自体はおいしかったです。よく、お店の餃子で後味が悪いというか、食べた後に味が口の中に残っているのがありますが、そういうのは嫌いです。そういう餃子は化学調味料がいっぱい入っているんでしょうかね?
ここの餃子は、最初はおいしく食べたんですが、ラーメンを食べた後で残った餃子を食べたときに皮が重く感じました。もう少し皮が薄いほうがいいなか?
ichimen_2_080921.jpg
一麺は下広岡もいって食べてきましたが、運が悪かったのか?塩ラーメンのスープが2層に分かれていたようで、(つまりよくまざっていなかったのかな?)上の塩味の薄い層を最初に飲んでいて、ずいぶん味がうすいな?と思っていたのですが、下の層になると”うわー塩辛い”ということになって、いい思い出がありません。それからは豊里の一麺でも、一応食べる前に味を見るようにしていますが、ここは大丈夫のようです。
妹のグルメブログのようになってしまいましたが、久しぶりにラーメン食べておいしかったです。今回は食べる前に撮影することができました。
  1. 2008年09月21日 05:38 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

夏休み自由研究発表会

夏休みにやった自由研究の発表会を市民ホールつくばねでやるということで、うちの娘の自由研究も展示されるので行ってきました。今日と明日、展示するそうです。
うちの娘の自由研究のテーマは”いろいろなもので草木ぞめ”です。去年の石の自由研究で面倒だということがわかったので、今年はやらないかと思っていたのですが、草木ぞめだったらやってみたいと急遽やることになって、お盆のころやっていました。
面倒なのはいやということで、パラメータは振らずにインターネットで調べた???ぞめのやり方そのままに綿の布を染めてみました。コーヒー、紅茶、たまねぎ、ブルーベリー、むらさきたまねぎ、赤じそ、青じそ、ピンクのばらの花びら、どくだみで染めてみました。
たまねぎが本当にきれいな黄色に染まったのが、びっくりしました。赤じそは緑に染まって、またびっくり。私もやっていて面白かったです。
はじめは私がアシストしながら娘が手書きでA4用紙に書いて、そこに写真を貼ったものを模造紙に貼ってポスターを作りました。後で、学校から項目が足りないので、やり直してほしいという要望があったので、私がOpenOffice.orgを使って作り直しました。ワープロでやっても良いそうです。
jiyukenkyu_080920.jpg
いろいろほかの人の自由研究を見て回ったのですが、銀賞、金賞などは、細かい字でびっしり書いてありました。本当に良くできてきています。親の苦労がしのばれるようでした。。。
金賞取れるように来年はしっかりやる?と娘に聞くと、こんなに書かないといけないのならやりたくないと言っていました。まあ、やるだけましというところですね。
ある中学校の自由研究ポスターは模造紙の大きさのポスターで、すべて印刷でした。つまり大判プリンターを使っているようです。もはや、子供の自由研究とは言えないですね。
  1. 2008年09月20日 13:33 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:2

内部クロック1.5GHzの超高速非同期FPGA

@eleのcpu_fanさんの日記を読んでいたら、”Achronix、1.5GHzの内部クロック周波数を実現したFPGAを製品化”というマイコミジャーナルへのリンクがあった。
これは、このブログの”FPGAカンファレンス2008(東京)に行ってきた”で書いた熊本大学大学院教授 末吉 敏則先生の「やわらかいハードウェアを取り巻く最新技術動向とその基礎知識」で紹介されていた新しいFPGAベンダのFPGAだ。
そうか日本で発表されたんだ。Achronix Semiconductor社のサイトにも超高速非同期FPGA、speedstarProduct BreifDatasheetACEというツールのProduct Breifが公開されていた。
ちょっとデーターシートを見てみたが、非同期通信をする内部のファブリックとグローバルクロックがある外枠のフレームに別れているとのこと。DDR? SDRAMのインターフェースや10.3Gbpsや5GbpsのSDRDESなどがフレームのところに入っているようだ。
うまく使えれば超高速な回路が作れるのかも?

新しいアーキテクチャのFPGAはツールを作るのが大変だと思うが、ACEのProduct Breifを見ると論理合成はSynplify Pro で行うようだ。ACEというツールはPlace & Route などを行う。シミュレーションはModelSimで行うようになっている。

ともかくこれからが楽しみなFPGAが出てきたようだ。ちゃんとうまく量産できるか?性能が出るかが楽しみ。
  1. 2008年09月19日 05:56 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:2

ISE10.1でのNGDBuild - 「ERROR: Access violation について

DDR2 SDRAMコントローラは遅延を自動で変更しながら、最良のポイントを見つける方法でやってみることにしたが、その前に動作周波数を200MHzから150MHzに落としてみることにした。
そのためにはDCMをもう1つ追加する必要があるので、追加してインプリメントすると、下のようなエラーがTranslateででた。
"ERROR:NgdBuild - Access violation - no RTTI data!FATAL_ERROR:NgdBuild:Portability/export/Port_Main.h:143:1.6 - This application has discovered an exceptional condition from which it cannot recover. Process will terminate. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support."
これは何だ?ということで検索してみると、Xilinxのアンサー、”30908 - 10.1 NGDBuild - 「ERROR: Access violation - no RTTI data!FATAL_ERROR:NgdBuild :Portability/export/Port_Main.h:143:1.6(...)」というエラー メッセージが表示される”が見つかりました。
それによるとプロジェクトをクリーンアップすると解決するとのこと、やってみたら無事に通るようになりました。それにしてもなんだったんでしょうか?基本的なバグかな?

しかし、検索すれば原因がわかるようになったのだから、インターネットはたいしたものですね。
  1. 2008年09月18日 05:25 |
  2. Xilinx ISEについて
  3. | トラックバック:0
  4. | コメント:0

Notepad++の不具合?

Netepad++ v5.0.3をHDLソースの編集に使っているが、何かおかしいかもしれない。
pcix.vhdというファイルを”もう一つのビューへ複製”して、2ペインで編集しているのだが、その状態で文字列を選択すると、Netepad++のCPU負荷が50%(つまり1つのCPUを占有)してしまう。下のステータスバーのLn や Col などの文字の描画を繰り返しているようにかすれてしまう。
Notepad++_v503_1_080917.png
タスクマネージャーの画面を見るとNetepad++の負荷が50%になっている。
Notepad++_v503_2_080917.png
実害はないけど、気持ち悪い。

Notepad++をリモートディスクトップで使用したら、Netepad++が落ちて、編集していたファイルが落ちてしまった。せっかく編集したのに。。。やはり、少し怪しいのかも。。。
早速、環境設定から自動保存のオプションを入れた。これで大丈夫かな?

2009/06/07:追記
現在のNotepad++ v5.4.2ではこの現象は起こりません。v5の最初のころのバージョンはバグがあったような感じです。
  1. 2008年09月17日 17:38 |
  2. その他のFPGA用ツールについての話題
  3. | トラックバック:0
  4. | コメント:2

小学校の運動会

昨日は小学校の運動会でした。天気予報は曇りだったので、暑くなくていいかな?と思っていたのですが、晴れちゃいました。暑かったです。
undoukai_1_080914.jpg
下の娘は4年生でしたが、5,6年生の騎馬戦にも参戦しました。4年生としては大きいほうで、5,6年生の人数が足りなかったからだそうです。
undoukai_2_080914.jpg
騎馬戦の結果は負けたようです。まあ、勝っても負けてもどっちでもいいんですが。。。
障害物競走もあったのですが、奥さんも動員して、自分の子供の写真撮影をしようとしたんですが、やはり、奥さんともども、間違ったお子さんを撮影してしまいました。10倍ズームのデジカメで追いかけていると、どの子供やら、わからなくなってしまいます。やはり、目立つ靴下、靴は基本ですね。みんな同じ体操服なのでわからなくなってしまいます。
運動会中の撮影以外は、中学校の同級生とお話していました。いろいろ気が合うので、話していて楽しいです。同級生も地デジ対応テレビやビデオデッキは東芝がいいといってました。なぜかというと、USBで汎用HDDをつなげるからです。車の話とかで、楽しくお話ができました。また、来年もお話しましょう。よろしく。。。
  1. 2008年09月14日 17:31 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

2008年9月12日のやりたいこと

これからやりたいことを箇条書きにしようと思う。

1.DDR2 SDRAMコントローラを動作するようにする。今やっている改良(DQのディレイをNONEにする)がダメだったら、トレーニング・シーケンスで一番良いところを探すようにしようと思う。その際には、サンプリングポイントというかリードデータを受けるタイミングを本命、本命の1クロック前、本命の1クロック後と3ポイントで受けるデータを比較してうまく受けられたポイントを使うべきか?これは、本当の遅延が予測値と違っていてもリードデータを受けるための保険となってくれると思う。(でも、DDR2 SDRAMコントローラもそろそろ飽きてきた)

2.Spartan3E Stater KitのDDR SDRAMコントローラは動いているので、それを使ってみるためにプロセッサを入れて、できればuClinuxを動かしてみたい。キーボード・インターフェースもキャラクタ・ディスプレイ・インターフェースもあるし、マウスも日曜デジタルさんのところで書いてあるので大丈夫そう。プロセッサコアはPlasmaでも良いが、Lattice社のMico32でも良いか?筆者のY氏にFPGA活用チュートリアル2008/2009を頂いたんだし。。。

3.今作っているトラ技9月号のテスタを評価する。いろいろ測定してみたい。これはそう時間はかからないはず。。。

4.以前購入したアヴネット社のSpartan3A評価キットで何か作ってみる。トラ技9月号のテスタのグラフィック液晶をつけたり、シリアル・インターフェースをつけたりしてみようと思って、秋月で購入しようとしたが、グラフィック液晶は5V駆動だったので、Spartan3Aとつなぐにはレベル変換が必要。。。やりたいことはというと、デジタル・スピーカーを実験してみたいと思っている。昔、やりっぱなしになっていた音声関連もやってみたい。

5.Rocket IOなどの高速シリアル通信について、いろいろやってみてブログに書く。

6.仕事を家でもやる。仕事をやる気がわいてきたので、以前のプロジェクト同様に家でもやる気がわいてきた。でも、仕様策定からやっているのでブログに書くことがない。。。仕様書いてもしょうがない。

とりあえず1.をやってみて、できて満足したかもしくは、あきらめたら2.をやろうか?
2.はすでにuClinuxが動いているのがいいのだが。。。EDKでは面白くないので、全部自分でパソコンを作りたい。とりあえず自分でプロセッサを作るつもりはない。2.は面白そう。結構わくわくする。
4.も捨てがたいが、パーツを購入する必要がある。金がかかるし、とりあえず保留か?でも、これもやってみたい。
5.は、常に最先端の事柄についてやってみたいという気持ちがあるので、やってみたいのだが、シミュレーションもSWIFTモデルをサポートするシミュレータが必要だろうし、実機もないしだめかな?
6.も遅れているのでやりたい気持ちがわいてきた。早く完成させなくては。。。でも、これはブログに書けないんだよな。秘密ということもあるんだけど。作業量が膨大だからとりあえずVHDLコードを書きまくる必要がある。VHDLコードをブログに書いてもしょうがない。
  1. 2008年09月13日 05:04 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:4

Verilogでincludeを使用せずにパラメータをポート宣言に使う

なつたんさん”Verilog のポート宣言にパラメータを使う”で、Verilogのポート宣言にパラメータを遣うときにinclude文でparameter値をインクルードしないで、モジュールの後に直接parameterを記述する記述方法の紹介があった。(下に引用させていただきます)

module add   #(parameter width = 8)


上のモジュールから使用するときはparameter文に値を入れるのと同様に書けばよいとのこと。(またまた下に引用させていただきます)

add #(.width(4) ) add_u(.clk(clk), .a(a), .b(b), .c(c));


知らなかった。
今まで、私はインクルード用のファイルにparameter文を書いて、それをmodule宣言の後でインクルードしていた。こんな感じ。

module ddr2_sdram_cont (clk_in, clk_out, reset, input_data, input_mask...);
    `include "./ddr2_cont_parameters.vh"
    
    input clk_in; // クロック入力
    output clk_out; // クロック出力
    input reset;
    input [INTERFACE_DATA_WIDTH-1 : 0] input_data;
    input [INTERFACE_MASK_WIDTH-1 : 0] input_mask;


インクルードされたddr2_cont_parameter.vhにはparameter文が書いてある。

parameter DDR2_DATA_WIDTH = 16; // DDR2 SDRAMのデータ幅
parameter INTERFACE_DATA_WIDTH = DDR2_DATA_WIDTH*2; // DDR2 SDRAMは4バースト、2倍データ幅で2回書き込む
parameter INTERFACE_MASK_WIDTH = INTERFACE_DATA_WIDTH/8; // BEの幅


今まではこのインクルード方式しかないと思っていた。
共通に使いまわす値でなければ、これからはなつたんさんが紹介された書き方で書こうと思う。
なつたんさんありがとうございました。勉強になりました。
  1. 2008年09月12日 05:32 |
  2. 入門Verilog
  3. | トラックバック:0
  4. | コメント:2

トラ技9月号の付属テスタ基板

トラ技10月号が出た今になって、やっとトラ技9月号の付属テスタ基板が完成に近づいてきた。(下の写真)
良く見たら、液晶のしたの前のほうに抵抗とコンデンサをソケットに差し込むのを忘れていた。もう一度液晶を取って差し込んだら完成かな?
トラ技をほとんど読んでいないのだが、ソフトウェアはどうやって書き込むのだろうか?それに電源用のACアダプタも秋月で購入しないと。。。火曜日にFPGAカンファレンスに行ったときに買ってくれば良かったのだが、後の祭り。。。残念。
ついでにアヴネットのスパルタン3評価キット用に同じグラフィック液晶を購入して温度計にしようかな?
toragi10gatu_080912.jpg
  1. 2008年09月12日 04:55 |
  2. マイコン関連
  3. | トラックバック:0
  4. | コメント:7

FPGAカンファレンス2008(東京)に行ってきた

今日はFPGAカンファレンス2008(東京)に行ってきた。
最初に熊本大学大学院教授 末吉 敏則先生の「やわらかいハードウェアを取り巻く最新技術動向とその基礎知識」を聞いた。さすがに話しなれている。最新FPGAの技術動向などを興味深く聞いた。クロック同期でない非同期のFPGAが1.5GHzで動作するそうである。面白そう。ツールはどうなっているのだろうか?
次の東京エレクトロンデバイスの講演は大体知っていることだった。
「JTAGってどう使う? ~論理合成せずにFPGAを動かす、常識破りのデバッグ方法~」ではなひたふさんが講演した。MITOU-JTAGはFPGAをコンフィギュレーションしないで、JTAGから入出力ピンを駆動する機能に力を入れているようだった。
「FPGA設計の極意に迫る!」~カリスマFAEに聞くFPGAデザインの常識から裏技まで~ はXilinx, Altera, Lattice の代理店のカリスマFAEがタイミング・クローズについて語ってくれた。
アルティマの方は、まずはRTLを直せとのこと、同感。やはり、200MHzの0度クロックで動作するFFから90度クロックのFFへのデータ乗せ変えはVirtex4FX-10では、結構無理。そういう時はまず受けるクロックを180度とかにしたほうがいいと思う。
TEDのS氏はTiming Analyzer結果を場合わけして、それぞれにタイミングを改善する方法を説明してくれた。ためになったと思う。(大体わかっていたが。。。)3端子コンデンサの説明はグラフや近傍電界の図などを駆使してわかりやすく説明していたと思う。
低電力ソリューションは、ツールやデバイスがクリティカルパス以外のロジックセルの省電力化に対応しているAlteraと比べて、そういう明確な売りがないところがXilinxは厳しいかもしれない。(でも、思ったよりもAlteraの省電力ソリューションも効いていないような気がする。もっと劇的に効くのかと思っていた)
Alteraは40nmのStratix® IVがあるが、Xilinxには40nmのデバイスがないところも苦しい。でも時期デバイスとして、Xilinxの40nmのデバイスが載っているスライドがあった。やはりXilinxも時期デバイスを用意しているのだと思う。
Latticeはよくわからない。
コーヒーブレイクの時に、なひたふさんとお話した。一方的にしゃべってしまって失礼しました。おまけにうそを言ってしまったようで申し訳ない。Verilogも階層アクセスはシミュレーションの時のみのようだ。なひたふさん、ごめんなさい。論理合成でもTOP階層から下の階層の信号を参照できれば本当に良いんだけど。。。
FPGA関連の方々とざっくばらんにお話しする機会がないのがさびしい。今度そのような会がありましたら呼んでください。
  1. 2008年09月09日 19:05 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:2

常総市の花火大会

昨日の夜、常総市(水海道)の花火大会を見に行った。
上の娘が部活の終了を待って出かけたため、だいぶ遅くなってしまった。最初のほうの花火はち車中から見ていた。
今年最初で、たぶん最後の花火だったので、満喫できたと思う。
スターマインは結構すごくて、下妻の花火よりも数段良かった。ただし、遅く行ったので、駐車場が満車で路上駐車になってしまった。
花火終了まで見ないで、少し速めに切り上げたのだが、奥さんが不満そうだった。どうも路上駐車の車が気にかかったので、来年は明るいうちに早く行って、ゆっくり見たい。
帰りは、早めに切り上げたという利点もあったが、うちの奥さんの野生の感で、見事に渋滞を避け横道ですいすい帰宅した。(うちの奥さんは水海道が地元の近くなので、必ずしも野生の感だけではないのかもしれません。)ナビはつけていませんでした。
  1. 2008年09月07日 10:15 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:2

ブログ出版局

FC2ブログの管理画面ににブログ書籍化という項目が増えていて、これは何だとやってみたら、ブログを書籍化して本を作ってくれるサービスのようだ。これは、カテゴリ別にも分けられるようなので、FPGA関連だけを書籍化しようとしてみた。だが、460ページを超えてしまって制限にかかってしまうようでエラーになってしまう。残念。
書籍化してくれるところは、最終的にはブログ出版局というところで、とりあえず見本のPDFを作って見せてくれるそうだ。見本のPDFを作るところは無料とのことだった。
とりあえず全部は無理なので、FPGAリテラシー及びチュートリアルのカテゴリーだけ見本を作ってもらった。そうしたら120ページになってしまった。
だれか、私のブログ本作ったら欲しい方はいらしゃるでしょうか?

できてきたPDFを見ると本のサイズが小さすぎるようだ。本の仕様を見てみると四六版といって、大きさは188mm x 127mm だそうだ。これじゃ、図の大きさが小さくて本にしたら見えないかも?もっと大きなサイズA4版で作れないのかな?
本のほうは残念だが、無料PDFは使えそうかも?こっちを配布しようか?でも良いのでしょうか?著作権はこっちだと思うのでOKでしょうね?
  1. 2008年09月07日 05:28 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:2

DQSをクロックとしてDQをリードするDDR2 SDRAMコントローラの再検討

DQSをクロックとしてDQをリードするDDR2 SDRAMコントローラの初期化時に、トレーニング・シーケンスを行って、うまくリードデータが受かる遅延を探る方法を検討している。
今の計算では、FPGA内部や配線遅延を含めた総合的な遅延が6nsを超えるくらいなので、遅延を加えていっても、条件が悪くなるばかりのような気がする。
上のリンクの記事”DQSをクロックとしてDQをリードするDDR2 SDRAMコントローラの遅延の検討”から引用すると、
”これをFPGA動作クロックの270度で受けようとすると2クロック目で8.75ns となり、DQSクロックから270度クロックの乗せ変えのためのセットアップ時間として、8.75ns - 6.986ns = 1.764ns 見込めることになる。”
DQとDQSに遅延を加えていくと、この1.764nsの余裕がどんどんすくなるなるはず。。。

それから、このところ一番参考にしているXilinx社のアプリケーションノートXAPP721J、”ISERDES とOSERDESを使用した高性能DDR2 SDRAMインターフェイスのデー タキャプチャ”の9ページの遅延キャリブレーションフロー図の最初でDQSを2タップしか遅延していないがこれで大丈夫なのだろうか?
その前のページに”BUFIOとクロックリソースの伝搬遅延により 、 DQの遅延よりもDQS の遅延の方が大き く な り ます。”と書いてある。しかし、ISEのTiming AnalyzerでDQとDQSの.IOBDELAY_TYPE("FIXED"), .IOBDELAY_VALUE(0),のときの遅延値の比較は下の図のようになる。
DDR2_inquest_1_080905.png
これを見る限り、DQSのBUFIOの出力とDQ入力の遅延差は0.199ns、約200ps だ。それほど遅延差はないと思われる。
よって、Xilinx社のアプリケーションノートXAPP721JでDQより2タップしかDQSを遅延しないでうまく受かるのだろうか?ちょっと疑問?なぜだろう?
後はデータ・キャプチャ・ウインドウに入るようにDQとDQSの遅延タップを一緒に遅延させている。
しかしここまでやらないとスイートスポットが見つけられないのか?
ilinx社のアプリケーションノートXAPP721Jをみると、300MHz動作でジッタなどの不確定値が1.378ns もあり、ワーストケースのウインドウはたった289ps だそうだ。本当にこれで大丈夫なのだろうか?
それでトレーニングシーケンスでいろいろDQとDQSを一緒に細かく遅延させて受かるかどうかを確認しているようだ。
そういえばISERDESの内部のレジスタのセットアップ時間などのデータがデータシートに載っていない。clkはDQSが入っているし、OCLKとCLKDIVにはclk270度が入っているので、Timing Analyzerで解析できないはずなんだが、データシートに載っていないのでわからない。
とりあえず、今の状況でDQの遅延を加えていくと、ウインドウに入らない方向にいってしまうことが考えられる。実際に遅延値を変えながら、ちょっとやってみたんだが受からなかった。これを根本的に変えるには、ISERDESのOCLKとCLKDIVにクロック位相0度のclk を入れる必要がありそう。そうなると必然的にOSERDESの出力クロックもclk となるので、tDQSSをMAXに戻す必要が出てくる。
どうしようと思っていたが、お手軽にDQの入力遅延を約740ps 少なくできそうな方法を見つけた。

ここで、Virtex-4 FPGA Data Sheet:DC and Switching Characteristicsの28ページの表を見てみる。下にその一部を転載する。
DDR2_inquest_2_080905.png
上の表はISERDES Switching Characteristics の1部だ。データラインのセットアップとホールド時間をして示しているが、今はDDRモードを使用しているので、下のピンクで囲った部部になる。
現在は、緑で囲った部分を使用している。緑の部分の表で、最初の列が-12スピードグレードの遅延値、次の列が-11、最後の列が-10スピードグレードの遅延値だ。今使用しているVirtex4は-10 スピードグレードなので、右端の遅延値ということになる。これをみると.IOBDELAY_TYPE("FIXED") の時のセットアップタイムは1.08ns になる。これはTiming Analyzerのデータ遅延の一番下の値と符合している。
よって、.IOBDELAY_TYPE("NONE") にすれば約740ps 遅延が短くなるはず。。。(実際には.IOBDELAY("IFD"), を.IOBDELAY("NONE"), にしました)
そこでやってみたのが下の図。
DDR2_inquest_3_080905.png
DQをサンプルする入力用FFのセットアップタイムが1.08ns から0.335ns へ短縮されている。これは入力用遅延素子をバイパスしているためだろう。
これで、DQSクロックの遅延(3.107ns) - DQの遅延(2.163ns) = 0.994ns。DQとDQSの遅延の差はクロック周期(5ns)の1/4 (1.25ns) にしてみるとして(DDRで両エッジでデータをサンプルするから)、(1250- 994)/75 = 3.4 よって、3タップ遅延を入れることとする。
これでインプリメントしてどうなるか見てみることにした。

2008/09/07:追記:手動で確かめたところ動作しました。ですが、チップスコープの試用期限が過ぎたので、その後が確かめられません。
  1. 2008年09月06日 06:24 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:0

Google Chrome インストールに失敗

Google Chrome が出たので早速インストールして試してみようとしたのですが、下のようなダイアログが出てインストールできません。
chrome_install_err_080904.png
おまけに再起動するまでダイアログが消えません。散々でした。

WEBブラウザの中では、速いと評判なので、試して見られなくて取っても残念。
Veritakのことといい、私のパソコン呪われているのか、何かおかしいのでしょうか?とりあえずウィルスチェックはして見ます。

もしかして、DDR2 SDRAMが動かないのも、パソコンが呪われているせい???ひえー。。。まあ、自分のせいだとは思います。

もしかして、Windows XP Pro をクリーン・インストールしたときにUSBのメモリカード・リーダーを外さなかったため、HDDがH:になっているせいでしょうか?
  1. 2008年09月04日 05:35 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:6

Veritakのバージョンアップ(Version 3.50A)

”Veritakでのシミュレーションのやり方3(SuzakuV DDR2 SDRAMテスト回路を使用)”で、”Veriak-Basic Version 3.49C Build Aug.20.2008 にすると、新規プロジェクトを作成してプロジェクトをロードするときVeritakが落ちるときがあるようだ。”と書いたが、昨日リリースされたVeriak-Basic Version 3.50A Build Sep.2.2008 では新規プロジェクトを作成したときにVeritakが落ちることはなくなった。
たっくさん、どうもありがとうございました。これで、今まで以上にVeritakを信頼して使用することができるようになりました。
  1. 2008年09月03日 05:42 |
  2. シミュレーション
  3. | トラックバック:0
  4. | コメント:2

夏休みも終わりました

子供の夏休みも終わり、自由研究のまとめも終了したので一安心。
自分の年もついに 6'b11_0010 歳になってしまった。もう棺おけに片足以上突っ込んでいる感じ。
老眼も酷くなってきて、半田付けが厳しくなってきたが、マルツパーツ館から部品を購入したので、トラ技9月号付録のテスタを作っている。
跳ね上げ式のルーペがあるので、それを利用して半田付けをやろうと思っている。

DDR2 SDRAMの方も、SuzakuVのDQSでリードデータを受けるDDR2 SDRAMコントローラを改造して、最初にリードデータを受かるかどうかテストするシーケンスを追加する予定。
  1. 2008年09月03日 05:16 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:2

夏休み最後の日にディズニーランドに行ってきた

昨日は夏休み最後の日、上の娘は明日、試験ということで行かなかったので、家族4人でディズニーランドに行ってきました。
車で研究学園駅まで行って、その後はTXと武蔵野線で舞浜まで行く予定だったが、途中で息子が下痢だということで、途中の駅で降りてトイレタイム。具合の加減では私と息子で家に帰ろうかと相談したのだが、何とか大丈夫そうということで舞浜駅へ。
舞浜駅は晴れていました。数日来の豪雨を心配していたのですが、まあよかった。
ディズニーランドに入ると結構混んでいる!!!夏休み最後の日なので、そんなに混まないと思っていたのに。。。10時ころにぷーさんのハニーハントのファストパスを取りにいったら、なんと入場時間は17:25~、夕方です。。。ダイアモンドホースシューの予約も取りにいったのだが、午後8時のキャンセル待ちだといわれたので断りました。
最初にゴーカートを乗りました。これは子供たちに、いつも好評です。
desny_land_1_080901.jpg
終わって、11時くらいですが、食事をすることにしました。今まで食べたことがない、クイーン・オブ・ハートのバンケットホールで食事です。入るとバイキング形式で好きなものをとり、お金を払う方式でした。時間が早いのに結構混んでいます。私と下の娘はハート型ハンバーグ、奥さんはチキン、息子は腹の調子が悪いということでムースのみでした。
食べたものを写真を下に貼りますが、食べかけで申し訳ありません。どうも、写真を撮るのを忘れて食べちゃいます。妹のブログでは食べる前の写真が乗っていますが、本当に食べる前の写真をとるのは難しいですね。どうしても食べちゃいます。
desny_land_2_080901.jpg
これが欠けていますが、ハート型のハンバーグ、上に王冠がついてました。食べかけで失礼します。味はあまりおいしくありませんでした。奥さん手作り(こう書いておかないと怒られますね。でもおいしいです)や生協の冷凍ハンバーグの方が数段おいしいです。あまりお肉の味がしません。これで1,280円なので、ぼったりという気持ちです。
desny_land_3_080901.jpg
娘の頼んだムースのケーキ、これは上のムースはおいしいが、下のスポンジがざらざらといっていました。
desny_land_4_080901.jpg
これがシーザーサラダ、680円だったかな?これも食べかけで失礼します。味はそれなりでしたが、少しドレッシングが物足りないか。。。
ディズニーランドのレストランはやはりコストパフォーマンスが余りよくない印象でした。やはり、人件費が高いのでしょうか?
息子もだいぶ腹の具合がよくなったようで、娘の残したハンバーグをきれいに平らげました。良かった。
ところで食べ物はいまいちでしたが、内装には金がかかっていそうでした。おとぎの国にふさわしい内装ですね。
desny_land_6_080901.jpg

食後は、乗ったことのないカヌーを乗りに行きました。そうという以前ですが、レガッタをやったことがあるので、カヌーに乗るのが楽しみです。カヌーはオールが船に固定されていないのが違いますが。。。
カヌーに乗りました。前後にお兄さんがついていますが、大変ですね。乗客はあまり当てにできないので、前後の係員2人が頑張ってこいでいます。後ろのお兄さんの背中は汗だらけでしみていました。
desny_land_5_080901.jpg
私としては、もっとコックスの前のお兄さんが大きな声で掛け声をかけてくれて、それにあわせてこぎたかったのですが、自分がこぐのに忙しそうでした。まあ時間がないので仕方ありません。

まだ終了してませんが、この辺で。。。また書き足します。
続き。

その後は、トムソーヤ島いかだにのって、トムソーヤ島に行ってきました。いろいろなアトラクションというか、アスレチック系があって楽しかったです。つり橋、たる橋。ここは行ったことがなかったので、面白かったです。
desny_land_7_080901.jpg

後はカントリーベア・シアターやウエスタンリバー鉄道などに乗りました。
時間になったのでファストパスでぷーさんのハニーハントに乗ってきました。いつもながら乗り物がどう動くかわかりません。あれ、どうやって制御しているのかがとても気になります。どうやっているんだろう?
結構楽しんだし、明日から学校や仕事なので家に帰りました。お終い。。。
これで、ディズニーランドに足掛け25年間行っていることになりますね。
  1. 2008年09月01日 06:07 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:2