网站大量收购独家精品文档,联系QQ:2885784924

硬件描述语言及器件3〔侯伯亨版〕.pptVIP

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
硬件描述语言及器件3〔侯伯亨版〕

适合班级:09060242 教学东区01107H 数据对象/客体 在VHDL中把保存数据的单元称为数据对象。 客体(Object):凡是可以赋予一个值的对象成为客体。 VHDL中的四种客体: 信号(Signal) 变量(Variable) 常量(Constant) 文件(File) 四类客体含义及说明场合 常数(constant) 语法格式如下: constant 常数名:数据类型名:= 表达式; 例: constant VCC :real := 5.0; constant daly : time := 100 ns; constant fbus : bit_vector := “0101”; 常数一旦设定后,在整个程序中将不再改变。 常数名称的命名规则: ①第一个字符是英文字母。 ②最后一个字符不能是下划线,中间也不能有两个连续的下划线。 ③常数名称不能是VHDL的保留字。 常数所赋的值应与定义的数据类型一致。 例如: constant VCC :real := “0101”; 变量(Variable) 临时数据,没有物理意义 只能在Process、Function和Procedure中定义,并只在其内部有效 语法格式: variable 变量名 :数据类型 约束条件 := 表达式; 例: variable x,y : integer; variable count : integer range 0 to 255 :=10; 用 := 进行赋值 共享变量 实际使用过程中,有时希望进程或子程序的结果以变量形式进行数据传递。 不能在Process、Function和Procedure中定义 语法格式: shared variable 变量名 :数据类型 约束条件 := 初始值; 慎用。 共享变量 Architecture sample of test is shared variable notclk: std_logic; signal clk : std_logic; Begin p1: process(clk) is begin if (clk’event and clk = ‘1’) then notclk := ‘0’; end if; end process p1; 信号 (signal) 信号是逻辑电路内部硬件连接(节点)的抽象,它除了没有数据流动方向的说明外,其它性质几乎和“端口”一样。信号通常在结构体、程序包集合和实体中说明。 使用信号(signal)的VHDL程序 有关信号的使用规则说明如下: “:=”表示对信号直接赋值,表示信号初始值不产生延时。 “<=”表示代入赋值,是变量之间信号的传递,代入赋值法允许产生延时。例如:T1 <= T2; 在仿真中,初始化能保证信号设定在指定值上。对于存储元件的加电初始状态,应该设计复位或予置位机构,而不是通过信号指定初始化值来实现。 在EDA工具综合时,信号应在结构体中描述清楚。 信号与变量的区别 architecture rtl of start is signal count : integer range 0 to 7; begin process(clk) begin if (clkevent and clk=1) then count = count + 1; if(count=0) then carryout = 1; else carryout = 0; end if; end if; end process; end rtl; --信号延时赋值 architecture rtl of start is begin process(clk) variable count : integer range 0 to 7; begin if (clkevent and clk=1) then count := count + 1; if(count=0) then carryout = 1; else carryout = 0; end if; end if; end process; end rtl; --变量实时赋值 VHDL的

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档