|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
5 u: C) w$ L' T O4 M0 E
....
# I" c2 {0 P: c( Ecase st is4 J1 ?6 S. N1 E. G0 S6 O9 e b
when 1=>' |$ ~6 G' u5 |" q5 \/ J1 s6 p
n<='1';8 V9 F5 T3 H* W
when 2=> , e5 q6 ]+ D+ L
n<='0';
8 u# y4 v- L3 D7 n* i% i1 R& [3 E2 f when 3=>
' e# q" E& K1 o1 F' S2 Y" R" w* ` n<=pulse;9 }7 n6 W9 h! J0 ~/ i
when others=>+ d' G" X q; `, N6 t
null;! s) K8 S7 ^! [3 e1 {' s4 Q
.......
/ s' q) n8 o$ ]; A0 G9 V/ L m<=n;
3 i; \4 f8 M" `% V/ \. R...
5 v3 y3 W$ |! {( N) S VHDL描述大致如上,st具有255个可选值,且st 为脉冲信号。
$ y' k+ ?7 U n4 J 希望功能:st脉冲信号能够控制n的值。
2 }' J2 M* K; B) L 结果:1 |3 ~8 L, b1 q0 \5 Y4 ~9 E7 K& l" E
1. st脉冲等于1,2 时,功能正常,脉冲信号撤掉后,n的状态依然存在,且正确。6 x6 |$ j8 S3 O& ? X
2. 3 脉冲却功能异常,当3 存在时,n的状态为pulse,当3信号撤销后,n的状态为随机定值。
, e4 V) e; ^8 R' _ 问题:1.希望NULL实现“无操作”=“保持之前状态”,但是结果却异常,且和赋值信号有关。& w7 d( K8 j1 b, f- r
0 e" r, s0 @/ r5 K# [, l改进测试:
R& D2 X5 K; w% M2 k: w9 E 添加并如下调整后
! A; E2 k9 [4 R, s; u P* Q% v CASE st is $ Y) P7 p, @% o
when 1=>
8 f& B1 M: S9 ^$ ?1 D U/ r q<=1;
. J! q1 @7 {4 Y i4 J' Z g% V& R when 2=>
% I1 @( s$ t1 {0 q" c7 F9 \8 W c& { q<=2;
W/ w5 U4 p. i7 e' @: d& K" r9 z when 3=>
. l- w( l! s. Q' x5 z# Y" l q<=3;3 O/ q5 b- e, G
when others=>& X4 i7 G+ w5 f8 P: m- ]
null;
: z) d5 J" h' C.......: ], {( A# _6 X k: @
# I8 M* ?5 ]1 @1 Ucase q is
0 V" A( v* S: I8 ~9 K( Q when 1|2=>
N* Q. n2 t X m<=n;
9 u5 a* C5 {$ G. r9 _ when 3=> + V9 L+ K" ?& p" |8 @
m<=pulse;, N; M. }/ m4 k/ B% q! a9 q8 u
when others=>0 X$ ?) \! I. F$ t8 @
null;1 \' S$ Q5 @8 {9 F! X m; ?
6 T7 M2 _0 ~6 B( |# S5 `....
8 ?* w1 a" }# ^+ c( Y* C; o9 D4 b9 V然后功能正常 。7 p3 y" K+ K) f) W; X, A, r* n: F# b
9 j, k- x. p& o5 a
以上测试结果为signaltapII测试结果和示波器测试结果。
, G A* a: z" A+ Q$ w+ m* s+ f
+ d! f3 L" I. ^5 Q; `* Q3 ]上述代码为示例代码,希望各位朋友指点迷津?4 J1 R5 H3 I5 R6 x" c4 h7 G
- b8 b" n7 B" k0 f' r. [, x) F由于数据拷贝权限问题,不能上传源码和图片。
, [+ O' Z; K6 J, b; ?$ s8 G |
|