問題タブ [verilog]
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.
verilog - Verilogコードを合成するときに感度リストの警告を取り除くにはどうすればよいですか?
次のような警告が表示されます。
常にブロックの感度リストに1つ以上の信号がありません。
この警告を取り除くにはどうすればよいですか?
verilog - Verilog コードを書き直して余分な reg を削除するにはどうすればよいですか?
余分なreg mulが必要ないように、以下のコードを書き直すにはどうすればよいですか。結果の 32 * 32 ビット乗算の 32 ビットを取り、結果に入れたかっただけです。
verilog - Verilog または VHDL デザインのすべての警告を削除する必要がありますか? なぜですか、そうでないのですか?
(通常の)ソフトウェアでは、gccオプション -Wall を使用してすべての警告を表示する会社で働いていました。次に、それらに対処する必要があります。Verilog または VHDL での重要な FPGA/ASIC デザインでは、多くの場合、多くの警告が表示されます。それらすべてについて心配する必要がありますか?提案する具体的なテクニックはありますか?私のフローは主に FPGA (特にアルテラとザイリンクス) 向けですが、ビルド後にデザインを変更できないため、同じルールが ASIC デザインにも適用されると思います。
2010 年 4 月 29 日更新: 当初は合成と P&R (配置配線) の警告について考えていましたが、シミュレーションの警告も有効です。
verilog - 次のクロックサイクルまで出力が更新されない
私は以下のコードモジュールを持っています
問題は、ForwardAとForwardBである出力が、次の立ち上がりクロックエッジではなく、立ち上がりクロックエッジでは更新されないことです...これはなぜですか?出力が同じ正の立ち上がりクロックエッジで更新されるように解決するにはどうすればよいですか?
これが私が意味することです: 代替テキストhttp://img693.imageshack.us/img693/8660/timing.jpg
ForwardAは、同じ立ち上がりクロックエッジではなく、次の立ち上がりクロックエッジで2に更新されます。
verilog - if else 文を三項に変換する
三項を使用して次のコードを翻訳しました。しかし、私はそれには何か問題があることを知っていました。誰かが私を正しい方向に向けることができますか?
algorithm - 2進数の比較
32ビットの2の補数があり、2つの数値が等しいことを知る最も簡単な方法を知りたい場合、これを知るための最速のビット演算子は何でしょうか。私は両方の数値を排他的論理和することを知っており、結果がゼロであるかどうかを確認します...他のものはありますか?
数値が0より大きい場合はどうですか?31番目のビットをチェックして0以上かどうかを確認できますが、bgtzはどうですか?
arrays - Verilog で 1D および 2D バイト配列を宣言して使用する方法は?
Verilog で 1D および 2D バイト配列を宣言して使用する方法は?
例えば。のようなことをする方法
verilog - Verilog テストベンチは実際のクロックで動作しますか?
Verilog でカウンターを書き、それをテストするためのテストベンチを作成しました。私のテストベンチは正しい結果を出すので、私のコードは問題ありません。しかし、それは長い時間の結果を瞬時に与えます。
リアルタイムで結果を取得することは可能ですか。つまり、1 秒ごとにテストベンチが新しい結果行を生成するということですか?? (そして、可能であればどのように?)
vhdl - VHDL/Verilog 関連のプログラミング フォーラム?
VHDL または Verilog を使用したハードウェア設計は、最近ではプログラミングに似ています。しかし、SO メンバーは VHDL/Verilog プログラミングについてあまり積極的に話していないように見えます。
Verilog/VHDL/SystemVerilog または SystemC を使用したハードウェア設計を扱うフォーラムはありますか?
floating-point - Verilogの複雑な浮動小数点シーケンシャルロジック
Verilog/SystemVerilogで合成可能な3Dラスタライザーを作成しようとしています。現在のラスターライザーは、実際には3Dラスターライザーではありません。頂点位置(vertA_pos_x、vertA_pos_y、vertB_pos_x、vertB_pos_y、vertC_pos_x、vertC_pos_y)用に6つの32ビットフロートと、頂点カラーリング用に9つの8ビット整数(vertA_color_r、vertA_ 、vertB_color_r、vertB_color_g、vertB_color_b、vertC_color_r、vertC_color_g、vertC_color_b)。
位置の範囲は0.0f〜1.0fで、0.0fは画面の上部/左側、0.5fは画面の中央、1.0fは下部/右側を表します。
ラスター作業は、最初に、必要なラスター線の数を数えることです。フレームバッファの高さが240ピクセルであるとすると、頂点Aは上部の頂点、Bは左下の頂点、Cは右下の頂点、Xは最下部の頂点です(BまたはCのいずれか。これは計算する必要があります)。ラスターラインの数はで与えられ(vertX_pos_y - vertA_pos_y) / 240
ます。
ラスタライズプロセスのこの部分は、私の疑問を明らかにするほど複雑なので、ここでどのように進めるかについては説明しません。
ここで私が知りたいのは、Verilogでこのような「複雑な」ロジックを実装する方法です(これはシーケンシャルであり、1クロックサイクル以上かかるため「複雑」です。これは、ハードウェアで設計するのに最も快適な種類ではありません。説明言語)。
私はアルテラのQuartusを使用しているので、主にアルテラのソリューションに興味があります。
Quartusに付属する浮動小数点演算メガファンクションはすべて、完了するまでに1クロックサイクル以上を必要とするため、のような「単純な」計算を実装する(vertX_pos_y - vertA_pos_y) / 240
には、かなり退屈でエラーが発生しやすいステートマシンが必要だと思います。私の最大の期待は、誰かが私にそれは必要ないと言うことですが、そうでない場合でも、人々が一般的にこのようなものをどのように設計するかを知りたいです。
また、私はVerilogとハードウェアの設計全般に非常に慣れていないので、愚かなことを言ったら申し訳ありません。アイデア?