EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 uelophim 于 2019-7-4 14:12 编辑 4 \$ a i6 p) z
: p% c1 N% R; h0 C8 X9 f; x错误是:syntax error:near text"end process ",expecting"if"自己没找到T。T: C7 ]7 C8 N u: |7 Z9 X
结构体里面的贴出来了,请大神看看7 @) k! N) @$ _
architecture behav of dianti is signal d11,d22,d33,d44,d55,d66: std_logic;
2 ~- H5 [# S- q: p( v# psignal c_u11,c_u22,c_u33,c_u44,c_u55: std_logic;
- Z. e0 q j% O9 Wsignal c_d22,c_d33,c_d44,c_d55,c_d66: std_logic;
- J1 T9 f8 e: t6 e4 Bsignal q: integer range 0 to 1;& g" X* X2 Z( a& a* N% I
signal q1: integer range 0 to 6;
0 {# _! ~0 M% n& O% i, osignal q2: integer range 0 to 9;' |; U2 S3 ]% i; x
signal dd,cc_u,cc_d,dd_cc: std_logic_vector(5 downto 0);
/ r8 l0 E! F6 Wsignal opendoor: std_logic;
1 F% a, T7 ~! j6 Q* S" Wsignal updown: std_logic;
# H" \2 z+ [( K/ usignal en_up,en_dw: std_logic; begin
) |7 t$ n o; _ xprocess(clk) / ?! z% D/ ?" _
beginif clk'event and clk='1' then2 @9 K: d- X2 u" a- ]
if clr='1' then q1<=0;q2<=0;wahaha<='0';
4 D. ~- B+ a5 H8 } elsif full='1' then alARM<='1';q1<=0;
7 P7 C! H( x O" \4 [ if q1>=3 then door<="10";
. H' m$ q+ c' ?( t/ J else door<="00";9 a. f; G. ~6 G& z1 B
end if;0 o7 |* y- r$ @7 S
elsif q=1 then q<=0;alarm<='0';# E2 D( r. S" Q7 H2 W
if q2=3 then wahaha<='1';
& O/ q! G. o _ u0 Y else l& i2 S- L" y3 K
if opendoor='1' then door<="10";q1<=0;q2<=0;up<='0';down<='0';
K- r8 a! n( Q. M# u elsif en_up='1' then
1 s7 b! m7 T, p+ y& k$ T if deng='1' then door<="10";q1<=0;q2<=q2+1;
& x \+ S: A5 Z elsif quick='1' then q1<=3;
. a& z" c( b+ B8 a$ P) @' m/ m elsif q1>3 then door<="01";q1<=q1+1;
' y5 K* t g5 R elsif q1=6 then door<="00";updown<='1';up<='1';
! ~2 j4 y* v4 |" }. V* K% Q0 k else q1<=q1+1;door<="00";0 ]2 b# Y, S7 [* g v
end if;
, ~2 l9 v' I/ G( E: f/ h2 F elsif en_dw='1' then% A/ |! ]- t+ X" ]$ x1 N
if deng='1' then door<="10";q1<=0;q2<=q2+1;2 |" U6 H8 r2 H" \3 o
elsif quick='1' then q1<=3;) C; c1 }& `/ I2 X& R. f; W
elsif q1>3 then door<="01";q1<=q1+1;
?2 O, a6 f% ]9 I, J( E* g5 V1 P elsif q1=6 then door<="00";updown<='0';down<='1';9 T" U) s9 `- V, ?, V# g% h9 J
else q1<=q1+1;door<="00";
" x6 O0 u* D/ }! c% `7 H, I end if;
: v: Y6 `* }5 D/ }3 T( D; o end if;
# d5 G8 [* X) O. V- B" S if g1='1' then led<="1001111";' e. |$ n% U1 J7 x8 s2 o
if d11='1' or c_u11='1' then dll<='0';c_u11<='0';opendoor<='1';( A6 Y3 q. h; P0 p+ v- ?/ K
elsif dd_cc>"00000001" then en_up<='1';en_dw<='0';openfoor<='0';
$ D+ D) Z! c4 U2 ^( S0 x1 @ elsif dd_cc="00000000" then opendoor<='0';
, N8 j& {4 m# e; d$ S6 h end if;
( J' Z! G) N6 L% W. f2 t/ q# D elsif g2='1' then led<="0010010";
/ z$ V5 F2 l8 s- H2 T( d. \ if updown='1' then
1 t3 r* N5 d" ]2 Z2 ~* T, U7 K! ~ if d22='1' or c_u22='1' then d22<='0';c_u22<='0';opendoor<='1';
: ?3 j$ z8 c0 r. q/ Z& f elsif dd_cc>"00000011" then en_up<='1';en_dw<='0';opendoor<='0';' l( H$ x- Z, v8 D4 B1 g& J
elsif dd_cc<"00000010" then en_dw<='1';en_up<='0';opendoor<='0';5 Y1 |. C: T; X2 k9 I4 Q- V8 g
end if;1 r: @) v5 n; ^/ k
elsif updown='0' then( I' G' s- G" E/ _' x9 F$ t( }
if d22='1' or c_d22='1' then d22<='0';c_d22<='0';opendoor<='1';
0 h: A6 K' E/ X! y elsif dd_cc<"00000010" then en_dw<='1';en_up<='0';opendoor<='0';
1 i: J7 T/ {- e; z( ]( w elsif dd_cc>"00000011" then en_up<='1';en_dw<='0';opendoor<='0';
7 E+ {. ^: R5 p, Z0 |' G end if; elsif g3='1' then led<="0000110";
! y2 ]" C+ C: U* @. z if updown='1' then
2 A, X" b. m( j if d33='1' or c_u33='1' then d33<='0';c_u33<='0';opendoor<='1';
% |/ p0 U( R3 J$ W elsif dd_cc>"00000111" then en_up<='1';en_dw<='0';opendoor<='0';
7 L9 V/ b3 p% n* e, L7 M6 y elsif dd_cc<"00000100" then en_dw<='1';en_up<='0';opendoor<='0';
6 v1 U6 E7 M8 d/ J( Q# w4 O" z! |% J6 ~7 z end if;
, S {! `$ |5 K- _1 @ elsif updown='0' then
l2 D) s. s. _8 R! Y* x, t if d33='1' or c_d33='1' then d33<='0';c_d33<='0';opendoor<='1';) }! E+ ?* ^. W6 |+ j. f, K
elsif dd_cc<"00000100" then en_dw<='1';en_up<='0';opendoor<='0';
6 x4 f: i D3 K6 n! ?* t# u0 S+ a6 h elsif dd_cc>"00000111" then en_up<='1';en_dw<='0';opendoor<='0';$ A; D( W) y' u; t
end if;6 F% E) |* i8 L# g( m( ~
elsif g4='1' then led<="1001100"; {0 ?7 t& _ E% U6 a7 _! F' |
if updown='1' then* W3 J$ k- q7 ^& G/ f
if d44='1' or c_u44='1' then d44<='0';c_u44<='0';opendoor<='1';2 l* p+ E* l2 w! O4 r2 d7 f
elsif dd_cc>"00001111" then en_up<='1';en_dw<='0';opendoor<='0';" t3 _6 q3 X9 i
elsif dd_cc<"00001000" then en_dw<='1';en_up<='0';opendoor<='0';
/ h; Y0 R3 g- ]& }# ~4 W7 A6 d7 G end if;, @: s: f! r+ I. ]5 `$ ~
elsif updown='0' then# x2 ]; X/ E) p
if d44='1' or c_d44='1' then d44<='0';c_d44<='0';opendoor<='1';
* T* e5 T X. \ elsif dd_cc<"00001000" then en_dw<='1';en_up<='0';opendoor<='0';
0 K0 e: [' ]9 C, i elsif dd_cc>"00001111" then en_up<='1';en_dw<='0';opendoor<='0';: [0 T% L/ q* \, T" v3 [
end if;- x! p$ C4 P/ ?9 o- {" v
elsif g5='1' then led<="0100100";' i% Y# w, r7 o9 h$ z! v$ F2 o
if updown='1' then+ @1 z& h+ j: |2 ~. ?8 k6 {$ [' D
if d55='1' or c_u55='1' then d55<='0';c_u55<='0';opendoor<='1';. Q7 `3 S8 N3 O3 _) |$ J
elsif dd_cc>"00011111" then en_up<='1';en_dw<='0';opendoor<='0';
2 g: P* D1 u. N2 B/ q( V elsif dd_cc<"00010000" then en_dw<='1';en_up<='0';opendoor<='0';
' [9 P/ ?9 T8 f8 V7 @, w end if;1 d, Y# |- ?% T+ P; d _( C
elsif updown='0' then
; M5 A$ ]7 r5 \: }; \) e d2 Z if d55='1' or c_d55='1' then d55<='0';c_d55<='0';opendoor<='1';/ L" N4 D/ Q5 v1 Y& g
elsif dd_cc<"00010000" then en_dw<='1';en_up<='0';opendoor<='0';
# c4 f/ [8 r4 F6 | elsif dd_cc>"00011111" then en_up<='1';en_dw<='0';opendoor<='0';* X' R6 K! k5 A9 s
end if;
5 t4 a8 A2 s% ~ Q S elsif g6='1' then led<="0100000";
- p; T3 B0 B2 \8 O$ m if d66='1'or c_d66='1' then d66<='0';c_d66<='0';opendoor<='1';, h7 L: I% B& A; C; u6 w
elsif dd_cc<"10000000" then en_dw<='1';en_up<='0';opendoor<='0';
& D- W" v1 v0 `. Z+ t end if;
0 T7 E, F, E; F* y/ x' g* _0 C else# L4 F* N- b; b* ~* g9 c2 @
en_up<='0';en_dw<='0';
+ Q4 S' d% t' o; \% U* q& i end if;
" Y3 D' M! j5 j# o; { end if;
^& c! q* X# w" x else9 N# r/ B: U) R% P8 R9 J+ s
q<=1;alarm<='0';
- A! ?. ]! `5 g- Y. K0 c$ X% @ if d1='1' then d11<=d1;$ d9 T7 T0 B2 R5 T( u0 @5 d0 d
elsif d2='1' then d22<=d2;
. F# k) U! G9 q elsif d3='1' then d33<=d3;' I; B. R' q5 G1 r! F* {2 H
elsif d4='1' then d44<=d4;
) O' t! q: b3 {, {. X& J elsif d5='1' then d55<=d5;* L0 ?) U) Z; ^% g& j, W
elsif d6='1' then f66<=d6;+ `; ~+ Y6 f% E. ` q
end if;
# G- m; ~( ~6 _+ m2 H if c_u1='1' then c_u11<=c_u1;
* ~7 q/ D& v- {8 Z1 `5 l elsif c_u2='1' then c_u22<=c_u2;4 A4 \$ U! H' w3 \0 M/ f
elsif c_u3='1' then c_u33<=c_u3;' F5 c& m% h8 f; o
elsif c_u4='1' then c_u44<=c_u4;
$ i" B/ h/ a' C' `3 J" } elsif c_u5='1' then c_u55<=c_u5;# C/ v4 a' e& [+ F& h! \( U
end if;. X5 L. f Z0 p& T% }4 u" |
if c_d2='1' then c_d22<=c_d2;
& t" e9 o3 d2 Y& o5 D9 t elsif c_d3='1' then c_d33<=c_d3;
|' K1 e" i* R5 r6 r elsif c_d4='1' then c_d44<=c_d4; R. e( V7 e4 J: J3 t5 s* Q0 r
elsif c_d5='1' then c_d55<=c_d5;: x1 V) B+ L# J. v% z
elsif c_d6='1' then c_d66<=c_d6;+ g5 Q4 j6 |* s- L9 p7 N
end if;
7 d6 x! x5 U$ f4 Y7 ^8 e dd<=d66 & d55 & d44 & d33 & d22 & d11;
/ K( T% b# P8 {6 E- W cc_u<='0' & c_u55 & c_u44 & c_u33 & c_u22 & c_u11;
% D$ Q7 I( V$ M. b) p" q5 P cc_d<=c_d66 & c_d55 & c_d44 & c_d33 & c_d22 & '0';
$ C4 c/ n: ~5 K% E' W1 z dd_cc<= dd or cc_u or cc_d;
3 _& ]/ y" b, U z8 S, d* r end if;. E# z9 @; K5 w) N8 Q6 G
ud<=updown;
- F- d. P7 j9 A+ j: a led_d<=dd;' u7 p% U+ z* q; }0 n2 x) h
led_c_u<=cc_u;! `5 e7 s) b- u2 W1 w4 u; H' X4 ]
led_c_d<=cc_d;/ {, G) r. V. j" `2 H# ?& r
end if;end process;3 ~! r* L" \. G! U# W
% o# p" W$ [4 n6 \1 |" s% z$ kend behav;
: r$ B" w* ^. ]% d8 j
/ n' |9 N, h6 w6 U6 ?4 \ |