|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
+ n! y0 k+ @$ Q
....7 d$ u9 g6 P3 k& E
case st is
- @4 Y* I$ m0 s' z7 k6 P when 1=>
( v& A8 P" N6 x n<='1';
i: @% B" I( j! C3 b when 2=>
9 ~. A* T' f& Z* ^/ c n<='0';
, x" z$ D$ _- U3 P, D4 a when 3=>
' D/ G$ B0 g% x* | n<=pulse;
$ N5 n( j% ?8 n when others=>: F$ d9 l+ C. F$ ?
null;1 @& Z+ g4 f+ S; @/ m# ?" L
......." A# W0 i! o; u5 `5 t6 p v
m<=n;* K: E5 U; ^' ~
...
& L9 o7 d. C- {/ { H3 [1 _4 [9 g( g& E# i VHDL描述大致如上,st具有255个可选值,且st 为脉冲信号。+ W: T- c3 l* r
希望功能:st脉冲信号能够控制n的值。5 f, h) Y+ N0 f. _0 R
结果:
) r2 g c& ]% ~3 k 1. st脉冲等于1,2 时,功能正常,脉冲信号撤掉后,n的状态依然存在,且正确。
/ E3 V) Z! G! B7 S* ~ 2. 3 脉冲却功能异常,当3 存在时,n的状态为pulse,当3信号撤销后,n的状态为随机定值。
- P3 q* K( a' G. z 问题:1.希望NULL实现“无操作”=“保持之前状态”,但是结果却异常,且和赋值信号有关。
8 d+ J3 V% P3 ^! w/ X8 ~: v. H" G2 X. \! K) j, ?: a
改进测试:
) {1 P. L; f; W$ T' G) I/ X" D 添加并如下调整后
% ? [% W! i, i. f CASE st is ) K/ y5 ?5 Z# U }+ f/ H4 P
when 1=>
: x4 Y5 p. ]6 M0 ]$ ~7 k2 K* o) a# z q<=1;& W1 l. I, d* s
when 2=> ' D- L( Z6 U. Y7 {. n K6 n4 J# T* ]( \
q<=2;/ s7 s0 W# a$ {& d: E
when 3=>) `8 }) B5 Y% ?9 d- B
q<=3;& a: W1 k8 M% n4 T: a
when others=>
; k- q1 z6 [5 I9 i, r null;& [1 O: c( I0 ~/ J y4 X T
.......
: u3 w1 G8 |; F: [/ `9 F* b# H) x* O6 q. h4 D6 r0 P+ _3 @
case q is
, u( h2 S5 `( ~% v" A! Z when 1|2=>
: k( d0 G3 o- y" ` m<=n;9 l2 s" c/ b$ U) H$ @0 G& e
when 3=>
( _$ o0 M7 I) ` m<=pulse;; u7 f3 H% {' A O0 W: I2 H
when others=>+ V, `0 D9 B4 A6 M5 `6 |* n
null;
- n* F2 f, l4 [& a# H6 ?% y& @% n+ q& C+ h7 O
....4 a6 R: y# ?* j1 k8 e' K; ?
然后功能正常 。, y/ z5 J/ G, W
4 O2 u$ L* {7 I# b+ ?+ z
以上测试结果为signaltapII测试结果和示波器测试结果。) ?( f/ S/ g' g$ ~& ~0 \
; V0 r9 \* g4 \3 B( o7 c; M/ H
上述代码为示例代码,希望各位朋友指点迷津?
% k/ \; B$ Q2 z+ X" s: Z, j8 u9 a
由于数据拷贝权限问题,不能上传源码和图片。
& J' E$ ~2 \$ G Q$ P0 K |
|