私は実際に自分のコードを作るのに3日間努力しています。私は多重化された7セグディスプレイを備えた開発ボードを持っています。問題は、変数をインクリメントしようとするときです。私は以下のコードを書いています:Verilog - ボタンを使って変数をインクリメントする
assign buttons = debouncedL | debouncedR;
always @(posedge buttons or negedge RES) begin
if(~RES) number <= 0;
else if(debouncedL) number <= (number + 10);
else if(debouncedR) number <= (number + 1);
end
そして、うまくいきません。 Rボタンを押すと、変数は1だけインクリメントされますが、Lを押すと何も起こりません。 else if
の位置を変更した後でも、Lボタンを押してもLボタンは機能せず、表示番号は0000〜0001の間で切り替わります。それは初心者の質問かもしれませんが、私は本やインターネット上で解決策を見つけることができません。手伝って頂けますか?前もって感謝します。
'number'が定義されている方法は? – wilcroft
これは: 'reg [13:0] number;' – Kma
あなたのFPGAツールキットは実際にこれをどのように実装していますか?私はあなたの奇妙なトリガーロジックが同期設計よりも合成を難しくしていると思うように描かれています。 – hexafraction