EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 A-Lin 于 2019-5-17 10:24 编辑
+ x7 N$ n1 c: Z
( c9 g% S* l \0 w0 {, d, A大神告诉你VHDL语言中GENERATE用途一种目的
7 L; f) v7 H# n9 Y7 |. ~一种目的,两种用途:1)生成相同元件的多次实例化,示例如下: $ p" C9 w8 E8 Y6 ] i
for k in 99 downto 0 generate 5 l# ~: ]+ y. E$ R# B1 _4 P
flip_flop : DFF X" _$ \7 ~* O, ~" V1 s
port map (
) c; i3 v8 J) j' h5 _ clk => clk, % [1 u( f* `" L2 v1 }2 `3 |
d => din(k),
. k4 Y" l& A$ \- I5 [% zq => dout(k) );
! _9 Q; l1 C+ w. L+ c7 v end generate;2) 0 B+ ]1 B# q' D5 {, q. S/ W
生成结构相同的多次赋值、组合逻辑,示例如下: / r# ~* N* `; Y" w& V
for i in 0 to 99 generate
3 e0 H q' @+ ^2 [ a(i)<=b(i)+c(i); 5 [# U7 ^$ c6 q2 P$ M8 }3 x0 V
end generate;
# r$ j8 b, i. O' b' j1 E* d两种用法目的都是为了减少代码量,增加可读性和可维护性。/ S9 p( p% N- |; V, i
请注意:在generate里面的语句都是并发的,而process里面的语句都是顺序执行的。
4 P2 {3 W" e. x$ ^3 b9 o7 m3 T0 f
|