VHDL计算机硬件能直接执行吗,第5章 VHDL程序结构.ppt

第5章 VHDL程序结构

VHDL 数字系统设计 第5章 VHDL程序结构 VHDL语言的特点: VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。 VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,使设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。 类属声明是设计者向设计实体传递的信息,包括数据通道宽度、信号宽度、实体中子元件的数目、实体的延时特性和负载特性等静态信息: GENERIC({[CONSTANT]{名称}:[IN] 类属类型 [:= 缺省值];}); 端口声明是描述设计实体的输入和输出特性的定义部分,它包括端口的信号名称、信号模式、信号类型和仿真初始值等信息: PORT({[SIGNAL]{名称}:[信号模式] 信号类型[BUS][:= 仿真初始值];}); 在例题中,给出了1位全加器的实体声明,实体中给出了该全加器的端口声明: 例 1位全加器 ENTITY full_adder IS -- 实体声明 PORT (a,b,c_in:IN Bit; -- 端口声明 sum,c_out:OUT Bit); END full_adder; 上述实体声明与右图 是相互对应的。可见已知一 个电路的逻辑框图,就可 以写出对应的实体声明,反之亦然。 从下面的例子,我们来看端口声明和类属声明的作用,在该例中类属n是锁存器的位数,缺省值为8: 例 高电平锁存的n位锁存器 ENTITY latch IS GENERIC(n:Positive := 8); PORT (eg:IN Bit; d:IN Bit_Vector (n-1 DOWNTO 0); q:OUT Bit_Vector(n-1 DOWNTO 0)); END latch; ARCHITECTURE latch_eg OF latch IS BEGIN PROCESS(eg) BEGIN IF eg=‘1’ THEN q <= d; END IF; END PROCESS; END latch_eg; 端口方向 IN :IN定义的通道为单向输入模式,规定数据只能通过此端口被读入实体中。 OUT :OUT定义的通道为单向输出模式,规定数据只能通过此端口从实体向外流出,或者说可以将实体中的数据向此端口赋值。 端口方向 INOUT : INOUT为输入输出双向端口,即从端口内部看,可以对端口进行赋值,即输出数据。也可以从此端口读入数据,即输入。如RAM的数据端口,单片机的I/O口。 BUFFER :输出缓冲。 BUFFER的功能与INOUT类似,区别在于当需要输入数据时,只允许内部回读北部产生的输出信号,即反馈。如计数器的设计,可将计数器输出的计数信号回读,以作下一计数值的初值。与INOUT模式相比,BUFFER回读(输入)的信号不是由外部输入的,而是由内部产生、向外输出的信号。就是说buffer 仅仅是一个数据缓存器,不能用于IO输出! 例2-4 2选1多路选择器 (课本35页) 描述风格: 结构描述 RTL描述 行为描述 结构体mux_arch1:结构描述。 它描述了设计实体mux的硬件是如何构成的,即构成设计实体mux的各个元件之间的连接关系。 结构体mux_arch2:RTL描述。 它描述了设计实体mux的数据从输入到输出的流向,同时也隐含了设计实体mux的另一种硬件结构。 结构体mux_arch3:行为描述。 它描述了设计实体mux的输出端口与输入端口之间的行为关系,但不包含任何结构信息。 思考题: 1.例2-1中的1位全加器是什么描述风格? 2.试写出1位全加器的另外2种风格的描述。 留在实验课上验证! 2.4 VHDL的标识符 在数字系统的VHDL描述中,实体、结构体、子程序、元件、对象、属性和语句标号等用户的定义项,都必须用标识符来命名。 某些标识符,例如ARCHITECTURE、BEGIN、END和ENTITY等等,在VHDL中有固定的含义,是VHDL的保留字(列于附录A,并且在本书的例子中用黑体字表示),不能用来命名用户的定义项。 为了便于阅

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值