- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CH6-VHDL设计进阶fors
浙江工业大学信息工程学院 朱广信 保留一切版权 第六章 VHDL设计进阶 主要内容 数据对象 进程语句结构 双向和三态电路信号赋值 仿真延时 实验二 一. 数据对象 常数(CONSTANT) 常数的定义和设置主要是为了程序更容易阅读和修改。 常数定义语句所允许的设计单元有实体、结构体、程序包、块、进程和子程序。 常数的定义如下: CONSTANT 常数名:数据类型 := 表达式; 变量(VARIABLE) 变量的主要作用是在进程中作为临时的数据存储单元。 变量是一个局部量,只能在进程和子程序的顺序语句中使用。变量不能将信息带出对它定义的当前结构中。 变量的赋值是一种理想化的数据传输,立即发生不存在任何延时。 变量的定义如下: VARIABLE 变量名:数据类型 := 初始值; 变量的初始值设置不是必须的,综合器不支持设置初始值。 变量的赋值使用变量赋值符: 目标变量名 := 表达式; 信号(SIGNAL) 信号是描述硬件系统的基本数据对象,它类似于连接线。信号可以作为设计实体中并行语句模块间的信息交流通道。 信号的定义如下: SIGNAL 信号名:数据类型 := 初始值; 信号初始值的设置不是必须的,综合器不支持设置初始值。 与变量相比,信号的硬件特征更为明显,它具有全局性特征。 除了没有方向说明外,信号与实体的端口概念是一致的。实际上端口的定义是作了隐性的信号定义。 信号的定义和使用范围是实体、结构体和程序包。在进程和子程序的顺序语句中不允许定义信号。 在进程中,只能将信号列入敏感表,而不能将变量列入敏感表。 信号的赋值使用信号赋值符 目标信号名 = 表达式; 目标信号获得传入的数据不是即时的,需要经历一个特殊的延时,即δ延时。因此“= ” 两边的值并不总是一致的。这与器件的传播延时特性是吻合的。此外数据信息的传入还可以指定延时量,在表达式后用“AFTER X 时间单位”。但只限于行为仿真,不可用于综合。 信号的赋值可以出现在一个进程中,也可以出现在机构体的并行语句结构中。前者属于顺序信号赋值,这时允许同一信号有多个驱动源,如果同一信号被多次赋值,则其值为最后一次被赋值的结果;后者属于并行信号赋值,各信号赋值操作是独立并行发生的,且不允许同一信号有多个驱动源。 当信号和变量的数据类型完全一致时两者可以相互赋值。 信号与变量的比较 例6-1与例6-2 例6-1: SIGNAL sum1, sum2: INTEGER; …… PROCESS BEGIN WAIT FOR 10ns; sum1 = sum1 + 1; --顺序信号赋值语句 sum2 = sum1 + 1; END PROCESS; …… 例6-2: PROCESS VARIABLE sum1, sum2: INTEGER; BEGIN WAIT FOR 10ns; sum1 := sum1 + 1; sum2 := sum1 + 1; END PROCESS; …… 运行结果分析如表6-1。由这两例可以看出: 信号的赋值需要有一个δ延时,而变量的赋值则立即发生。 在PROCESS中,虽然信号赋值语句为顺序语句,但语句间并无时间延迟,所有语句必须在遇到END PROCESS后的δ时刻才发生,因此仍具有并行语句的特性。 例6-3和例6-4可进一步验证上述观点,图6-1为两个例子的综合结果。 表6-1 例6-1和6-2的运行结果 例6-3与例6-4 例6-3: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY dff3 IS PORT(clk, d1: IN STD_LOGIC; q1: OUT STD_LOGIC); END ENTITY dff3; ARCHITECTURE arch_dff3 OF dff3 IS SIGNAL a, b: STD_LOGIC; BEGIN PROCESS(clk) BEGIN IF (clk’ EVENT AND clk = ‘1’ ) THEN a = d1; b = a; q1 = b; END IF; END PROCESS; END; 例6-4: …… PROCESS(clk) VARIABLE a, b: STD_LOGIC; BEGIN I
您可能关注的文档
最近下载
- 计划生育知识考试试题及答案.docx VIP
- 建筑施工承插型盘扣式钢管脚手架安全技术规范.pdf VIP
- 3主动拒绝烟酒与毒品 第一课时《烟酒有危害》(课件) 道德与法治五年级上册统编版.pptx
- TCSMT-微光场景图像质量评价方法构建要求.pdf VIP
- 义务教育版(2024)三年级全一册信息科技 第14课 制作数字小报 课件.pptx VIP
- 2025宁夏德润农业发展投资集团有限公司招聘8人笔试备考试题及答案解析.docx VIP
- 网络安全与信息风险防范措施培训研讨授课.pptx VIP
- 煤矿地质学教学课件电子教案全套课件.pptx VIP
- 2024年上海市崇明区九年级语文第二次模拟质量调研试卷附答案.pdf VIP
- 物联网智慧城市解决方案V17.1.ppt
文档评论(0)