タグ

Chiselとfpgaに関するxiangzeのブックマーク (3)

  • ChiselのパラメタライズによりGenericなモジュールを作成する手法 - FPGA開発日記

    Chiselによりインタフェースのパラメタライズの検討を行う。例えば、汎用インタフェースを使用してバスのマルチプレクサを構成することを考える。 インタフェースとしては以下のものを使う。以下のGenBundleはTで汎用化されている。valid, sideband, dataの信号線が用意されており、dataは一般化されており、任意のデータ型を渡すことが可能である。 class GenBundle[T <: Data](dataType: T) extends Bundle { override def cloneType: this.type = new GenBundle(dataType).asInstanceOf[this.type] val valid = Output(Bool()) val sideband = Output(UInt(10.W)) val data = Out

    ChiselのパラメタライズによりGenericなモジュールを作成する手法 - FPGA開発日記
  • FPGAにおけるベンダフリーな検証環境について

    はじめに 技術部のcpcと申します。FPGA等での回路設計や所謂IoTセキュリティをしています。 さて、FPGAへ実装を行う場合、最終的にはどこかのベンダの製品を使う訳でベンダ依存になるのは当たり前の事ではありますが、ベンダIPが密結合していない部分等で可搬性が高い構成にしたいことは多いです。 そこで今回はオープンソースツールを使ったベンダフリーな検証について書きたいと思います。 有り体に言ってしまえば「 UVM, Verilogシミュレータ, 波形ビューワ…この世にはもっと良いベンダ実装が有ったほうが良い物が沢山あります。それらをOSSのパワーでフォローします。」という事ですね。 なおVerilog系、特に断りがない場合はverilog-2005とSystemVerilog-2012に対応しているツールだけを紹介します。また、稿でVerilogと書いた場合Verilog-HDLだけでは

    FPGAにおけるベンダフリーな検証環境について
  • Chiselを使ってMNISTハードウェアアクセラレータを実装(FPGAで確認) - FPGA開発日記

    MNISTを、ハードウェアアクセラレータを使って高速化したい。 前回はChiselで初期実装を行った。シミュレーションをして、短いテストプログラムで動作確認をして、結構うまく動作するようにになったのでいよいよFPGAに書き込んで確認したい。 やってみよう。 関連記事 目次 RISC-V ISS Spike を使ってMNISTのハードウェアアクセラレーションをシミュレーションしたい RISC-V ISS Spike を使ってMNISTのハードウェアアクセラレーションを実装する Chiselを使ってMNISTハードウェアアクセラレータを実装(実装中) Chiselを使ってMNISTハードウェアアクセラレータを実装(FPGAで確認) Chisel でDot Product Acceleratorを実装する 結局以下のような実装になり、シミュレーションを実行したところ正しく動作しているようだった。

    Chiselを使ってMNISTハードウェアアクセラレータを実装(FPGAで確認) - FPGA開発日記
  • 1