- 1、本文档共71页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]vhdl讲解第03讲
一、程序设计 1、为项目建立工作区 ENTITY or2_gate IS PORT ( a : IN BIT; b : IN BIT; c : OUT BIT ); END or2_gate; PORT PORT ARCHITECTURE Behaviors a b c 由实体说明部分画出or2_gate实体的外部接口图 实体说明以“ENTITY 实体名IS”开始,以“END 实体名”结束。大写字母或黑体字都是VHDL关键字。EDA工具对VHDL语言的大小写字母不加区分。 在层次化系统设计中,实体说明是整个系统的输入/输出(I/O)。在一个器件级的设计中,实体说明是一个芯片的输入/输出(I/O)。 实体说明在VHDL程序设计中描述一个元件或一个模块与设计系统的其余部分(其余元件、模块)之间的连接关系,可以看作一个电路图的符号。因为在一张电路图中,某个元件在图中与其他元件的连接关系是明显直观的,如图上所示。 §2.2.1 类属说明 类属说明是实体说明中的可选项,它主要为设计实体和其外部环境通信的静态信息提供通道,放在端口说明之前,其一般书写格式为: GENERIC ( [CONSTANT]参数表:[IN]子类型标识[:=静态表达式];…); 举例: GENERIC(delay:TIME:=1 ns); 这个类属说明是表示,在VHDL程序中定义了一个TIME类型的参数delay 的值为1 ns。 类属说明和端口说明是实体说明的组成部分,用于说明设计实体和外部通信的通道。利用外部通信通道,类属说明为设计实体提供信息,类属说明用来规定端口的大小、I/O引脚的分派、实体中子元件的数目和实体的定时特性等信息。 有关程序语法、结构解释(重点内容三) 使用类属说明定义了一个TIME类型的参数delay 的值为1 ns; 该程序描述的功能为a和b相或后,经过delay指定的延时时间后送到c端口; 类属说明放在端口说明之前; AFTER为延时保留字。 有关程序语法、结构解释(重点内容四) 关于元件例化(component Instantiation)语句: 作用:为了方便电路描述,将具有某一逻辑功能的完整的VHDL设计(元件)直接调用,避免重复描述。 COMPONENT PORT PORT ARCHITECTURE MAP SIGNAL GENERIC PORT 使用格式 第一步:元件声明 COMPONENT 元件名 [ IS ] [ PORT Clause ] END COMPONENT 元件名 ; 第二步:元件例化 例化名 : 标号名:元件名 PORT MAP(端口映射) 标号名:元件名 GENERIC MAP (类属映射); 注:将元件端口和要描述的电路的实际端口具体对应,在结构体开始后进行例化 注:元件端口信息,与该元件实现时的实体的port部分相同并在结构体开始之前进行声明 元件例化时端口映射方式: a.位置对应方式 b.名字直接对应 元件标号:元件名 Port Map(组件信号A=信号A1, 组件信号B=信号B1,…); U1: or2_gate_delay PORT MAP (a,b,tmp); U1: or2_gate_delay PORT MAP (a,b,c=tmp); U2: or2_gate_delay PORT MAP (tmp,c,q) ; U2: or2_gate_delay PORT MAP (a=tmp,b=c,c=q) ; 位置对应方式 名字直接对应 直接由输入信号和元件信号的对应位置进行映射。即: 元件标号:元件名 Port Map(信号A1, 信号B1,…); 有关程序语法、结构解释(重点内容四) 关于信号(SIGNAL): 信号数据对象,代表电路内部传输线路,其在元件之间起互连作用。 在 VHDL 程序中 , 信号能够实现各个模块之间的通信 , 因此使用信号能够使设计人员容易地编写出模块化的 VHDL 程序 , 也因此能够实现 VHDL 所提倡的模块化设计思想。 信号数据对象的定义格式为: Signal 信号名:数据类型[:=设定值]; 如: Signal A : Std_logic_vector(3 Down to 0) := “0000”; 信号赋值语句的语法格式为: 目标信号名=表达式(设定
文档评论(0)