問題タブ [yosys]

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 投票する
1 に答える
140 参照

yosys - yosys がベクターポートの番号を付け直すのはなぜですか?

最上位の verilog モジュールは、myStorm ice40 ボード上の 4 つの LED (「LED1-LED4」というラベルが付いている) の信号を宣言します。

.pcf ファイルでも同じ番号を使用しています。

しかし、.blif 出力では、yosys がシグナルの番号を付け直しています。

だからarachne-pnrは文句を言う:

yosys は、最上位のベクトル ポートが常にゼロから番号付けされることを期待していますか?

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

verilog - Yosys で計算された verilog パラメータ

現在、Yosys を使用してコードを iCE40 開発ボードに合成することで Verilog を学んでいます。Verilog でパラメーターを使用することに行き詰まっています。次のコードがあります。

コードをコンパイルすると:

エラーが発生します:

ただし、コメントアウトされた行を使用すると、すべてが期待どおりに機能します。

指定されたパラメータで「bittmrwidth」を計算するにはどうすればよいですか?

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

yosys - IceStorm で iCE40 4K ブロック RAM を 512x8 読み取りモードで使用するにはどうすればよいですか?

iCE40HX-8K ブレークアウト ボードでブロック RAM を使用する方法を見つけようとしています。ドキュメントからわかる限り、プロジェクト IceStorm でサポートされている 512x8 構成でアクセスしたいのですが、期待どおりに動作させることができませんでした。

私の理解が正しければ、READ_MODE パラメータを 1 に設定して SB_RAM40_4K プリミティブを初期化すると、ブロックが 512x8 読み取りモードに設定され、9 ビットの読み取りアドレスが使用され、各アドレスで 8 ビットのデータが読み取られるはずです。

これが私が考えることができる最も簡単な例です。事前に初期化されたメモリを使用して SB_RAM40_4K をセットアップし、オンボード LED のピンを直接読み取ります。

hx8kboard.pcf

トップ.v

raddr == 0 の場合の LED 出力

raddr == 1 の場合の LED 出力

512x8 モードのアドレス 1 は、RAM からの 2 番目の 8 ビットであると思い8'h22ます8'b0010010。代わりに、8'h33またはを取得し8'b00110011ます。少し実験した後、これは 16 ビット読み取りの下位 8 ビットのようです。

どこで間違ったのかわかりません。ここで何が起こっているのかを理解する助けがあれば幸いです。ありがとう!

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

yosys - iceStorバイナリファイルをどのアドレスにプログラミングしますか?

ここで提供されている最初の例を試しています: http://www.clifford.at/icestorm/

digilent adept プログラムhttps://reference.digilentinc.com/reference/software/adept/start?redirect=1#software_downloadsを使用して Windows で iCEblink40-HX1K ボードをプログラムしようとしてい ます。

Adeptを起動すると、プログラムは次のように言います:

ボード情報を読み込んでいます... 警告: 特定のボード情報が見つかりませんでした。デフォルトの情報がロードされました。

iCEstorm から example.bin プログラムを選択すると、熟達したプログラムが「無効なアドレスです。アドレスは 2 進数、10 進数、または 16 進数の値として入力する必要があります。」と表示されます。

ゼロを入力し、「ファイル>>デバイス」をクリックしてバイナリファイルをアップロードすると、プログラムは次のように言います。

F:\me\fpga\example.bin から 32220 バイトの読み取りに成功しました。

ただし、ボードに既に付属している「点滅ライト」のデモはそのまま実行されます。何も変わっていないようです。

example.bin ファイルに正しいアドレスが含まれていないか、digilent adept プログラムのボード情報がないことが問題の原因であると考えています。

いずれにせよ、それがどのアドレスかわかる人はいますか?