問題タブ [spartan]

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 に答える
3424 参照

verilog - 信号は割り当てられていますが、使用されていません。この未接続の信号はトリミングされます

まず、最初の開始時にのみ割り当てられた 3 次元の reg があります。

最初は、このようなビットにアクセスしようとしていました (pc は私のプログラムカウンターです):

しかし、最適化によってシグナルがトリミングされています。後で、reg全体を保持するために新しいregが必要であることがわかりました。その後、ビットにアクセスできます。だから私はこれを作った:

[...]

私のシグナルはトリムされなくなりましたが、最適化は次の理由で tempPS をトリムしようとしています:

信号は割り当てられていますが、使用されていません。この接続されていない信号は、最適化プロセス中にトリミングされます。

ええと、PC が変更されているため、tempPS が使用されています。このエラーが何を意味するのか正確にはわかりません。どうすれば修正できますか。どんな助けでも感謝します。

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

vhdl - v/hdl プログラミングのテストベンチで、異なるクロック サイクルで入力値を書き込む方法を教えてください。

AES暗号化アルゴリズムのvhdlコードを書いています.128ビットのデータを暗号化する必要があるため、1ビットの入力ピンを使用しています。128 ビット データの場合、case ステートメントで 128 クロック サイクルを使用しました。コードが適切に動作することを確認するには、テスト ベンチを作成する必要があります。テストベンチで異なるクロック サイクルで 128 ビットのデータを書き込む方法。

  1. 少しずつ
  2. それ(128ビット信号)
0 投票する
1 に答える
2325 参照

verilog - Verilog トライステートの問題 (Xilinx Spartan 6)

ここで以前の質問を参照すると、私はトライステートを利用して一般的なバスを操作してきました。まだいくつかの実装上の問題があるようです。

トライステートは、次のタイプのコードを使用します。

assign io [幅-1:0] = (re)?rd_out [幅-1:0]:{幅{1'bz}};

合成と翻訳はうまくいきます。予期していなかった警告やエラーは発生しませんでした (これは試験的な実行にすぎず、ほとんどのコンポーネントは何も実行せず、未接続のままになるため、警告やエラーが発生することを予期していました)。しかし、実際に実装しようとすると、すべてのバス (3 つある) が 1111111111111111 または -1 を出力し、バイナリから BCD コンバーターに変換されます。バス上で受信した命令が -1 の場合に停止するように制御マトリックスに指示することで、実際にそうであるかどうかを確認したところ、停止しました。

トライステートがロジックに変換されたときに受け取る警告は次のとおりです。

Xst:2040 - ユニット Neptune_I: 16 個のマルチソース信号がロジックに置き換えられます (プルアップあり)

Xst:2042 - ユニット alu: 16 個の内部トライステートがロジックに置き換えられます (プルアップあり):

等々。Neptune_I は最上位のモジュールであり、それが参照しているマルチソース信号はバスだと思います。

プルアップのイエスがこの問題の根源であるかどうかは疑問です。それは単にすべてを引き上げて、常に-1になっているのでしょうか? しかし、これは私には意味がありません。なぜなら、トライステートがアクティブになると、信号は制御されるはずのエンティティによって制御されなければならないからです。

時間をかけてトライステートではなくロジックにコードを置き換えたいのですが、どうすればよいかわかりません。

どんな助けでも大歓迎です。

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

vhdl - Spartan 3E ボードに実装される 3x4 キーパッド入力と 2x16 LCD を備えた VHDL で 4 ビット乗算器を作成しようとしています。

みんな。VHDL で 4 ビット乗算器を作成しようとしています。これは、組み込みの 2x16 LCD と C922 IC を介した 3x4 キーパッドを使用して Spartan 3E ボードに実装される予定です。

使用方法は次のとおりです。ユーザーがキーパッドから数字を入力し、確認のためにボタンを押し、2 番目の数字を入力し、もう一度確認ボタンを押すと、製品が LCD に表示されます。

これまでのところ、キーパッド + c922 と LCD のコードは問題ありません。乗数のコードはほぼ問題ありません。問題は、別の番号 (最終的には使用されない) が押されたときにのみ確認ボタンが機能することです。

これが私のコードです。以下は、ザイリンクス シミュレーションのスクリーンショットです。

確認ボタンで数字を押さない時のシミュレーション: ここに画像の説明を入力

確認ボタンで数字を押したときのシミュレーション: ここに画像の説明を入力

コードを 1 時間調べてみましたが、まだ何が問題なのかわかりません。助けていただける方、よろしくお願いします。

0 投票する
0 に答える
294 参照

vhdl - VHDL、Spartan-3AN 出力

基本的に、次の機能を持つ多機能カレンダーに関するこのデザインがあります。

  1. この [年/月/日 : 時 : 分 : 秒の形式] で日付を表示します
  2. ストップウォッチ。
  3. 警報 。
  4. アラームがアクティブなときのスヌーズ オプション。スヌーズ期間を変更したり、アラームを停止したりできます。
  5. イベントは、選択した日時に保存され、発生するとアラームが有効になります。

これは、時計を計算するために私が行ったことです[時間:分:秒]

そして、休息日情報[年/月/日]を行うためのこのコード...

私はまた、ストップウォッチを独立してコーディングしました。それは、次のスパルタン3の7セグメントを出力します...

今、私の問題は..

この情報はすべて、スパルタン 3-AN の LCD ディスプレイに出力することになっていますが、これはまったく経験がありません。コードがまだ完成していないことはわかっています。ストップウォッチコード、そしてLCDとのやり取りでクロック分割が変更されることを知っているので、今はコードに書く必要はありません。キーボードからイベントが発生したときに変更できるように、LCDディスプレイの処理方法、文字の表示方法、文字から別の文字への移動方法について誰かが私に情報を与えることができれば.

私は Spartan 3AN でその LCD を扱った経験がありません。ザイリンクスが提供するボードのユーザー ガイドを見てみましたが、いくつかのことは理解できましたが、まだ使用方法がわかりません。 、役立つチュートリアルがあれば、それで十分です。