|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
分享一个私有类型定义(第一次看的). f4 I4 J0 \0 |/ L8 w( c
VHDL 中的PACKAGE 定义:5 @! ~+ h/ z" |% Q+ G) m* D
package n_bit_int is ---用户定义类型
) r: P2 b- l* ? subtype bit15 is integer -2**14 to 2**14-1;---(-2^14 to 2^14-1)
. P* _4 P4 Y# v& Y: o0 Rend n_bit_int;5 d. ^9 H: q+ x% T5 Z3 s
) I! }3 \, p8 b5 Y
利用上面的声明,实现IIR滤波的递推公式:
) z* t. _% w R5 `y(n+1)=3/4 * y(n)+x(n);
: r8 A& Y# v" B; V! N% hlibrary work: g4 s3 B1 S4 x
use .work.n_bit_int.all;; g( |( X! C5 a9 c+ S5 C2 U
library ieee;
* E6 M4 v& v$ j7 q; Q. a7 ^5 ause.ieee.std_logic_1164.all;
0 b( Y/ U; P$ }2 z4 N( Ouse.ieee.std_logic_arith.all;& Y3 s# X q: q. Z: A
entity iiRFilter is' r j. b/ g2 d9 E9 _
port3 S+ v3 E; S& O7 ]5 u3 w; u
(clk:in std_logic;) d/ g6 [8 [+ \3 r' J& V
x_in:in bit15;
8 [( C# \: N1 ]% V y_out ut bit154 {& N8 R6 ^. n- {
);$ F- R: @5 C( k1 ]! ^# _8 {
end iirfilter;7 u* } {8 k, w
architecture iir of iirfilter is! z$ @- z( t3 \ ?# }
signal x,y:bit15;
5 R, _+ V% O) P( C5 ]7 Y7 p pbegin
" N( b( u: n/ w& q- | J process
: {& A, T' @- j2 _% K" ]: [ wait until clk='1';; k s1 H5 v9 Y7 A: @
x<=x_in;, g# u, ^2 G. Q
y<=x+y/4+y/2;
" d% O I/ Z$ i* ^) a' l+ n' Z4 S( q end process;
3 M% l. z1 o/ h& Iy_out<=y;5 E4 _5 l( a4 ~8 r3 V' \
end iir;
; \" m# F6 `9 k q8 x$ i r9 f5 e8 s( c* i
|
|