|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
3 \0 F5 y9 _* |8 `; ^6 y
....
3 b. f$ s0 D1 k. ~- scase st is; q4 G8 b9 L o) x
when 1=>/ {- |. m5 n% X$ L4 [6 B) U8 _, O
n<='1';
5 {. h) O) u$ w3 Z; Q. D when 2=> 2 }: R2 |$ t4 t8 b' _
n<='0';
8 v( y. L t# b$ k3 L when 3=>, U& I# r/ o. `, Y
n<=pulse;
- W. ], R h* B( @9 M when others=>
/ q1 ^# H- \5 O8 Z& E+ o null;: e9 p6 P5 v3 X* U, V3 f" \5 _. J
.......
" x9 n }+ y' A T3 m m<=n;9 g \9 T0 J7 ]9 S/ Y5 H3 F
...
# N' t, u0 R' f* i- _! Q VHDL描述大致如上,st具有255个可选值,且st 为脉冲信号。, Y2 n Y+ V- _; e0 y
希望功能:st脉冲信号能够控制n的值。
7 ^& i' c# f; r# [4 d+ _ 结果:# x$ S) o- ?4 R9 X y8 N
1. st脉冲等于1,2 时,功能正常,脉冲信号撤掉后,n的状态依然存在,且正确。
, u# O9 a& n J; M2 \ 2. 3 脉冲却功能异常,当3 存在时,n的状态为pulse,当3信号撤销后,n的状态为随机定值。' _) T6 {5 R1 X% i2 ~
问题:1.希望NULL实现“无操作”=“保持之前状态”,但是结果却异常,且和赋值信号有关。. n% }' R- T: e5 h# Z( o+ R0 y$ N
+ d+ R8 d7 U. f, Q U" h; E/ e2 D {改进测试: @9 U) p" z: T8 W% R5 e
添加并如下调整后; \% M, d! T( J7 w
CASE st is
1 Z7 J C5 b6 x) r' f; q5 o when 1=>
: \& e+ V6 }: f8 E l q<=1;
+ o* F5 M" I! d k9 g0 T6 d4 a. h when 2=> 0 @4 p) k3 } [' b
q<=2;
& p4 P( V" k# X1 v. H when 3=>
1 E- _/ p) _, V- ]* t/ c$ l$ g q<=3;
$ u2 s; x2 _* b5 t6 m2 U: v& L) P when others=>
" ?( z0 o3 [+ U6 B null;
0 R" J# I$ o: W- ]2 q8 D.......
, b R0 q0 a V: d' |2 I4 x8 d( s3 S# ^+ P3 _1 e- G0 L
case q is 3 x+ x5 W3 U' B/ t/ p2 j
when 1|2=>' D% v q' J! _) k$ v A" }! |: i
m<=n;4 m* s' \$ B6 P$ S- u+ u; t
when 3=> & [: m( L# |3 g5 k9 H F% U& T
m<=pulse;. E. k( R& f3 Y9 s w2 F, G# w! n
when others=>
4 \4 L$ q: i5 X$ p/ m+ j1 _ null;
! X! m6 }8 s z7 b$ f
3 {. e* E" C% J- Y....
5 ^ G4 |- ~* }+ \, |2 d然后功能正常 。2 ~- B0 e. @: f
" h( c1 c# R2 a: ?$ P) Q! l
以上测试结果为signaltapII测试结果和示波器测试结果。$ c# t# Q& C! l7 |5 `4 c O \
' n) L/ b2 x$ y) Z/ y- M% o) P6 A上述代码为示例代码,希望各位朋友指点迷津?
4 l5 W1 Y$ ^* E I2 T4 q
" Q- h% P. }! p4 U, e/ p由于数据拷贝权限问题,不能上传源码和图片。 - L' N M8 o* M4 @. W
|
|