实体与结构体的关系: 个设计实体可有多个结构体,代表实体的 多种实现方式。各个结构体的地位相同。 结构体1 结构体2 结构体3 设计实体 结构体n
26 实体与结构体的关系: 设计实体 结构体1 结构体2 结构体3 结构体n 。 。 。 一个设计实体可有多个结构体,代表实体的 多种实现方式。各个结构体的地位相同
结构体的语法: architecture结构体名称of实体名称is [说明语句]内部信号、常数、 数据类型、子程序(函数、过程) 元件等的说明; b egIn [并行处理(功能描述)语句] end[ architecture]结构体名称; 注:同一实体的结构体不能同名。定义语句中的 常数、信号不能与实体中的端口同名。 27
27 注:同一实体的结构体不能同名。定义语句中的 常数、信号不能与实体中的端口同名。 architecture 结构体名称 of 实体名称 is [说明语句]内部信号、常数、 数据类型、子程序(函数、过程)、 元件等的说明; begin [并行处理(功能描述)语句]; end [architecture] 结构体名称; 结构体的语法:
例:结构体中错误的信号声明 entity x is port(sig, const: in biti outl, out2: out bit)i end xi architecture example of x is signal sig: biti constant const: bit begin end examp⊥e;
28 例:结构体中错误的信号声明
例:一个完整描述(3bit计数器) entity counters is port(clk reset: in biti count: out integer range o to 7)i end counters architecture my arch of counter is signal count tmp: integer range o to 7i begin process begin wait until (clk'event and clk=l)i if reset=l or count tmp=7 then count tmp<=0 else count tmp<=count tmp+li d if end processi count<=count tmpi end my archi 29
29 例:一个完整描述(3 bit 计数器)
3bit计数器的等效描述(out与 buffer的区别) entity counters is port(clk, reset: in biti count: buffer integer range o to 7)i end counter architecture my arch of counters is signal count tmp: integer range o to 7i begin process begin wait until (clklevent and clk=1)i if reset=f1 or count= then count<=0i else count<=count+l end ifi end processi end my archi 30
30 3bit计数器的等效描述(out与buffer的区别):