- 11
- 0
- 约小于1千字
- 约 4页
- 2017-06-12 发布于北京
- 举报
VHDL中的signal和variable探讨
本文通过一个实际的例子来对比signal和variable的不同。
HDL代码实现功能:对clk进行计数,当计数值等于4时,输出flag=‘1’;
注:使用的综合工具为Synplify Pro V8.1
1、采用variable的HDL代码
综合后的RTL图
点击看原图
仿真波形
点击看原图
2、采用Signal的VHDL
综合后的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的上升沿才能使用。从而造成了“对变量的赋值是立即生效的,不存在延时”的说法,实际上这只是系统行为上的理解,实际上的延时还是存在的。
您可能关注的文档
- unit2第一课时教材说明.doc
- UNIT4Bodylanguage导学案yi.doc
- unit5-3reading(娜).doc
- Unit5完成句子(完整版).doc
- Unit62015.1知识点.doc
- Unit7CanItakeyourorder——ListengingandSpeaking教学设计.doc
- Unit8学案MicrosoftWord文档.doc
- unit9胡瑞婕notdone.doc
- Unity3d安卓开发环境搭建教程.doc
- Unity3D游戏设计与实现.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 肺隔离症诊疗指南(2025年版).docx
- 2021届贵州省遵义市高三年级第一次统考物理试卷含答案.pdf VIP
- 精品解析:北京市海淀区2025-2026学年九年级上学期期末考试物理试题(解析版).docx VIP
- 2025年山西省中考数学备考全指南(知识点归纳,必考知识点、真题模拟试卷及解析).docx VIP
- 心血管疾病的风险评估与管理课件.pptx VIP
- 离婚协议书(2026官方标准版).docx VIP
- HG_T 3706-2014 工业用孔网钢骨架聚乙烯复合管.doc VIP
- 湖北省学位英语考试真题2023.pdf VIP
- 船舶焊接 垂直气电焊 垂直气电焊.ppt VIP
- 2024湖北省学位英语考试真题及答案.docx VIP
原创力文档

文档评论(0)