



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
顺序语句与并行语句中你应该知道的 2007-11-13 22:18顺序语句是指仿真角度看,每一条语句的执行是按书写顺序进行的。顺序语句只能在进程、函数、过程内部使用。VHDL有一下几种基本顺序语句:变量赋值语句、流程控制语句、等待语句、子程序调用语句、返回语句、空操作语句。常用的顺序语句有if_then_else,case_when,loop_for等。 并行语句是硬件描述语言与编写软件程序的最大区别所在,所有并行语句在结构体中的执行都是同时进行,即它们的执行与语句书写的顺序无关。这种并行性是由硬件本身的并行性所决定的,即一旦电路接通电源,他的各部分就会按照事先设计好的方案同时工作。 VHDL有一下几种主要并行语句:进程语句、块语句、并行信号赋值语句、元件例化语句、生成语句、并行过程调用语句。 大家要注意,把进程语句(process)当作并行语句,是因为进程与进程间的执行是并行的(一个architecture里的不同process是同时执行的)。但进程内部是顺序执行的,大家千万不要因为进程语句是并行语句就误认为是同时执行的。 本人刚开始学习时也困惑过一阵,为什么有些有些顺序语句在实际使用时却表现出“并行特性“。这有两个程序和大家分享一下使大家少走弯路。 程序(1) library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following library declaration if instantiating- any Xilinx primitives in this code.-library UNISIM;-use UNISIM.VComponents.all;entity test isport(clk,reset:in std_logic);end test;architecture Behavioral of test issignal a,b:integer range 0 to 7;beginprocess(reset,clk)beginif reset=1 then a=1; b=0;elsif rising_edge(clk) then if a=1 then -(a) b=3; -(a) end if; -(a)if b=3 then -(b) a=6; -(b) end if; -(b) end if;end process; end Behavioral; 程序(2)library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following library declaration if instantiating- any Xilinx primitives in this code.-library UNISIM;-use UNISIM.VComponents.all;entity test isport(clk,reset:in std_logic);end test;architecture Behavioral of test issignal a,b:integer range 0 to 7;beginprocess(reset,clk)beginif reset=1 then a=1; b=0;elsif rising_edge(clk) then if b=3 then -(b) a=6; -(b) end if; -(b) if a=1 then -(a) b=3; -(a) end if; -(a) end if;end process; end Behavioral; 可以说两个程序几乎一样,只是将a if_then语句 和 b if_then 语句整体调换位置颠倒。但前面提到if_then_else语句是顺序语句,执行会受语句顺序影响,即两个程序执行结果不一样。但仿真发现,进程1与进程2 的结果是一模一样波形如下图。本人当时很困惑,后来看了一些书,查了一些相关资料,找到了原因也就是我上一篇博客中提到的:信号的赋值语句即是被执行,也不会是信号立即发生代入,下一条语句执行时,仍然使用原来的信号值。 查阅一些资料,可知实践证明:一个进程中,如果没有变
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三方协议合同编号怎么弄
- 合格协议与合同协议
- 合同怎么代签协议
- 个人供货合同协议
- 技术合同协议书样本图
- 无合同框架协议
- 终端维修合同协议
- 减肥合同退款协议
- 合同保密协议内容
- 没有物业合同协议
- 2025年滁州市城投交通控股有限公司招聘19人笔试参考题库附带答案详解
- 汽车美容师洗车方法实际操作试题及答案
- 盐城2025年江苏盐城建湖县部分医疗卫生事业单位校园招聘专业技术人员37人笔试历年参考题库附带答案详解
- 部门决算管理制度
- 第四代住宅白皮书-HZS
- 神经内科护理案例分析
- 2025年安徽省中考模拟英语试题(原卷版+解析版)
- 【初中语文】第11课《山地回忆》课件-2024-2025学年统编版语文七年级下册
- 衍纸简介课件
- 入团考试模拟100题及答案
- 2025陕西西安市长安城乡建设开发限公司招聘17人高频重点模拟试卷提升(共500题附带答案详解)
评论
0/150
提交评论