SFL

出典: フリー百科事典『ウィキペディア(Wikipedia)』

SFL(Structured Function description Language)は、ハードウェア記述言語である。

概要[編集]

特徴[編集]

記述対象を、単相の同期式回路に絞っていること、プロセッサパイプライン等の記述を意識した、ステートマシンを記述できる言語機能を持っていること、などの特徴がある。

構文[編集]

見た目は、文の最後にセミコロンを置く、複数の文をまとめるのは(VHDLVerilogと違い)begin〜end ではなく "{" "}" である、式の並びはコンマで区切り、引数は "(" ")" で括る、など、C言語に似ている。

意味[編集]

ハードウェア記述において重要である並行性については、CSPを参考にしておりOccamからの影響がみられる。

歴史[編集]

1980年代よりNTTによって開発が進められ、現在は大学での利用が主である。

仕様[編集]

「パルテノン研究会」により、標準的な仕様が策定され、「SFL仕様書」が配布されている。一部旧来の実装と異なる点がある。インクルードとマクロには言及していない。

実装[編集]

NTT電気通信研究所で、言語の開発と同時に開発された合成系であるPARTHENONシステムや、sfl2vlなどがある。PARTHENONシステムではPrologを使っており、独自のProlog処理系を含んでいる。次に述べるNSLの実装であるNSL CoreにもSFLを受け付けるオプションがある。

NSL[編集]

SFLの影響を受けたハードウェア記述言語に、IP ARCH, Inc. が開発し、オーバートーン株式会社がサポートしているNSLがある。SFLにはOccamの影響を受けた「par」という並列プリミティブがあったが、NSLではキーワードparを排して、単文のあるべき所に単に { } があれば並列動作とし、さらにSFLには存在しなかったOccamのSEQに相当するseqというシーケンシャルな動作(クロックドメインの動作)の記述のためのプリミティブがある。

文献[編集]

  • 「はじめてのPARTHENON」(CQ出版『PARTHENON/CQ版』 ISBN 4-7898-3799-8 付属冊子)
  • 『ULSIの効果的な設計法』

外部リンク[編集]