EDA365电子工程师网

标题: case中NULL与数据保持问题 [打印本页]

作者: thinkzero    时间: 2017-3-19 15:33
标题: case中NULL与数据保持问题

9 y, T! Z. _& Q: s% @( @....
4 K0 q& ^4 w! p/ i+ acase st is+ V) T4 A, j; P( O
        when 1=>  l& L9 _1 ]; X
                 n<='1';
# G! F* ]; w- a5 h% {        when 2=>  5 ^. D3 p4 y7 N+ ?( X8 S2 t8 Y) l
                 n<='0';- G6 K' A- d, E5 O
         when 3=>6 K& L# c5 F/ i6 q/ Z4 q
                 n<=pulse;$ i1 Y% P6 c6 H
         when others=>$ R$ h. i8 w4 F+ Z2 T9 a+ a
                  null;
. o/ {5 w( V5 v8 m" C: F.......
# B! U& [  g5 t4 @+ R4 A       m<=n;+ R9 t: _5 z* u$ q; s; [5 d; }
...( E$ `. ~9 b+ ~( b( B: ]( \3 P
      VHDL描述大致如上,st具有255个可选值,且st 为脉冲信号。
' X1 |1 Y8 z: ^7 K      希望功能:st脉冲信号能够控制n的值。
5 ^! M  w. w8 ?) G6 Q, B      结果:9 k8 e- \8 z( G" X$ x& `7 x
              1. st脉冲等于1,2 时,功能正常,脉冲信号撤掉后,n的状态依然存在,且正确。. {; F; W$ u8 p1 @* F
              2. 3 脉冲却功能异常,当3 存在时,n的状态为pulse,当3信号撤销后,n的状态为随机定值。4 [- @  R9 X. \$ S% a/ L# _& q: t
     问题:1.希望NULL实现“无操作”=“保持之前状态”,但是结果却异常,且和赋值信号有关。6 J1 I. z7 i3 ~
8 C0 {3 w: E, y% O6 o9 b1 n
改进测试:' o! ~" v0 y  A, u/ P- G( i
         添加并如下调整后8 T8 p& l% j) e0 f3 D- [) S
CASE  st is . l+ }# B; B  X9 q7 A
        when 1=>1 K/ M. m7 ^" L
                 q<=1;5 N- @/ n+ o- p) w. r" H( ]
        when 2=>  
6 h/ a3 n* a5 Z9 f                 q<=2;) R( s. {1 n+ C& c3 I! j: ?% S8 C
         when 3=>3 W$ Q; Y- W( T& y. s6 N. F
                 q<=3;
% n# r. V5 m/ j! W# p4 q" U+ _         when others=>* |- z8 G+ r: t6 e! p& C
                  null;! Q8 H" E+ l* m: h, @2 b
.......' M0 m  l9 ^8 W' ?4 I- z# t- w
+ i' n* u6 k* h0 I* y" `1 }' I
case q is / c# l0 Q2 V: c* W8 u  ^" a
        when 1|2=>
( d5 Q8 @) l7 I7 n0 Z                 m<=n;
" f8 E6 d, E* Q8 R& o9 g! [        when 3=>  ' @5 c& o! o/ o7 Z. Y* ]8 R
                 m<=pulse;2 }. F. i) M& Y$ p: L5 @+ g
         when others=>7 h, h$ |& o2 i
                  null;6 u/ t7 E9 l2 Q+ h2 P
( `. G+ u; H' Q& n
....
3 a  B' b% r  e; o5 A然后功能正常 。
% _' Y) ]" D1 y+ p3 X, H
! r. M2 ?5 x* g( D* ?: ], f以上测试结果为signaltapII测试结果和示波器测试结果。+ d# W/ C1 w7 h+ O
- L7 O4 J6 A/ D$ U, R! k
上述代码为示例代码,希望各位朋友指点迷津?, J$ o! S, w, G9 ]  P
  N4 c+ p; L5 e( r6 X8 d+ a
由于数据拷贝权限问题,不能上传源码和图片。                 ' d7 V! j9 A& q8 L: n

作者: thinkzero    时间: 2017-3-20 19:02
简化了工程文件如附件。
: @; u4 r9 Z, ?7 T

case_test.rar

4.06 MB, 下载次数: 0, 下载积分: 威望 -5


作者: whawbb    时间: 2017-11-25 20:47
这个贴不错!!!!!




欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2