|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
! Y" N f( \4 X3 N
....) i1 @& d" w2 I- x9 z0 b
case st is
& J& w ]# N% x/ c; M) W when 1=>8 p/ e% G! i7 O) h7 L2 I% F( k& P3 ~
n<='1';. d/ f2 Q$ ~4 a0 J3 |; O7 K
when 2=>
. m9 `8 O5 A& O' }3 d3 J4 P; Q n<='0';& A6 _9 u6 z$ {1 F4 r2 A' \
when 3=>+ ?6 Q- \9 p% H" a( p$ m' }
n<=pulse; Q5 ^; J! ?3 f) `
when others=>/ k( r/ V$ m* v3 j
null;
' |( t& V2 z# \.......* ?! @ G' p$ s" B# C
m<=n;
; I" ^' ?/ j% E! i% _$ t...
8 ]* K: ~9 _7 x" s( \ VHDL描述大致如上,st具有255个可选值,且st 为脉冲信号。" b9 u/ B' ~0 X& _
希望功能:st脉冲信号能够控制n的值。
, r8 x( R1 ^1 S 结果:
" V" E9 `# P8 G6 |7 M' S 1. st脉冲等于1,2 时,功能正常,脉冲信号撤掉后,n的状态依然存在,且正确。
' _7 X- f9 P( k5 N2 X5 `+ B 2. 3 脉冲却功能异常,当3 存在时,n的状态为pulse,当3信号撤销后,n的状态为随机定值。
, |4 i" d( Y" j- E' Z 问题:1.希望NULL实现“无操作”=“保持之前状态”,但是结果却异常,且和赋值信号有关。* r" o/ m0 b2 }
$ @; i# b5 n* \4 P& [- w# E
改进测试:" y" R) T# i- L/ F* w
添加并如下调整后
" s3 i1 W- E3 B8 t" J2 X CASE st is + p4 `: u0 T! w
when 1=>! M* ^' L3 h& ^9 f! D
q<=1;# c# b: V- U( l/ d) R
when 2=> ( T O+ q" ?; k. q
q<=2;" `0 O: v) f, D9 m) T, H- f' y. G" ~& S
when 3=>2 g1 A. D1 G3 h4 q7 k# Y+ }, m; V& }
q<=3;
! F; X- U8 J% U9 E( ] when others=>1 Z/ s5 [. [7 ^5 K1 H
null;, @ u" D8 I( \4 ^% a" X
.......% _0 Z, R( N. L; Y) q0 Y G! F
Q" e9 H: X3 W/ b8 V4 i
case q is ?! ~' E5 R4 `& X+ @) Y$ n( Z
when 1|2=>" `) }( j, i# B; ~ e: p/ L" }
m<=n;
: J5 w6 e* p- C8 H+ i4 @$ A when 3=> & N% k7 b7 _" \
m<=pulse;
' B( u3 t6 U& w P when others=>5 R/ e0 [# i9 |( R$ f
null;
$ H, M% G( Y' r: ]
# m3 J2 z3 H* v( p% s* Y5 o....5 c6 s6 w" D! ]7 M* X
然后功能正常 。/ W$ t K! ^/ Q4 x/ z d' ~' m0 N! }
! j% R. q+ y' d( N5 |* [% S以上测试结果为signaltapII测试结果和示波器测试结果。
: n: a# ?! X) S Z, V/ r) b! P$ @4 M- p$ r8 M
上述代码为示例代码,希望各位朋友指点迷津?
. P( ? T S. h* m" C" q4 k, ?2 c1 n# L2 J% z0 n2 r* I
由于数据拷贝权限问题,不能上传源码和图片。
# q2 O# ]2 U( A! r" O8 t |
|