EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 A-Lin 于 2019-5-17 10:24 编辑 - [0 G/ c+ f! |
& O9 {$ q u. ~! q& T/ Y9 b
大神告诉你VHDL语言中GENERATE用途一种目的 0 C' R; r. Y0 e. S) w5 J
一种目的,两种用途:1)生成相同元件的多次实例化,示例如下:
1 w7 F. b# X: H; ^. v' V+ \* B5 nfor k in 99 downto 0 generate
' V* [1 N% s5 F, t& y) e flip_flop : DFF + Y9 H" t- h/ L% s0 _
port map (
" L& P9 k0 m2 \' R clk => clk,
6 R6 {- c; E e. h0 T) H. k d => din(k), % w1 e" k3 [# \( C% d( \+ F
q => dout(k) );
, A# {: C" u5 T1 d/ K! f end generate;2)
4 V- o# \; A' b6 K8 [4 @生成结构相同的多次赋值、组合逻辑,示例如下:
8 U( d7 ?% @* f; _5 F2 l4 C/ nfor i in 0 to 99 generate
9 A, w* x% p" f* l* o a(i)<=b(i)+c(i);
5 Q! d9 c5 @; v. uend generate;
! u0 G/ R2 I$ H: g两种用法目的都是为了减少代码量,增加可读性和可维护性。
, O V( s* M4 d请注意:在generate里面的语句都是并发的,而process里面的语句都是顺序执行的。4 J! }6 E% K1 h) J/ v- }
^7 c$ J3 n9 x5 T( x' N9 X |