輸入a,b,c,d,e;
輸入res,clk,clk 1;
output[7:0]row,ra;
output[3:0]q 1;
輸出q1,q2,q3,q4,q5,嘟嘟聲;
reg q1,q2,q3,q4,q5,嗶;
reg[7:0]row,ra;
reg[3:0]q 1;
reg[2:0]Y;
始終@(res或q1或q2或q3或q4或q5)
開始
如果(!res)
begin q 1 & lt;=0;q2 & lt=0;q3 & lt=0;q4 & lt=0;q5 & lt=0;
結束
其他
開始
if(q1||q2||q3||q4||q5)
begin q 1 & lt;= q 1;q2 & lt= q2q3 & lt= q3q4 & lt= q4q5 & lt= q5
結束
其他
開始
如果(a)
begin q 1 & lt;=1;
結束
否則如果(b)
開始第二季度& lt=1;
結束
否則如果(c)
開始第三季度& lt=1;
結束
else if(d)
從第四季度開始<。=1;
結束
否則如果(e)
開始q5 & lt=1;
結束
結束
結束
結束
始終@( posedge時鐘)
開始
if(q 1 & lt;4'b1000)
q 1 & lt;= q 1+1;
其他
q 1 & lt;= 4 ' b0000
如果(q1)
開始
案例(Q1)
0:開始行& lt= 8 ' b 01111111;ra & lt= 8 ' b 00011000;結束
1:開始行& lt= 8 ' b 10111111;ra & lt= 8 ' b 00011000;結束
2:開始行& lt= 8 ' b 11011111;ra & lt= 8 ' b 00011000;結束
3:開始行& lt= 8 ' b 11101111;ra & lt= 8 ' b 00011000;結束
4:開始行& lt= 8 ' b 11110111;ra & lt= 8 ' b 00011000;結束
5:開始行& lt= 8 ' b 11111011;ra & lt= 8 ' b 00011000;結束
6:開始行& lt= 8 ' b 11111101;ra & lt= 8 ' b 00011000;結束
7:開始行& lt= 8 ' b 11111110;ra & lt= 8 ' b 00011000;結束
結束案例
結束
否則如果(q2)
開始
案例(Q1)
0:開始行& lt= 8 ' b 01111111;ra & lt= 8 ' b 11111111;結束
1:開始行& lt= 8 ' b 10111111;ra & lt= 8 ' b 11111111;結束
2:開始行& lt= 8 ' b 11011111;ra & lt= 8 ' b 00000011;結束
3:開始行& lt= 8 ' b 11101111;ra & lt= 8 ' b 11111111;結束
4:開始行& lt= 8 ' b 11110111;ra & lt= 8 ' b 11111111;結束
5:開始行& lt= 8 ' b 11111011;ra & lt= 8 ' b 11000000;結束
6:開始行& lt= 8 ' b 11111101;ra & lt= 8 ' b 11111111;結束
7:開始行& lt= 8 ' b 11111110;ra & lt= 8 ' b 11111111;結束
結束案例
結束
否則如果(q3)
開始
案例(Q1)
0:開始行& lt= 8 ' b 01111111;ra & lt= 8 ' b 11111111;結束
1:開始行& lt= 8 ' b 10111111;ra & lt= 8 ' b 11111111;結束
2:開始行& lt= 8 ' b 11011111;ra & lt= 8 ' b 00000011;結束
3:開始行& lt= 8 ' b 11101111;ra & lt= 8 ' b 11111111;結束
4:開始行& lt= 8 ' b 11110111;ra & lt= 8 ' b 11111111;結束
5:開始行& lt= 8 ' b 11111011;ra & lt= 8 ' b 00000011;結束
6:開始行& lt= 8 ' b 11111101;ra & lt= 8 ' b 11111111;結束
7:開始行& lt= 8 ' b 11111110;ra & lt= 8 ' b 11111111;結束
結束案例
結束
else if(q4)
開始
案例(Q1)
0:開始行& lt= 8 ' b 01111111;ra & lt= 8 ' b 11000011;結束
1:開始行& lt= 8 ' b 10111111;ra & lt= 8 ' b 11000011;結束
2:開始行& lt= 8 ' b 11011111;ra & lt= 8 ' b 11000011;結束
3:開始行& lt= 8 ' b 11101111;ra & lt= 8 ' b 11111111;結束
4:開始行& lt= 8 ' b 11110111;ra & lt= 8 ' b 11111111;結束
5:開始行& lt= 8 ' b 11111011;ra & lt= 8 ' b 00000011;結束
6:開始行& lt= 8 ' b 11111101;ra & lt= 8 ' b 00000011;結束
7:開始行& lt= 8 ' b 11111110;ra & lt= 8 ' b 00000011;結束
結束案例
結束
else if(q5)
開始
案例(Q1)
0:開始行& lt= 8 ' b 01111111;ra & lt= 8 ' b 11111111;結束
1:開始行& lt= 8 ' b 10111111;ra & lt= 8 ' b 11111111;結束
2:開始行& lt= 8 ' b 11011111;ra & lt= 8 ' b 11000000;結束
3:開始行& lt= 8 ' b 11101111;ra & lt= 8 ' b 11111111;結束
4:開始行& lt= 8 ' b 11110111;ra & lt= 8 ' b 11111111;結束
5:開始行& lt= 8 ' b 11111011;ra & lt= 8 ' b 00000011;結束
6:開始行& lt= 8 ' b 11111101;ra & lt= 8 ' b 11111111;結束
7:開始行& lt= 8 ' b 11111110;ra & lt= 8 ' b 11111111;結束
結束案例
結束
其他
開始
案例(Q1)
0:開始行& lt= 8 ' b 01111111;ra & lt= 8 ' b00000000結束
1:開始行& lt= 8 ' b 10111111;ra & lt= 8 ' b00000000結束
2:開始行& lt= 8 ' b 11011111;ra & lt= 8 ' b00000000結束
3:開始行& lt= 8 ' b 11101111;ra & lt= 8 ' b00000000結束
4:開始行& lt= 8 ' b 11110111;ra & lt= 8 ' b00000000結束
5:開始行& lt= 8 ' b 11111011;ra & lt= 8 ' b00000000結束
6:開始行& lt= 8 ' b 11111101;ra & lt= 8 ' b00000000結束
7:開始行& lt= 8 ' b 11111110;ra & lt= 8 ' b00000000結束
結束案例
結束
結束
始終@(posedge clk1)
開始
if(RES & amp;& amp(a||b||c||d||e))
開始
if(Y & lt;2)beep = ' b 1;
else beep = ' b0
Y = Y+1;結束
如果(!(res & amp& amp(a | | b | | c | | d | | e)))beep = ' B0;
結束
末端模塊