いいえを表示するプログラムを作成しています。ユーザーが指定した月の日数。私はこのプログラムをデータフローレベルで作成しています。私は Verilog を初めて使用するので、データ フロー レベルで if/else 条件または case ステートメントを使用できるかどうかわかりません。if/else ステートメントを使用すると、このプログラムが簡単になります。そうでない場合、データフローレベルで次のアイデアをどのように実装できますか。
if(month==4 || month==6 || month==9|| month==11)
days=30;
else
if(month==2 && leapyear==1)
days=29;
ここに私のVerilogの不完全なコードがあります:
module LeapYear(year,month,leapOrNot,Days);
input year,month;
output leapOrNot,Days;
//if (year % 400 == 0) || ( ( year % 100 != 0) && (year % 4 == 0 ))
leapOrNot=((year&400)===0) && ((year % 100)!==0 || (year & 4)===0);
Days=((month & 4)===4 ||(month & 6)===6 ||(month & 9)===9 ||(month & 11)===11 )