問題タブ [vhdl]
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.
vhdl - 単純なステート マシンの問題
外部 RAM のいくつかの出力信号を駆動する非常に単純な FSM があります。私が抱えている問題は、出力だけでなく入力も可能なデータ バスの処理に伴うものです...私の FSM でこのケースをどのように処理するのが最善なのかよくわかりません。問題は次の行から発生します。
明らかに、左側は変数で、右側はシグナルです。私が持っているものとしてFSMでinout信号を処理する「良い」方法はありますか?
コードがこの単純な FSM を改善するというコメントに感謝します!
vhdl - std_logic への状態
私は自分の状態を次のように定義しました。
ここで、この状態情報を使用して別の信号を形成したいと思います
これらの 2 つの信号を連結できるように、状態を std_logic_vector に変換する方法を知っている人はいますか?
どうもありがとう、ロブ
verilog - Altera M9K のコンテンツを 0 (パワーアップ値) にリセットします。
良い一日、
私は M9K ブロック メモリを含む Stratix III FPGA に取り組んでおり、その内容は電源投入時に都合よくゼロに初期化されます。これは私のアプリケーションに非常に適しています。
FPGA の電源サイクル/再フラッシュなどを行わずに内容をゼロにリセットする方法はありますか? megawizard プラグイン マネージャーにはそのようなオプションはないようです。すべてのアドレスにゼロを順番に書き込む一連のロジックを無駄にすることは避けたいと思います...
私は周りを見回しましたが、そのようなメカニズムへの言及はありませんが、誰かが便利なトリックを知っている場合に備えて尋ねると思いました:]ちなみに、私はVHDLで作業していますが、Verilogを翻訳できるはずです。
データシート (答えは含まれていません!) : http://www.altera.com/literature/hb/stx3/stx3_siii51004.pdf
前もって感謝します
- トーマス
PS: これは私の最初の投稿なので、エチケットに違反した場合はお知らせください :)
serialization - VHDL レコードを「シリアライズ」する
レコード メンバーのベクトル長を示すために定数に依存する次の型定義があるとします。
std_logic_vector
これらの種類のレコードをs に変換して、たとえば FIFO に入れたいと思います。現在、次のコードを使用しています。
このコードは多くの点で最適ではありません。たとえば、POINT_ENC_WIDTH を、d
シリアル化されたレコード全体を保持できる十分な大きさの値に常に正しく設定する必要があります。非常に機械的な作業を行うのはプログラマーに依存しています。たとえば、レコードのすべてのメンバーについて、x
はコード内に2 回X_WIDTH
表示されます。1 回は直接関連して、もう 1 回は次のメンバー. これはすぐに退屈になります。フィールドを追加してレコードの定義を変更すると、シリアル化コードと (非常によく似た) 逆シリアル化コードの両方を更新する必要があり、これを忘れてしまう可能性があります。フィールドを削除すると、少なくともコンパイラは文句を言います。x
y
したがって、これは私の質問につながります:std_logic_vector
手動で書かれたシリアル化/非シリアル化コードに頼ることなく、VHDL レコードを s に変換する簡単な、自動化された、または少なくとも準自動化された方法はありますか? 私はレコードを内部で使用しており、最終的な出力形式は明確に指定されており、手動で実装されるため、特定のエンコーディングを知ることは重要ではありません。
vhdl - VHDL 演算子の引数の型が一致しません
VHDL で非常に単純な演算子の問題があります。一部の入力を論理演算子と比較しようとしましたが、エラー メッセージが表示されます...
最終過程;
残念ながら、次のエラーメッセージが表示されます。
if (((paddr(8 downto 2) = "1000000")) and (psel and penable) and (pwrite and not(wrfifo_full))) then | ncvhdl_p: *E,OPTYMM (hdl/vhdl/test.vhd,523|43): 演算子の引数の型が一致しません 87[4.3.3.2] 93[4.3.2.2] [7.2]
とにかく問題を見ますか?
乾杯
vhdl - 複数の 1 ビット ALU から 4 ビット ALU を作成する
複数の 1 ビット ALU を 4 ビット ALU に結合しようとしています。VHDLで実際にこれを行う方法について混乱しています。私が使用している1ビットALUのコードは次のとおりです。
alu1 をより大きなエンティティ alu4 のコンポーネントとして定義すると仮定していますが、どうすればそれらを結び付けることができますか?
vhdl - std_logic_vectorsの追加中にエラーが発生しました
2つのstd_logic_vectorsを追加する単純なモジュールが必要です。ただし、以下のコードを+演算子で使用すると、合成されません。
XSTから受け取るエラーメッセージ
17行目+は、このコンテキストではそのようなオペランドを持つことはできません。
図書館が恋しいですか?可能であれば、入力を自然数に変換したくありません。
どうもありがとう
vhdl - ネットのインスタンス化の問題
いくつかの制御信号を設定してサードパーティの IP とやり取りする非常に単純なステートマシンがあります。コードはおおよそ次のようになります。
合成は問題なく動作しますが、次の制約ファイルを適用すると、ERROR:ConstraintSystem:59 - NET "testip/ip_we" not found が発生します。testip/ip_datain と testip/ip_ce についても同じことが起こります。
ネットリストを確認しましたが、実際には、testip/ip_we、testip/ip_ce、testip/ip_datain ネットのいずれもありません。他のネットがネットリストにない理由は誰にでもわかりますが、すべて非常に混乱しています。
フィードバックをお寄せいただきありがとうございます。
編集:トップモジュールファイルに添付された詳細なインスタンス化を参照してください:
これでうまくいくはずですが、ネットリストを見て信号 Icap_ce または Icap_we を探すと、それらは存在しません。これらのネットは存在しないか、名前が変更されたため、もう見つけることができないと思います。ありがとう
vhdl - 予期しない TICK エラー
VHDL モジュールを作成しようとしていますが、if ステートメントに問題があります。おそらくそれはばかげた間違いですが、私は VHDL に非常に慣れていないため、問題を理解できませんでした。これが私のコードです:
そして、if ステートメントの最初の行から次の答えが得られます。
私は何を間違っていますか?
vhdl - シグナル_IBUF> は不完全です
VHDL モジュールを作成しようとしていますが、入力に問題があります。コードは次のとおりです。
次のエラーが表示されます。
エラーは複雑に見えますが、実際には、n1 および n2 信号の他の 3 つの入力をルーティングできないと表示されています。なぜこれが起こっているのかわかりませんが、私がしたいのは、n1 と n2 の符号付き数値の合計を 7 セグメント ディスプレイに表示することだけです。誰かがこの問題を理解するのを手伝ってくれるなら、本当に感謝しています。