- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VHDL中signal和variable探讨
VHDL中的signal和variable探讨 本文通过一个实际的例子来对比HYPERLINK /word/198503.aspxsignal和HYPERLINK /word/198504.aspxvariable的不同。 HDL代码实现功能:对clk进行计数,当计数值等于4时,输出flag=‘1’; 注:使用的综合工具为Synplify Pro V8.1 1、采用variable的HDL代码 综合后的HYPERLINK /word/198502.aspxRTL图点击看原图 仿真波形点击看原图 2、采用Signal的HYPERLINK /word/198505.aspxVHDL 综合后的RTL图点击看原图 仿真波形点击看原图 3、思考总结 很多书上对变量都有这样的解释:对变量的赋值是立即生效的,不存在延时,而任何信号赋值是存在延时的。以前就总是想不通,将vhdl语言映射到实际的硬件电路上,怎么可能不存在延时。 从以上的仿真波形图1中,可观察到num=4时,确实立即给出了flag=‘1’,不存在任何延时,与设计意图完全一致。而仿真波形2中,则可看到必须在clk的rising_edge检测到num=4且经过一小段延时后得到flag=‘1’。 如果仅这样去理解变量的零延迟,就会造成以上的疑惑。实际上我们仅需关注的是cnt_num何时为4,在1中,当num=3后,cnt_num+1立即得到执行,只需在第4个clk的上升沿将结果通过寄存器锁存至flag即可。而在2中,当num=3时,需要1个clk完成加1操作,且需要另一个clk锁存flag至输出,故在第5个clk的rising_edge后才会得到flag=‘1’。 从以上的分析可知,vhdl代码1中的cnt_num = cnt_num + 0001的结果可以立即在判断语句IF(cnt_num = 0100)THEN中使用,而vhdl代码2中的cnt_num = cnt_num + 0001的结果由于延时的存在在下一个clk的上升沿才能使用。从而造成了“对变量的赋值是立即生效的,不存在延时”的说法,实际上这只是系统行为上的理解,实际上的延时还是存在的。
您可能关注的文档
- flash动画设计教程:3.1——遮罩运用打造旋转地球.doc
- FIR带通滤波器设计FPGA实现.doc
- flash驱动编程与实验.ppt
- FPGA 对DDR 控制研究.doc
- FPGA_ASIC-以太网到多路E1适配电路设计与FPGA实现.doc
- FPGA二进制转bcd设计和验证.doc
- FPGA在mif文件创建与使用中应用.doc
- FPGA设计与应用_VHDL3.ppt
- FPGA设计与应用教学.ppt
- FPGA设计流程简介与设计注意事项.ppt
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)