アダルト・ヴァイオリン May the force be with you..

2009年1月27日

VHDL対応強化

Filed under: Weblog — い~ぐる @ 9:54 PM

やりはじめたら、中途半端に止められない性格のため、sfl2vlのVHDL対応の強化をしてしまった。(といっても、Verilog版に追い付いただけだが…)

強化点は、次の通り

  1. セレクタ最適化オプション導入
  2. メモリ合成のサポート
  3. generic/generic mapのサポート

これらの対策で、Apple-I互換機のVHDL版がXilinx社ISEの合成を通るようになった。

この回路では、最適化で、クロック周波数は約15%向上する。
これに対し、LUT数は、1.4%程多くなっている。

まぁ、いい感じのトレードオフではないかな?

VHDLが嫌いな点の追加(;-p) なぜに、奴らは、予約語をこんなに増やしたのか?
inやoutも気持ち悪いが、ror,rolなどまで予約語にしなくてもいいだろ?

このところ、毎日のように午前3時すぎまで、仕事をしていたので、さすがに少々くたびれてきた。戦士の休息が必要ですね。(まだ休むめどは立たないけれど…)

VHDLでのセレクタ最適化

Filed under: Weblog — い~ぐる @ 1:13 PM

VHDLは構文上、プライオリティエンコーダを含むセレクタを推奨する本が多く、サンプルで見かける例にも、whenを使った、プライオリティ付セレクタ使用例が多いので、おそらく、VHDLユーザは高速回路にあまり興味がないだろうと思っている。

Verilogユーザはスピードにクリティカルなので、SFLからVerilogに変換する場合、最適化を指示すると、AND-ORによる高速セレクタを生成していた。一方、VHDLへの変換では、先の理由から、最適化を指示しても、Verilogほどの突っ込んだ最適化はせず、推奨構文を用いて、分りやすい生成しかしてこなかった。

VHDLのユーザはあまりいないので、これで問題になることもなかったし…

ところが、自分のプロジェクトで無料のレイアウトツールとして、Allianceを使おうと思うと、高速なVHDL回路が欲しくなる。もちろん、VerilogからEDIFに変換するツールを用いて、EDIF経由でレイアウトする方法もあり、以前、テストチップ作成したときには、Verilogの合成ツールを自分で書いて対応した。

だが、EDIFレベルの論理合成をライブラリの属性を見ながら最適化するツールを作るのは、無駄な気がして、あまりメンテナスしていない。

そこで、自分のプロジェクトで使うために、sfl2vhでのセレクタ最適化が可能となるようにした。

回路実装までは試していないが、完成したとしても、今まで、VHDLユーザーには、その手のリクエストはなかったので、一般公開はしなくてもいいかも?

2009年1月26日

玄米を食する

Filed under: 日記 — タグ: — い~ぐる @ 9:04 PM

香典返しにカタログで商品を選択するものが来たのだが、あまり欲しいものがなかったので、食べて終るものというチョイスで、玄米を頼んだ。
この玄米、洗わずに炊けるというのが売りらしい。
でも、玄米である。もともと米糠を取るための「研ぎ」は必要ないだろ?
と、小さな疑問はあったが、それは置いておき、美味しくいただけるものはいただけばいいのだ。
とはいうものの、普通に炊くだけではつまらないので、昨日の肉じゃがを温めるついでに、御飯が炊けないか?と考える。
仮説:圧力鍋の蒸気は120℃程度になるので、お茶碗に玄米と水を入れ、肉じゃがを温めるのと同時にお茶碗を温めておけば、勝手に御飯が炊けているかも?
実験:
・圧力鍋に蒸し料理用の皿を敷き、水を入れた上に、玄米を入れた茶碗に水を少し多めに入れて置く。
・肉じゃがの器をその隣に…入らなかった(^^;)。
この時点で、圧力鍋で作業する必然性はなくなったのだが、実験である。とりあえず、そのまま続ける。
すると…
玄米
う~む、これは、おじやですか?(爆)
食べられるものから作っているので、食べられないものはできていないので、とりあえずは、良しとしよう。
(次からは、きっと普通に土鍋で炊くことになる予感が…)

初日の出(旧暦)

Filed under: フォトログ — タグ: — い~ぐる @ 9:07 AM

昨日、ラジオかなにかで、ふと、「明日は旧暦の元旦です」というのを聞いた。
元旦といえば、初日の出である。
ということで、↓
IMGP1013.JPG
Pentax *istDL/SMC DA 21mm/F3.2

2009年1月24日

遠くに海が…

Filed under: フォトログ — タグ: — い~ぐる @ 9:12 PM

日が当ると、ほんの少しだけだが、遠くに海が光って見える。
IMGP1012.JPG
Pentax *istDL/271D
IMGP1008.JPG
Pentax *istDL/DA 21mm F3.2

昔むかし、あるところに

ふと、変わったことをやってみたいと思った男がいた。
かれこれ、10年以上前の金融ビッグバン前の話である。
その男、片っ端から関連の書籍を読んで、自分なりに考えをまとめ、不明なところは大蔵省(当時)に問い合わせたり、直接、アメリカにメールを出したりして、国外に株式投資の口座を作り、その経験を基に、あるホームページを作った。
外国株投資の雑学
ある男とは、昔の い~ぐるなのだが(^^;)、このページ、書籍のリンク以外は全くメンテナンスしていないにもかかわらず、未だに相互リンクやアフィリエイトのリクエストがくる。でも、普通の人が読んで役に立つようには書いていないのですが(爆)
実は、金融ビッグバンの時に、外国証券会社がコンテンツを買い取りたいという打診をしてきたこともあるのだけれど、今考えれば、売ってしまってもよかったかも?
こういうご時勢なので、もう誰も読まないだろうけれど、最近、新しいネタを書く気力がないので、昔の話でお茶を濁そう(^^)。
海外ネタついでに、実は、1円会社が日本で認められる前に、い~ぐるはハワイに会社を作ってみた。日本の株式会社は取締役が複数必要で、誰かにお願いしなくてはならないのだが、単に「作ってみたかった」でお願いできる友人はいないので、一人で全部できる海外の会社にしたのだ。
日本に法人登記しているので、日本でも活動できるのだけれど、そんな時間など全くないので、毎年、会社と個人の確定申告をダブルで行う手間と、赤字でも払わなくてはならない、法人住民税の納税、海外本社の代行会社の手数料という出費が増えただけだった(爆)。
そもそも、この海外口座も、ハワイに設立した会社も、儲けるためではなく、試してみたかっただけなので、ほとんど(全く)運用はしていない。なので、間違っても、い~ぐるが金持ちだなんていう幻想は抱かないように(←そんな人はいないか 笑)

SystemCの分割コンパイル

Filed under: Weblog — い~ぐる @ 1:53 AM

ふと、思い出したが、SystemC(というか、C++)では、分割コンパイルする時に、インクルードするヘッダファイルに、コンストラクタを書く必要があった。

SystemCのコンストラクタは、実質内部処理を記述しており、IP記述としては、役に立たないと、その昔、仕様を読んだ時に思ったのだった。

コンストラクタまで入れたヘッダファイルは、処理部分を入れたファイルと大きさ的にも大差ないので、ファイル丸ごとインクルードという今の仕様でもいいのかも?

2009年1月23日

sfl2vl SystemCサポートβ版リリース

Filed under: Weblog — い~ぐる @ 5:38 PM

モジュールの基本動作、状態遷移マシンの自動生成、階層モジュールの動作など、ざっとではあるが、一通りの確認ができたので、sfl2vlの SystemCサポートβ版をリリースする。 (Windows GUI版のみ)

もう少し確認を終えたら、正式リリースをする予定。

今回はざくっとSystemCのファイルを作ることが目的なので、生成コードの効率に関しては目をつぶっている。もっとも、同一 SFLからVerilogに落ちるので、論理合成に持っていきたい人はいないと踏んでのことだが。

確認のため、いくつか、SystemCのテストベンチを書いたが、SystemCは、かなり面倒だ。SystemCを用いるテストベンチの簡単な作成方法を考えないと、(私のようなオールド)ユーザに優しくない。

食費、浮く

Filed under: 日記 — タグ: — い~ぐる @ 7:48 AM

昨日はある展示会の運営側スタッフとしてかけずりまわっていた。
司会をしたり、会場担当でマイクを持って走り回ったりしていたのだが、バックオフィスには、コーヒーがいつでも飲めるようになっていたので、ガブ飲みしていた。
終了して帰ることになると、さすがにコーヒーを飲み過ぎたのか、気分も悪くなってきたので、お先に失礼した。
家に帰っても、全くお腹も空かず、さっさと布団を敷いて寝ることに。
結局、夕べは食事をしなかったが、今朝になってもお腹は空いておらず、まるまる一食分は食費が浮いた。お昼は会場手配のお弁当だったので、都合二食分浮いた(笑)。
今日は展示会の運営は他の人達に任せ、い~ぐるは東京出張である。
朝御飯はどうしようかな…まだお腹は空いていないが、バナナとヨーグルトくらいは食べた方がいいか?

2009年1月22日

SystemCでシミュレーション

Filed under: Weblog — い~ぐる @ 10:03 PM

SFLから自動生成したSystemCのコードにmainルーチンを付け、コンパイルして実行してみた。

一日忙しかったのと、本日は、体調不良のため、階層モジュールで動くかどうかはまだ試していないが、とりあえず、レジスタを含む単純なモジュールは動いている。

C++に慣れていないので、分割コンパイルがうまくいかず、mainから合成したファイルをインクルードしてしまったが、分割コンパイルの方法を調べなくては…

備忘録:
モジュール端子のバインディングでは、型をきちんと合せる必要がある。
c++だから仕方ないが、自動キャストできる場合とできない場合、あまり一貫性がないのが気持ち悪い。というか、代入の時だけかな、キャストが自動的に行なわれるのは?

SFLでのマルチビットの端子は、sc_uintにしていて、シングルビットの端子は、boolに変換したので、バインディングの受け側のシグナルも同じ型にすること。

Older Posts »

Powered by WordPress