| 配置声明单元中还可以指定其中的元件用另外一个配置声明单元,形成配置声明单元的嵌套。如 configuration FF_conf of JKFF is for Arch1 ... end for; end FF_conf; configuration conf1 of Design is for D1 for U: FF use configuration work.JKFF.FF_conf; -- FF_conf是JKFF的一种配置 end for; end for; end conf1; 由conf1指定的Design的另一种配置指明D1中的U 使用JKFF的配置文件FF_conf。 有些情况下可以用Open指定一个Component不连接任何实际元件: for U: A use entity Open; 几种情况: ·一个元件模板,一个实体: for U1,U2,U3,U4: X use entity A(A1); ·一个元件模板,多个实体: for U1:X use entity A(A1); for U2:X use entity B(B1); for U3,U4:X use entity A(A2); ·多个元件,一个实体: for U1:X use entity A(A1); for U2:Y use entity A(A1); 端口匹配问题包括下面两种情况: ·元件例化语句指定: 元件模板 => 例化元件(实际信号) ·配置语句指定: 所用实体 => 元件模板 匹配方式有下列几种: (1)显式指定:In1 => S; (2)隐式指定:相同类型、次序、个数,只出现实参名,位置对应 (3)配置语句中缺省匹配子句的情况: 相同类型、次序、个数,位置对应。 (4)元件模板端口数 < 实体端口个数的情况: a) 实际端口与其它信号联结; b) 实际信号不用,用保留字open代替。 配置指定的默认规则:对一些没有必要指定配置的情况,如只有一个Entity及一个Architecture,或者使用系统提供的基本元件,则只要写出元件模板(Component),可以不用配置指定,其目的是减少配置声明。这时使用下列默认规则: (1) entity名与component名相同; (2) 自动查找entity对应的architecture; 若有多个architecture, 取最新的一个(更新日期最近) (3) 端口、类属关联隐式匹配。 (4) 若architecture中已经有配置语句,则不用配置指定单元中的配置。 (5) 若不存在用户定义的entity,则查找是否是系统定义的基本元件。 |