問題タブ [vga]

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

windows-8 - ウィンドウ 8 のコンテンツ オーバーフロー

理由はわかりませんが、これが VGA をインストールした後の Windows の表示方法です。

上部がオーバーフローし、下部に空白の黒い線が残ります。

VGAを削除しましたが、まだそのようです

ここに画像の説明を入力

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

assembly - x86 アセンブリを使用して vga テキスト画面の半分を入れ替えます

上半分と下半分を交換することになっています。私のコードはこれを行いますが、問題は最後の行が「C:>FILE_NAME」であるはずです。しかし、その行の C は最後から 2 番目にあります。また、1行が欠けています。CX の数値をいじってみましたが、どこにも行きません。コードは次のとおりです。

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

vhdl - このコードでクロック ホールドを修正するにはどうすればよいですか?

VHDL で VGA ドライバを作成しようとしています。

640x480 @ 60 Hz を使用するので、25 MHz と 31.5 KHz のクロックが必要です。divider_hプロセスは 50 MHz クロックで駆動され、結果として 25 MHz クロックになります。25 MHz クロックの各ティックでh_counter、プロセスによってインクリメントされ、ある値 ( )h_syncに達すると、プロセスが開始され、短時間の間 1 に設定されます。H_FRONT + H_SYNC - 1divider_vclock_v

Quartus II のタイミング解析が失敗し、次の警告が表示されます。1 つのパスに沿って最小セットアップおよびホールド要件クロックを達成できませんコンパイル レポートのクロック ホールドv_counterセクションは、最小スラック タイムが -0.050 ns のMSB が原因であると指摘しています。2 番目に低いスラック タイムは 0.218 ns で、問題ありません。

短い 0 状態に対して長い 1 状態を使用しようとしましたがclock_v、最小スラック時間が -0.019 ns に増加しましたが、これはまだ許容できません。

私が理解しているように、ホールドクロックの問題は、入力が正しく処理される前に変更されることを意味するため、1と0の両方をほぼ同じ期間表示しようとしました。驚いたことに、40 以上のパスが同じエラーで赤くなりました。

v_clockプロセスをコメントアウトすると、問題が解決します。

MSB のスラック タイムが他のビットよりもはるかに長いのはなぜですか? この問題を解決するにはどうすればよいですか?

これが私のコードです:

失敗したパスの詳細:

  • から:v_counter[9]
  • に:v_counter[9]
  • クロックから:clock
  • クロックするには:clock
  • 必要なホールド関係: 0.000 ns
  • 必要な最短 P2P 時間: 0.618 ns
  • 実際のショート P2P 時間: 0.568 ns
  • 最小スラック: -0.050 ns

v_counterですbit_vector(9 downto 0)このパスでLocate in Designを使用すると、Quartus はv_clockプロセスの最初の行 ( のある行) を指しrising_edge(clock_v)ます。

また、すべてのh_counterビットに言及するリップル クロックに関する警告clock_hと、3 つのゲート クロック: Equal0Equal0~1およびEqual0~0.

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

assembly - DIY カーネルを起動した後の VGA メモリの問題

これは私のプロジェクトの構造です:

  • "boot.asm" : 64 ビット モードに入り、CHS を読み取り、"kernel" を 0x100000 にロードしてから、0x100000 に jmp します
  • 「kernel.asm」

これは「kernel.asm」です:

このコードは、「boot.asm」に入れると機能します。しかし、「kernel.asm」に配置すると、奇妙なグリフまたは「S」のみが出力されます...理由はわかりません。問題は「msg」宣言にあるようです。たとえば、" msg: db "K" " を " msg equ "K" " に置き換えると、適切な文字が出力されますが、問題がわかりません。何か提案はありますか?

乾杯、

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

verilog - Verilog VGA ドライバーが原因で画面がちらつく (Basys2)

Verilog で Adventure(1979) を再作成しようとしていますが、これまでのところ、キャラクターの移動、衝突、およびマップの生成が行われています。マップをモジュールに分割する前はそれほどちらつきませんでしたが、今では常にちらつきます。この問題を調べていたところ、Basys2 ボードのクロックがかなりうるさく、原因である可能性があることがわかりました。ただし、マップをモジュールに入れても、何かを台無しにしない限り、悪化することはありませんでした。何が起こったのですか?

これが私のマップジェネレーターです:

startCastle は次のとおりです。

トップモジュールに接続されているVGAドライバーは次のとおりです。

clk_div:

clk_shift:

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

c - VGA : C でのポインタとメモリのアドレス指定 (DIY カーネル)

私の質問は、自作カーネルで VGA に書き込もうとするときの C ポインターの使用に関する基本的な理解についてです。コードはここにあります:アセンブリ ブートローダーから C カーネルを呼び出します)

私の main.c カーネルでは、このコードが機能する理由がわかりません。

これではありません:

そうでなければ、この例で配列の代わりにポインターを使用する同等の方法はありますか?