SFL(Structured Function description Language)は、ハードウェア記述言語である。
記述対象を、単相の同期式回路に絞っていること、プロセッサのパイプライン等の記述を意識した、ステートマシンを記述できる言語機能を持っていること、などの特徴がある。
見た目は、文の最後にセミコロンを置く、複数の文をまとめるのは(VHDLやVerilogと違い)begin〜end ではなく "{" "}" である、式の並びはコンマで区切り、引数は "(" ")" で括る、など、C言語に似ている。
1980年代よりNTTによって開発が進められ、現在は大学での利用が主である。
「パルテノン研究会」により、標準的な仕様が策定され、「SFL仕様書」が配布されている。一部旧来の実装と異なる点がある。インクルードとマクロには言及していない。
NTT電気通信研究所で、言語の開発と同時に開発された合成系であるPARTHENONシステムや、sfl2vlなどがある。PARTHENONシステムではPrologを使っており、独自のProlog処理系を含んでいる。次に述べるNSLの実装であるNSL CoreにもSFLを受け付けるオプションがある。
SFLの影響を受けたハードウェア記述言語に、IP ARCH, Inc. が開発し、オーバートーン株式会社がサポートしているNSLがある。SFLにはOccamの影響を受けた「par」という並列プリミティブがあったが、NSLではキーワードparを排して、単文のあるべき所に単に { } があれば並列動作とし、さらにSFLには存在しなかったOccamのSEQに相当するseqというシーケンシャルな動作(クロックドメインの動作)の記述のためのプリミティブがある。
未登録
IPFS未登録
📡 0ピア
N=1
CRITICAL
PQS D32