EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 uelophim 于 2019-7-4 14:12 编辑 & k9 c6 ?2 r+ u, Z0 N8 Y
5 L N# V6 N6 W5 l$ E错误是:syntax error:near text"end process ",expecting"if"自己没找到T。T
/ _2 A- M/ c! A$ M8 t3 S7 u! C% W结构体里面的贴出来了,请大神看看
' N* A) H, f& b& y0 B! U7 larchitecture behav of dianti is signal d11,d22,d33,d44,d55,d66: std_logic;
% e+ y) Q7 H3 n7 C% A6 fsignal c_u11,c_u22,c_u33,c_u44,c_u55: std_logic;
6 ]+ X$ s. a' rsignal c_d22,c_d33,c_d44,c_d55,c_d66: std_logic;
4 n ~: A' V7 S4 c( Qsignal q: integer range 0 to 1;
* u+ M! ^1 S! x) N2 csignal q1: integer range 0 to 6;
& J. Z. {1 k+ |9 n" v1 Fsignal q2: integer range 0 to 9;$ U" c2 y% m8 G1 x8 ]4 C- N. g8 K# L
signal dd,cc_u,cc_d,dd_cc: std_logic_vector(5 downto 0);
, K- i( K) t- D7 q6 ksignal opendoor: std_logic;
' P( }5 s4 ^* {9 Z, [signal updown: std_logic;
2 z- u' h" W# wsignal en_up,en_dw: std_logic; begin
/ n3 ]( \6 f4 @' nprocess(clk)
1 a {2 O) N# Z1 p5 ~ beginif clk'event and clk='1' then
% A$ A- g3 e0 E* u) P0 U if clr='1' then q1<=0;q2<=0;wahaha<='0';
( B3 v; v/ |$ }: c* A. I elsif full='1' then alARM<='1';q1<=0; h* b) P7 x1 N2 r& U- Y6 a+ e
if q1>=3 then door<="10";
* E1 m3 H# t8 T. C% V1 B3 K' g3 U5 G8 w else door<="00";( L2 l0 G* R( [# C' n- _; }# ~
end if;
1 ]; q* s. c# D6 v- ]/ w elsif q=1 then q<=0;alarm<='0';
0 o- m( T. h- G/ a, F if q2=3 then wahaha<='1';; v M7 j/ Y- p1 c. ]( _
else4 v: B. r0 Z& m& k* W8 r
if opendoor='1' then door<="10";q1<=0;q2<=0;up<='0';down<='0';! B# B' @9 q0 q0 L0 ^0 M% @, e
elsif en_up='1' then
7 i( z* p5 m* Y if deng='1' then door<="10";q1<=0;q2<=q2+1;( Q8 i5 }) B4 L! B4 \9 ~5 ]* a( {
elsif quick='1' then q1<=3;" {2 ~/ g5 N- j. f
elsif q1>3 then door<="01";q1<=q1+1;0 R B$ d. V# f5 }4 ]7 \' f, D
elsif q1=6 then door<="00";updown<='1';up<='1';
; d' ^: G- H& P3 o' t6 v else q1<=q1+1;door<="00";; p* I, H2 B3 w) n; r! Q4 ?
end if;
+ o9 b+ f9 M4 i( t elsif en_dw='1' then
- l: _7 I6 z# P4 w3 c- O1 m2 q if deng='1' then door<="10";q1<=0;q2<=q2+1;" E; _7 ?! X9 g
elsif quick='1' then q1<=3;3 L" i- k1 A l c9 @% Z' T
elsif q1>3 then door<="01";q1<=q1+1;
0 Q' {5 |# Z8 h( } elsif q1=6 then door<="00";updown<='0';down<='1';
5 K4 G" d& t& e9 o/ M0 C8 f: X else q1<=q1+1;door<="00";
2 n8 G- }7 g) n' f5 g( c end if;( x6 ?; u5 N3 i
end if;4 b) E9 ^! E# _% G; H& R
if g1='1' then led<="1001111";- d( g H' L: I& h H' t- Q
if d11='1' or c_u11='1' then dll<='0';c_u11<='0';opendoor<='1';
2 c4 a3 C2 A( B8 N$ y7 } elsif dd_cc>"00000001" then en_up<='1';en_dw<='0';openfoor<='0';9 [/ y# b0 z3 C; m0 Z+ O5 P$ N
elsif dd_cc="00000000" then opendoor<='0';
V5 W9 R/ C: n! \ end if;
( G) H" A+ [+ z. r( D' L elsif g2='1' then led<="0010010";
J* H8 j! c8 A: e8 t: n if updown='1' then
/ P' [8 b# R3 \# q# Z3 a1 s6 T if d22='1' or c_u22='1' then d22<='0';c_u22<='0';opendoor<='1';4 a2 H/ t' H( q! q
elsif dd_cc>"00000011" then en_up<='1';en_dw<='0';opendoor<='0';" a# A( a7 h3 S
elsif dd_cc<"00000010" then en_dw<='1';en_up<='0';opendoor<='0';& A8 h* V9 D' o* V% M1 t
end if;8 r5 o7 }1 z9 M* C& `" W# h8 J! N
elsif updown='0' then+ _4 X2 v$ a' H& ~
if d22='1' or c_d22='1' then d22<='0';c_d22<='0';opendoor<='1';8 \: x3 v1 i" V- v
elsif dd_cc<"00000010" then en_dw<='1';en_up<='0';opendoor<='0';6 V2 N; g9 f& J6 ?4 t3 E9 Y
elsif dd_cc>"00000011" then en_up<='1';en_dw<='0';opendoor<='0';( v! F6 X8 ?! N2 S( E
end if; elsif g3='1' then led<="0000110";
8 y1 F! q! y- {$ Q- _ if updown='1' then
. s! S6 c x8 t if d33='1' or c_u33='1' then d33<='0';c_u33<='0';opendoor<='1';- t- U; o0 @, p3 S# L1 _
elsif dd_cc>"00000111" then en_up<='1';en_dw<='0';opendoor<='0';- W' ]/ P1 n0 o6 C6 G h6 |
elsif dd_cc<"00000100" then en_dw<='1';en_up<='0';opendoor<='0';9 p+ V; l1 `; ?/ c e
end if;+ t# @$ _& g. J; F
elsif updown='0' then
, Y7 y( N. g- |7 u9 Z if d33='1' or c_d33='1' then d33<='0';c_d33<='0';opendoor<='1';
- ?4 [8 o/ V4 U* Y! L elsif dd_cc<"00000100" then en_dw<='1';en_up<='0';opendoor<='0';
0 f6 L9 S/ M& I9 @3 U elsif dd_cc>"00000111" then en_up<='1';en_dw<='0';opendoor<='0';
( ~7 m: m6 |! I9 f$ M, Y) O end if;, f n# _" l, Z% }3 N
elsif g4='1' then led<="1001100";
$ m3 Z4 X4 m( |% I7 @1 s6 @3 h if updown='1' then
+ X2 W+ s0 q4 h if d44='1' or c_u44='1' then d44<='0';c_u44<='0';opendoor<='1';
2 L8 @( k v1 O4 a. y- l; @' O elsif dd_cc>"00001111" then en_up<='1';en_dw<='0';opendoor<='0';3 N4 {+ A6 @$ V7 Q3 c6 s
elsif dd_cc<"00001000" then en_dw<='1';en_up<='0';opendoor<='0';
- M0 s/ `& @- | end if;
/ L. g( _1 n" i elsif updown='0' then
+ u. u# t B5 l if d44='1' or c_d44='1' then d44<='0';c_d44<='0';opendoor<='1';
8 Y! O5 J/ U( t$ _# y$ _/ t elsif dd_cc<"00001000" then en_dw<='1';en_up<='0';opendoor<='0';
, R5 t3 [6 W5 i+ y0 u& Y M elsif dd_cc>"00001111" then en_up<='1';en_dw<='0';opendoor<='0';
b& z0 e5 y- ]$ N1 V end if;) x; V6 V7 h, r: |, C
elsif g5='1' then led<="0100100";% f* F5 C& U7 f" {' _# R
if updown='1' then B& }: G2 U$ \$ w! y3 g8 w
if d55='1' or c_u55='1' then d55<='0';c_u55<='0';opendoor<='1';: ^; U6 }& t7 N$ O" B- [
elsif dd_cc>"00011111" then en_up<='1';en_dw<='0';opendoor<='0';
( t5 v" }' U0 |; m. c, J4 {4 r' f elsif dd_cc<"00010000" then en_dw<='1';en_up<='0';opendoor<='0';0 L7 J3 b! t# ?- x0 ^4 ?
end if;( r4 n% P$ ^4 [3 y& o
elsif updown='0' then1 U3 P+ q# r: k" R4 {1 Q: p% E8 f
if d55='1' or c_d55='1' then d55<='0';c_d55<='0';opendoor<='1';
6 x7 [- c! `2 E1 Q# G; Q J elsif dd_cc<"00010000" then en_dw<='1';en_up<='0';opendoor<='0';
& `2 X0 `8 E9 N" n: H E: } elsif dd_cc>"00011111" then en_up<='1';en_dw<='0';opendoor<='0';
/ {5 S' P( D8 \! F9 k z end if;
# g. |) z/ f8 ]5 X; L6 Q elsif g6='1' then led<="0100000";, d- C" F! P4 _ H6 e+ C- s% a6 I
if d66='1'or c_d66='1' then d66<='0';c_d66<='0';opendoor<='1';: O) ^0 A4 i% R1 Z! p7 g
elsif dd_cc<"10000000" then en_dw<='1';en_up<='0';opendoor<='0';
; l6 u6 [; \. d7 r7 T$ X end if;
$ L& S% X& e1 Z2 b else
# R4 M" e3 s9 f& A9 Y& P5 ` en_up<='0';en_dw<='0';0 {7 D0 a9 M/ I1 G# x
end if;
8 u! W* y8 C) C- ]2 l end if;+ A6 O, Z8 c, p
else) l9 v: N+ N" L
q<=1;alarm<='0';
/ |# n; I- T) S% a* I: A% Z if d1='1' then d11<=d1;9 a1 N) q& V" P% j4 m3 }
elsif d2='1' then d22<=d2;0 K/ Z! g. }, p0 l! A
elsif d3='1' then d33<=d3;
4 [: U. ]& t! z) ]9 z elsif d4='1' then d44<=d4;) I, E; r8 N- [+ R: p
elsif d5='1' then d55<=d5;& a$ W- v, E* w
elsif d6='1' then f66<=d6;
, Y8 H9 o: w: \ end if;
6 Y/ C5 V! L" o: z if c_u1='1' then c_u11<=c_u1;
0 s" f9 D0 \% w; }0 e! E elsif c_u2='1' then c_u22<=c_u2;% Z% x) Y& N( N$ [1 P8 ], Z
elsif c_u3='1' then c_u33<=c_u3;3 K2 ~, `, m' t; L
elsif c_u4='1' then c_u44<=c_u4;" S$ e! d5 Q; ?, z. q! Z2 f
elsif c_u5='1' then c_u55<=c_u5;
( W7 a4 g2 r0 t$ k) } end if;
- ~. Q9 ?9 K3 x0 w$ u: E if c_d2='1' then c_d22<=c_d2;
, d# M2 g2 B+ }1 O" g" ? elsif c_d3='1' then c_d33<=c_d3;
: [4 {3 t; q2 `: n i# a elsif c_d4='1' then c_d44<=c_d4;
7 @4 r1 F5 s5 o elsif c_d5='1' then c_d55<=c_d5;
6 }% y( @, |+ O elsif c_d6='1' then c_d66<=c_d6;$ @1 J; o7 W2 [
end if;- u+ H' L8 ] e
dd<=d66 & d55 & d44 & d33 & d22 & d11;
& O& p) G' f/ k% b& N cc_u<='0' & c_u55 & c_u44 & c_u33 & c_u22 & c_u11;
/ p* n$ s) o3 j- l; t, D9 L cc_d<=c_d66 & c_d55 & c_d44 & c_d33 & c_d22 & '0';
9 j( l5 ^, \! k# t5 K2 D1 ] dd_cc<= dd or cc_u or cc_d;
; U5 p( J+ D" b; @: @. v: r end if;
; V3 C* R5 e# N) H& p% ~ G ud<=updown;
8 t2 }- A* q; L7 o# V) y: r led_d<=dd;
5 [1 N+ E0 B5 y led_c_u<=cc_u;6 K4 {3 s; L' o5 f9 U( ?$ D" A
led_c_d<=cc_d;
+ ^9 m8 v- {. t+ w! p' v! n end if;end process;
7 c1 Q2 P3 o3 b R2 ?8 ]# {0 G* B7 r9 D k; X! o
end behav;
+ a/ Y3 r5 l. C3 K5 e6 I* e. S0 f8 _( C% k: v+ V
|