タグ

HDLに関するsunasajiのブックマーク (1)

  • 関数型言語で高位合成を - なつたん

    最近schemeを勉強していて思ったこと。 「関数型言語をそのまま論理合成できたらおもしろくない?」 ASIC/FPGAの信号処理の開発は、 ①処理のアルゴリムを数式で書く ②アルゴリズムをC言語に書き直す。(C言語でテストを行う) ③RTLへ変換する。 の3段階が主流です。RTLの後もいろいろあるのですが、VerilogなりVHDLまで行ってしまえば、あとは枯れた技術なので何も手を入れる必要がない。SystemCとかは②と③の間全体を受け持ち、高位合成ツールというのは②から自動的に③を作る。ざっくりいうとそんな感じ。 ①から②の質は、逐次処理の追加である。 16個のある値を足す処理を考えると、①の段階では、y = Σni (1 <= i <= 16) のような表現になり、ここに時間の概念はない。一般的なプロセッサは同時に処理ができないので、C言語でこの数式を表すと、このようになる。 i

    関数型言語で高位合成を - なつたん
  • 1