SFL
![]() | 「SFL」のその他の用法については「SFL (曖昧さ回避)」をご覧ください。 |
SFL(Structured Function description Language)は、ハードウェア記述言語である。
概要
特徴
記述対象を、単相の同期式回路に絞っていること、プロセッサのパイプライン等の記述を意識した、ステートマシンを記述できる言語機能を持っていること、などの特徴がある。
構文
見た目は、文の最後にセミコロンを置く、複数の文をまとめるのは(VHDLやVerilogと違い)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の効果的な設計法』
外部リンク
- パルテノン研究会
- PARTHENON
- SFL仕様(BNF等)
- SFL仕様書配布(上記の仕様を元に構文図にしたもので、仕様の原本ではないとのこと。なお、コメントが空文字と同じか、空白と同じか、等、相違がある)
- ip-arch.jp NSL Tutorial: Basic structure of NSL(ハワイにあるスタートアップとのことだが、ドメインはjpである)
- 表示
- 編集