問題タブ [ice40]
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.
fpga - aracne-pnr の PIP 代替とは何ですか?
のrouter.cc
ファイルをarcahne-pnr
調べているときに、プログラマブル インターコネクト ピンの PIP がどのように配線されているのか理解できません。PLL がコード内の PIP を表しているように見えますか? 誰かが私を明確にするのを手伝ってもらえますか? の PIP に対応するものは何arachne-pnr
ですか? ありがとう
arrays - 1 回の書き込みクロック サイクルで複数のブロック RAM インデックスを読み取る
低速のクロック速度 (clk_a) でブロック RAM に継続的に書き込みを行うアプリケーションがあり、この低速のクロック サイクル内で高速のクロック速度 (clk_b) でブロック RAM から 3 つのインデックスを読み取って、これらの値を次のように使用する必要があります。結果は、次の遅いクロックでブロック RAM に書き戻されます。これらの 3 つのインデックスは、低速クロックのポーズエッジで書き込まれた現在のアドレスと、すぐ隣の 2 つのアドレス (addr_a -1 および addr_a +1) です。
これを合成する効率的な方法は何ですか?これまでの私の最善の試みは、アドレスをインクリメントする高速クロック レートで実行される小さなカウンター (トリプレット) を使用することですが、Yosys が RAM を適切に推測していないように見えるため、ロジックが不足してしまいます。これにはどのような戦略が適していますか?
ここに私が持っているものがあります:
yosys - ビットストリーム .bin ファイルの CRAM ビットの編成について
iCE40 1k デバイスの場合、以下はコマンド「iceunpack -vv example.bin」の出力のスニペットです。なぜ 332x144 ビットがあるのか理解できませんでした。私の理解では、[1]、CRAM BLOCK[0] はロジック タイル (1,1) から始まり、以下を含む必要があります。
- 48 個のロジック タイル、各 54x16、
- 14 IO タイル、それぞれ 18x16
「332 x 144」はどのように計算されますか?
IO タイルとロジック タイルのビットは、CRAM BLOCK[0] ビットのどこにマップされますか?
たとえば、CRAM BLOCK[0] のどのビットが論理タイルのビット (1,1) と IO タイルのビット (0,1) を示していますか?
[1]。http://www.clifford.at/icestorm/format.html
ありがとう。
verilog - Verilog のゲート レベル記述を使用した JK フリップフロップでタイミング エラーが発生する
私はまだ Verilog の最低レベル (ゲート レベル) でプレイしています。この投稿を見つけました : https://electronics.stackexchange.com/questions/390661/is-it-possible-to-create-a-working-jk-flip-flop-using-gate-level-description-inアイデアがうまくいくはずだと理解できたので、マスタースレーブJKフリップフロップを分周器として使用することを解決できました。私は Icestorm ツールチェーンを使用しています。Yosys は文句を言っていませんが、Next-PNR は次のエラーを出しています:
エラー: 組み合わせループの存在、タイミング ポートの不完全な指定などにより、タイミング解析に失敗しました。
これは私のコードです:
では、何が起こったのかと尋ねれば答えは想像できます。なぜ、どのように機能するのかを知りたいのです! ありがとうございます!