DE2-70 ボードを使用しており、そのボタンのいくつかを入力として使用しようとしています。ボタンは 0 でアクティブになり、数値を増減するために、特に 2 つのボタンが別々に押されているかどうかを確認する必要があります。
iKEY はボタンで、position は変更しようとしている番号です。
reg [4:0] position;
position = 5'b0;
output wire enable = !(iKEY[3] && iKEY[2]);
always @(posedge enable) begin
if(iKEY[3] == 0)
position = position + 5'b00001;
if(iKEY[2] == 0)
position = position - 5'b00001;
end
ifs 条件を変更したり、イネーブル信号を設定するときのロジック関数を変更したりするなど、この実装のいくつかの違いを試しましたが、常に何らかの問題で行き詰まります。私はハードウェア ロジックに慣れていないので、間違った方法で考えている可能性があります。
編集:両方のボタンが同時に押された場合、ハードウェアが数値を増減しないと思います