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

2009年4月19日

ど根性ポトス

Filed under: 日記 — い~ぐる @ 5:36 PM

R0010597.JPG何年もほとんど変らず、大きくもならなかったが、ここしばらく、葉も茶色になりはじめ、もうだめかと思いきや、どっこい生きてるらしい。

ハードウェアgeneratorとsynthesizer

Filed under: Weblog — い~ぐる @ 12:48 AM

FPGA CPUのサイトにJan Grayが comp.arch.fpgaに投稿した記事が出ている。

彼の定義だと、generatorは明示的にネットリストを記述したもので、synthesizerは、動作合成を共なうものということだ。Grayは高級言語から回路合成するsynthesizerに懐疑的で、必要性は薄いといっているが、これは私も同じ意見だ。これをありがたがるのは、設計において、クロックスロットを制御できないヘボい似非エンジニアくらいのものだろう。ソフトでもハードでも、まともな設計者は、データの流れ(いつ、どこに、どのように移動させるか)をコントロールすることが設計の重要ポイントであることを知っているのだ。

さて、高級言語(HLL)からの合成は、Grayが定義したような解釈が固まりつつあるように思えるが、Logic synthesisという時には、VerilogやVHDLなどの明示的にネットリストを記述する言語からのネットリスト生成もsynthesisと扱っている。(これらの言語が出始めたころの時代の問題か?)

それはともかく、UMLから、SFLのスケルトンを作るのは、ほとんど一対一対応であるが、ネットリストを記述するよりは、もう少しましなことをしているので、合成という雰囲気を持っていると解釈している。

ただし、データの流れは、100%制御可能であることが、HLL合成の連中とは異なる。

我々ロジックアーキテクトに必要なものは、データの流れを100%制御可能でありながら、記述性が高く生産性を向上できる言語なのだ。

今回の一連のUML2SFLの開発の中で、UMLクラス図は、上手に使うと、生でテキストを描くよりも、生産性が上るかもしれないと思い始めている。(余分なタイピングを減らすことができる程度ではあるが・・・)

全てをUMLに載せることもできるが、OMGのMDAのようなおかしなものにすると逆に生産性は大幅に低下すると思うので、エンジニアリングチョイスが重要である。

Powered by WordPress