Chip123 科技應用創新平台
標題:
關於Verilog猜拳機設計求助
[打印本頁]
作者:
uncommon
時間:
2008-10-10 06:18 PM
標題:
關於Verilog猜拳機設計求助
猜拳機IC 設計( GAME1 )
+ u( @8 Y1 n" B$ g$ b7 H) {" L
• 1 輸入: A方設定剪刀/ 石頭/ 布( A_GENDAU /
1 M( D3 b3 R% r0 M) F7 Z! q9 s: T
A_STONE / A_BOO ) , B方設定剪刀/ 石頭/ 布
. n; L2 d1 O8 ]
( B_GENDAU / B_STONE / B_BOO ) , 裁判
8 g0 k+ |% g0 H
( CHECK )裁定A , B 方的猜拳輸贏設定.
, a7 z# E9 |# e
• 2 輸出: A , B平手輸出線( ABEQU ) , A贏輸出線
# Y! @; N/ }/ H( c- n. A4 d
( A_WIN ), B贏輸出線( B_WIN ) , 尚未裁定或A , B
' i- s' ^6 I& a+ d3 m
猜拳資料設定有誤輸出線( ERROR )
8 M4 p" E7 o6 \ _" f
• 3 功能: A , B 雙方都設定好剪刀/石頭/布之後,
+ H' z7 e _, H9 {; p9 p
使CHECK = 1 , A , B的猜拳輸贏結果將使
4 g$ X% Q% L7 [" c% e! r
( ABEQU , A_WIN , B_WIN )之一為1 ; 若
3 G& U, K" K Y& b% q" F- [. _; N
CHECK= 0 或設定有誤, 則ERROR 輸出1
$ z& _+ W. O) Q% d5 p
. c9 R* k# k' H+ q9 K& B, L H
看了很久我只打出了...
2 X' O4 I2 g/ V5 P6 h
module Game1(check, A_GENDAU, A_STONE, A_BOO, B_GENDAU, B_STONE, B_BOO, ABEQU, A_WIN, B_WIN, ERROR, A_WIN, B_WIN,)
3 ^' ]+ j" i3 o+ a; c$ ?! u
input check, A_GENDAU, A_STONE, A_BOO, B_GENDAU, B_STONE, B_BOO;
3 U- k* ]5 t3 r4 B
output ABEQU, A_WIN, B_WIN, ERROR;
: m5 i4 k) E. O
reg ABEQU, A_WIN, B_WIN, ERROR;
' @. }) R8 s3 t/ i2 E# W/ d+ m
/ s* I! s8 _" j* P
接下來就不知道該如何打了...
# F! ~) k4 s6 D) U6 v% _
(我想我打的應該也都錯吧...)
* s2 t; ?, ?! q6 h
% m( z- f& C2 ~/ B) r2 r6 g
如果有人給我ㄧ份程式可以麻煩跟我說語法的意思各是什麼意思嗎...
& W' U6 Q1 B; y, I
因為想了解才不會什麼都不會...
1 c% o& O( C- o" ~( O0 p
麻煩各位高手了!!
作者:
LAICYU
時間:
2008-10-20 02:49 PM
module game(chack,a_STONE, a_BOO, a_GENDAU, b_STONE, b_BOO, b_GENDAU, clk,aequb,awin,bwin,error);
+ }4 g& r3 G7 \! l7 a7 k2 o
# `2 b) w8 G! q& r- n) F: Z! I
input chack,a_STONE, a_BOO, a_GENDAU, b_STONE, b_BOO, b_GENDAU, clk;
6 @5 r9 F- _# _4 G" z+ ?
* ~2 G9 a( N9 X/ ?, f2 |
output aequb,awin,bwin,error;
; D7 _! q( Z# F! |
3 M z& E- }( _$ q8 [, a
reg aequb,awin,bwin,error;
+ c' L$ E6 {# c9 V
0 I5 g8 v' X! O
always@(posedge clk)
5 b! z0 E9 w9 W V/ ^; |
0 ~1 W! [0 }4 d( z+ D' f" d- R
begin
. \% G( \4 N$ D
/*aequb=0;
% Q) K8 T g% s: |
bwin=0;
9 d, Z5 H3 t$ [! j0 b+ J
awin=0;
. q# }/ A5 j' T( S
error=0;*/
, Q. @ V( Y" o6 E
if (chack==0)
( N1 \3 W7 T/ g- u
error=1;
6 B* N1 Q( W4 ]8 s
else
5 e$ j3 L. t6 L: }" j
//a=STONE
* \$ n+ ~# @1 ?8 `2 z. {. `! g
if ({a_GENDAU,a_BOO,a_STONE}==3'b001)
1 {0 K1 d3 ^$ \+ b f8 K8 Y! M% W
/ ? O n& X. S
case({b_GENDAU,b_BOO,b_STONE})
' h8 j! i% v ^
3'b001:aequb=1; //b=STONE
' c' ]! D! L7 ^+ g* h% x
3'b010:bwin=1; //b=BOO
, d4 l7 H) F5 [1 S+ G
3'b100:awin=1; //b=GENDAU
b0 Q: X: g& Q& X0 A/ x' ?
default:error=1;
" p/ B4 V. x# _8 K8 o8 [
endcase
, N- d/ }# i6 U' u
) ^1 H' O7 i! G
else
1 E$ U1 O8 ~" C
//a=BOO
; V/ l* l4 n* x. Q
if ({a_GENDAU,a_BOO,a_STONE}==3'b010)
8 U3 L8 ]7 V8 l9 e# c4 {/ r
* G- w: {' y4 O5 c8 q/ l
case({b_GENDAU,b_BOO,b_STONE})
( `2 F. E( f% k5 }& i" D- S( E' M
3'b001:awin=1;//b=STONE
5 D: L0 M0 G2 s
3'b010:aequb=1;//b=BOO
* E. A9 g9 V# e5 r1 O0 R
3'b100:bwin=1;//b=GENDAU
9 F- M d( C6 x& x. @ q M% z
default:error=1;
; Q/ j9 D+ S# ^5 K( R2 f/ A; I6 Y" Y3 R
endcase
" f! k* E" v" v
9 a% J$ }6 y9 P3 {3 N( k. B2 a
else
& {0 }4 g5 h) r
//a=GENDAU
. _3 T8 U) ?, b" \* n$ w
if ({a_GENDAU,a_BOO,a_STONE}==3'b100)
, e0 g; x0 j7 P T; w& I, }" S
, i+ x% j) a1 p! O5 q
case({b_GENDAU,b_BOO,b_STONE})
6 t: z, f2 C/ c7 @& \3 @, P1 m
3'b001:bwin=1;//b=STONE
" R2 A! v" m& V0 r B) z' Z
3'b010:awin=1;//b=BOO
; L8 G0 e' ]: z U# D# k
3'b100:aequb=1;//b=GENDAU
, D3 S* M: }! u8 W: L2 a
default:error=1;
9 g% c' V- W6 f7 T
endcase
( U* E- m) b% V1 m2 {, ` t6 u' s
; }( u- s! i# ^1 a( K" q( t
else
# d, T/ ?2 d! H" ~
error=1;
. i: g! N% u5 z# z2 Y. m/ S. ^
end
( i+ N3 |4 m0 X. J- W b
endmodule
歡迎光臨 Chip123 科技應用創新平台 (http://chip123.com/)
Powered by Discuz! X3.2