第四章 VHDL语言构造体的描述.ppt

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 VHDL语言构造体的描述方式 引子 硬件系统的描述可以采用三种不同的描述风格: 行为描述方式 数据流描述方式 结构化描述方式 4.1构造体的行为描述方式 1 什么是行为描述? 它是对系统数学模型的描述,与寄存器传输描述方式和结构化描述方式相比,具有最高的抽象程度。 2 使用的语句具有什么样的特点? 采用: 算术运算,关系运算,惯性延时,传输延时等不易或不能进行逻辑综合的VHDL语句。 3 行为描述方式的VHDL语言程序的运用场合? 主要用于系统数学模型的仿真或系统工作原理的仿真。 一些专门用于行为描述的语句 代入语句: 格式: 信号量 = 敏感信号量表达式; 例: z = a OR (b NAND c); 上式中有3 个敏感量 a,b, c,无论哪一个敏感量发生了变化,该代入语句将被执行。 例 a = b AFTER 5 ns; --表示当b发生新的变化5ns后, 才被代入到信号a中 c = a AND b AFTER 15 ns; --表示当a或b发生新的变化15ns后 它们与的结果才被代入到信号a中 A=‘0’ after 5 ns,’1’ after 10 ns,’0’ after 15 ns; 例:四选一电路的行为描述方式(1) library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity mux4 is port(i0,i1,i2,i3,a,b:in std_logic; q:out std_logic); end mux4; architecture behav of mux4 is signal sel: integer; 例:四选一电路的行为描述方式(2) Begin with sel select q=i0 after 10 ns when 0, i1 after 10 ns when 1, i2 after 10 ns when 2, i3 after 10 ns when 3, ‘X’ after 10 ns when others; sel= 0 when a=‘0’ and b=‘0’ else 1 when a=‘1’ and b=‘0’ else 2 when a=‘0’and b=‘1’ else 3 when a=‘1’and b=‘1’ else 4; End behav; 延时语句 有两类延时用于行为描述:惯性延时、传输延时。 惯性(Inertial)延时:在惯性模型中,系统或器件输出信号要发生变化,必须有一段时间的延时,这段延时时间,就是系统或元件的惯性延时。 特点:当一个系统或器件的输入信号周期,小于系统或器件的惯性延时,其输出将保持不变。 如:在一个信号值维持期间,如果存在任何毛刺、脉冲等周期小于器件本身的惯性延时的情况,输出信号的值将不变,否则将引起信号的变化。 惯性延时示例 传输(Transport)延时 传输延时常用于描述总线延迟、连接线的延时,及ASIC芯片的路径延时。 在VHDL语言中,传输延时不能缺省,必须在语句中使用传输延时的前置词transport明确说明。 特点:输出端的信号在延时规定时间后,将完全复现输入断的输入波形,而不管输入波形的形状和宽窄如何。 传输延时示例 多驱动器描述语句 驱动(Driver)是有关信号驱动(激励)的源。 VHDL语言中,构造体内利用代入语句,为每一个输出信号创建一个驱动器。 在设计逻辑电路的时候,我们经常会碰到的一种情况:多个驱动器的输出同时连接到同一条信号线,这时候我们怎么办? 判决函数 具有两个驱动(b、d)的信号a到底应如何取值,这一点在标准的数据类型是没有定义的。 为了解决多驱动同时驱动一个信号的行为描述,在程序包STD_LOGIC_1164中,专门定义了一种描述判决函数的数据类型,称为判决函数子类型。 判决函数(Resolution Function):在多个驱动器同时驱动一个信号时,定义输出哪一个的函数。 判决函数是由设计者编写的函数 每当一个信号的驱动值改变时,将请求判决函数,判决函数返回一个单一的值。 例:包集合STD-LOGIC-1164中判决函数描述的部分

文档评论(0)

整理王 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档