問題タブ [picoblaze]

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

assembly - 16 ビット値が 1000 RISC Picoblaze より大きいかどうかを確認します

16ビットの数値を10進数に変換して、4つのLEDディスプレイに表示しています。

16 ビット値が 1000 より大きいかどうかを確認したい。現在、これを実装していますが、正しい値が出力されない場合があり、その理由がわかりません。

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

assembly - アセンブラでストップウォッチのコードを逆にしてカウントダウンする方法は?

アセンブラーでストップウォッチ用にこのコードを作成しました。ボタン1を押すとカウントアップを開始します。同じボタンをもう一度押すと一時停止し、もう一度押すとストップウォッチが再開されます。ボタン番号 2 を押すと、ストップウォッチがリセットされます。

私は PicoBlaze Assembler でプログラミングしていたのでかなり時間がかかりました。これは数年前のコードであり、数年間プログラミングをしていなかったため、多くのことを忘れていました。しかし、今は少し変更する必要があり、あなたの助けが必要です。

だから今欲しいのは、カウントダウンの機能を持たせることです。したがって、button1 を押すとカウントアップが開始され、もう一度押すと一時停止し、もう一度再開します。しかし、ボタン 2 を押すと、同じボタンで一時停止して再開し、リセットをボタン 2 から新しいボタン 3 に移動するのと同じように、カウントダウンが開始されます。

誰でもこれで私を助けることができますか? ありがとう。

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

assembly - アセンブラで関数のボタンを変更する方法

アセンブラーのコードに問題があります。私はこれらのストップウォッチを持っています。ボタン 1 を押すとカウントが開始され、もう一度押すとカウントが一時停止し、ボタン 2 を押すとリセットされ、スイッチ番号 1 を裏返すと現在の値が減り始めます。しかし、スイッチ番号 1 ではなく、ボタン番号 3 を使用するために今必要です。これをプログラムしてからしばらく経ちました。誰でもこれで私を助けてくれますか? ありがとう

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

linux - ザイリンクス ISE iMPACT は、Adept のように SVF を PicoBlaze に書き込むことができますか?

私は VHDL クラスの途中で、Linux で ISE と Digilent ツールチェーンを比較的うまく使うことができました... PicoBlaze プログラムを再フラッシュしようとするまでは。詳細については、私が現在実行してターゲットにしている、

  • Fedora 21 64 ビット (3.19.3-200.fc21.x86_64)
  • Digilent の Nexys2 開発ボード (Spartan3 を使用)
  • ザイリンクス ISE 14.7
  • Adept 2.16.1 ランタイム
  • Adept 2.2.1 ユーティリティ

これまでのところ、Linux で ISE を実行し、iMPACT を使用して Nexys2 ビット ファイルをプログラムできましたが、現在のプロジェクトは、PicoBlaze ソフト コア プロセッサ用のアセンブリ プログラムを記述し、実行中のベクターのメモリをコンパイルおよびアップデートすることです。 VHDL を再合成する必要があります。

Kris Chaplin の投稿の手順を使用して、PSM を HEX にコンパイルし、その HEX ファイルを dosbox で SVF に変換できます。ここから、Windows で Digilent の Adept ツールを使用して、既に合成された PicoBlaze を含む top_level.bit ファイルをプログラムできます。これは、Linux の ISE の iMPACT でも実行できます。デザインが実行された後、Adept を使用して SVF ファイルをデザインの実行中のメモリにプログラムすることができます。ただし、Linux で SVF を iMPACT にロードしようとすると、例外がスローされます。

EXCEPTION:iMPACT:SVFYacc.c:208:1.10 - データが一致しません。

そのエラーでオンラインで見つけた唯一の問題は、削除する必要がある「@」記号があることを示していますが、SVF のどこにも「@」はありません。

また、SVF を XSVF に変換しようとしました。iMPACT で XSVF をロードするとエラーは発生しませんが、XSVF をプログラムまたは実行すると、新しいプログラムが実行されずにデザインがフリーズします。

Adept には、私が見た Linux に匹敵する GUI はありません。cmd ライン ツール 'djtgcfg' だけです。iMPACT と同様に、toplevel.bit ファイルを次のコマンドで問題なくプログラムできました。

$ djtgcfg prog -d Nexys2 -i 0 -f ../../toplevel.bit

しかし、同じ呼び出しで svf ファイルをプログラムしようとしても、何の影響もないようです。数分かかると言われ、すぐに「プログラミングが成功しました」と報告されますが、デバイスに変化は見られません。

できれば、環境をすべて Linux のままにしておきたいのですが、ラップトップに 2 つの VM 間を行き来する十分なスペースがありません。

iMPACT を使用して SVF ファイルを Nexus2 に書き込むことはできますか。または、Adept ユーティリティを別の方法で使用できますか?

誰かがこれを機能させましたか?ありがとうございます!

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

assembly - m4 の --synclines オプションのコメント記号を変更するには?

m4コマンドラインオプションでプリプロセッサを使用しています--synclines。このオプションは#line <nn>、展開された各複数行の後に行を出力します。

例:

結果:

sr0(reg_0, 3) は 2 行目で発生したため、#line 2各展開の後に m4 が追加されます。

#コメント記号をに変更するにはどうすればよい;ですか? #アセンブラがコメント記号としてサポートしていないためです。

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

vhdl - PicoBlaze 8 ビット マイクロコントローラのジャンプおよび呼び出し命令

私は学生で、このドキュメントXAPP213に基づいて PicoBlaze 8 ビット マイクロコントローラーを作成する必要があります。

ジャンプ命令またはコール命令を実行する必要があるときに問題が発生します。

次の命令をジャンプまたは呼び出すと、強制的にNULL命令になるため、プログラムカウンター(魔女は新しいアドレスを提供します)は同じ意味のままで、同じアドレスを2クロック保持し、そのために命令を2回読み取ります私がジャンプしたか、私が呼んだ魔女。

そうならないようにするにはどうしたらいいでしょうか?

これが役立つ場合、私のプログラムカウンターコードは次のとおりです。

これがどのように見えるかのブロック図です: プログラムカウンタのブロック図

ジャンプの場合:

電話の場合:

NULL 命令の場合:

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

c-preprocessor - cppで「終了文字がありません」という警告を抑制する方法は?

非 ANSI-C ファイルを前処理するために cpp (ANSI-C プリプロセッサ) を使用しようとしています。

これらのファイルには、PicoBlaze 構文のアセンブリ命令が含まれています。PicoBlaze は'd、リテラルの基数に注釈を付けるために使用します。ファイルを cpp で前処理したいと思います。

私はいくつかを取得します:

警告。'cpp で (またはすべての文字)の終了文字チェックを無効にするにはどうすればよいですか?

これが私のコマンドライン呼び出しです: