問題タブ [chisel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
75 参照

hardware - ループを展開する必要がありますが、代わりに AssertionError をスローしています

以下のプログラムの Verilog を生成しようとしましたが、AssertionError がスローされます。対応する Verilog アンロール "io.opcode := io.a + io.b" ステートメントは 5 回ですか? forループがどのように機能するかを誰かが教えてくれれば非常に役に立ちます。

0 投票する
1 に答える
563 参照

chisel - chisel 標準ライブラリのシフト レジスタの動作は、イネーブル ラインに対して正しいですか?

シフト レジスタを含むデータ パスを作成しようとしていますが、新しい入力を待っている間、すべてを停止できるようにしたいと考えています。標準ライブラリにイネーブル行のあるシフト レジスタがあることがわかりました (ただし、デフォルトは true です)。

問題は、私がそれを使用しようとすると、コンパイルされた Verilog が実際にイネーブルが低いときにシフト レジスタを停止しているように見えないことです。

次のチゼル コードを考えてみましょう。

次のベリログを取得します。

シフトレジスタは、全体ではなく最初の値のみを固定しているようです。たとえば、連続するクロック サイクルで 1,2,3,4,5 を書き込んで、1,2,3 のイネーブル ハイのみを保持した場合、3 は正しく保持されますが、1 と 2 は最終的にシフト アウトし、全体がシフト レジスタは値 3 で満たされます。

のみのチュートリアルで見られるシフト レジスタの例のような動作を希望します。問題は、パラメータ化可能な長いシフト レジスタが必要なため、各レジスタを手書きすることはできません。チゼル チュートリアルに見られるような有効な動作を備えたシフト レジスタを実装するチゼル コードの例に非常に感謝しますが、標準ライブラリに見られるようにさまざまな長さにパラメータ化されます。

0 投票する
1 に答える
283 参照

chisel - io += ポート: 値 += は Chisel.Bundle のメンバーではありません

Zhe Mao の xactor パッケージ (Chisel 用に保護されたアトミック アクション) をコンパイルしようとしていますが、エラーが発生します。

声明について

この構造をサポートする latest.release 以外の Chisel バージョンはありますか?

0 投票する
2 に答える
1007 参照

scala - ノミの取り付け

私はチゼルの新しいユーザーです。チゼルを自分のマシンに取り付けようとしました。gitによると、最初に chisel のクローンを作成し、次に hello ディレクトリに移動してmake. しかし、私は以下のエラーを得ました:

私はsbt-0.13.8とscala 2.11.6を使用しています

0 投票する
1 に答える
157 参照

scala - Verilog ライブラリへの依存

Scala Chisel で既にコード化された Verilog ライブラリに依存することは可能ですか?

そうでなくても、それは Scala の Java レトロ互換性と同じくらい重要な機能のように思えます。これは、ソフトの世界で Scala を成功に導いたものです。

乾杯

0 投票する
3 に答える
762 参照

chisel - チゼル モジュールの条件付きポート

通常は必要のない選択可能な機能があります。ただし、この機能をサポートするには、元のモジュール I/O ポートにいくつかの I/O ポートを追加する必要があります。

私はこのようにしています:

sbt "run TestModule --backend c --compile --test --genHarness" を実行した後、コンパイラは次のように文句を言います:

したがって、if ステートメントは効果がありません。val io は、拡張された IOBoundle_EXT ではなく IOBundle にまだ割り当てられているため、意味がありません。

0 投票する
1 に答える
285 参照

scala - 32 ビット RISCV フォームのみのソースを生成する方法を教えてください。必要な変更は何ですか?

RISCV ツールチェーンによると、Rocketchip の Verilog ファイルを 64 ビットとして生成しています。ただし、32 ビットの RISCV ロケット チップが必要です。そのためには、scala ファイルと chisel ファイルの要件と変更が必要です。

そのために 32 ビットの Rocket コアを生成することは可能ですか。