|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
) q6 F4 l9 z2 I& v# U, l
..../ g* @6 @9 }1 }5 M6 C
case st is% m$ i& c9 j; [ i( P$ ]
when 1=>
* A* [" I7 O6 U: P# K: R8 s8 P n<='1';
9 |3 @( G, c& f2 W7 G- L6 ?' v* l when 2=> ; O; h8 d9 ?& a3 C0 A$ }
n<='0';- i- _$ h3 W% w; G5 Q$ l
when 3=>7 D; N$ y, G) c3 {. L
n<=pulse;
) }' j- T5 U# y; b2 t* W when others=>9 J1 t2 U# r2 }1 V* p( x) A
null;" U0 n/ y5 X8 D
......., r; J4 Z5 X4 x$ Q2 L; Y5 Z1 ~
m<=n;
3 f' Z% N/ D/ s...2 n. U; k6 {% [1 h! {/ `% V" Y
VHDL描述大致如上,st具有255个可选值,且st 为脉冲信号。
" a* B4 ?/ K- X2 a! K" J# ~ 希望功能:st脉冲信号能够控制n的值。
& Y' V, O7 \; Z2 y8 q$ G0 |5 | 结果:
5 t3 p. j3 R2 Q# M6 d; R 1. st脉冲等于1,2 时,功能正常,脉冲信号撤掉后,n的状态依然存在,且正确。
9 w x7 i6 r% ]7 z 2. 3 脉冲却功能异常,当3 存在时,n的状态为pulse,当3信号撤销后,n的状态为随机定值。: F8 d7 w3 u9 C# Z" O
问题:1.希望NULL实现“无操作”=“保持之前状态”,但是结果却异常,且和赋值信号有关。
: l: P+ F9 W- U
9 S4 m' w l5 V改进测试:
& e1 e' ]5 L3 ~ D% G: Q 添加并如下调整后
Z" s/ }/ B# s2 m. A9 {' S9 i CASE st is
" X2 W$ x5 K4 ?5 }' k when 1=>8 `6 D8 {& y7 ?" C7 M* _) H8 T
q<=1;: C; b1 M: b0 U3 n/ v
when 2=>
. o# _5 k! x8 _; V q<=2;
8 n L5 ^5 H4 V2 A2 _% v6 k when 3=>
. k% d1 _4 N9 k4 ~( F6 z4 p7 C$ B q<=3;
- s0 A* t0 @* C# c3 A% Z& ~ when others=>
& ]) T6 i6 H1 A- a3 l) h5 @- U null;
5 [$ F1 d; g2 c0 n$ _" P......., k |, R3 T7 J1 F; L8 k
9 @% P! ]5 A Z: s$ \
case q is
4 B9 s7 S y6 |! D when 1|2=>
b* `% F# l$ d; z. h m<=n;6 g. x' |# H T ^
when 3=> % D' d+ g# m5 p$ u
m<=pulse;" J* I% V: B0 U% R3 U( L5 W9 X
when others=>, ~. l: c2 f1 o- M
null;/ d$ X. B' }8 E( r8 D9 J
* M# `# S; \+ ~: x6 n% I" A8 I( G
..... P- Q$ A8 ]; j: o- Q1 S, F6 D" v X
然后功能正常 。8 c! U4 q6 ~+ B
0 _. n/ S! I# o9 I+ H
以上测试结果为signaltapII测试结果和示波器测试结果。& q; R5 h- i; o ?8 R2 c
4 O2 G; P' Y. [
上述代码为示例代码,希望各位朋友指点迷津?, V1 u: z7 c3 x
; u! y2 F- E3 R, w! K
由于数据拷贝权限问题,不能上传源码和图片。
Z% y; _; ~: D/ z2 s4 p1 V0 p |
|