版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VHDL是硬件描述语言,其描述语句包括顺序语句与并行语句,并行语句最能体现VHDL作为硬件设计语言的特点。各种并行语句在结构体中是同时并发执行的,其执行顺序与书写的顺序无关。结构体中常见的并行语句有简单信号赋值语句、条件信号选择语句、进程语句。项目4VHDL程序的平行语句1.简单信号赋值语句简单信号赋值语句,在进程内部使用时属于顺序语句,但是,在进程外的结构体中使用时属于并行语句。简单信号赋值语句的使用格式:
信号<=表达式;简单信号赋值语句由4部分组成:左操作数信号、赋值操作符“<=”、表达式和分号“;”;左操作数必须是信号,不能是输入端口信号;表达式可以是算术表达式,也可以是逻辑表达式,还可以是关系表达式,但表达式中不能含有输出端口信号;目标信号与信号的赋值源必须长度一致、类型一致。项目4VHDL程序的平行语句2.条件信号选择语句条件信号选择语句的作用是根据指定的条件表达式的多种可能进行相应的赋值。条件信号选择语句有when/else与with/select/when两种形式。(1)when/else条件信号选择语句格式:信号<=表达式1when赋值条件1else表达式2when赋值条件2else …
表达式nwhen赋值条件nelse表达式n+1;项目4VHDL程序的平行语句【例4.1】when/else条件信号选择语句应用项目4VHDL程序的平行语句例4.1程序实现了条件选择的逻辑功能。当sel="00"时,输出q的波形与i0一样;当sel="01"时,输出q的波形与i1一样;当sel="10"时,输出q的波形与i2一样;当sel="11"时,输出q的波形与i3一样。libraryieee;useieee.std_logic_1164.all;entityuseselectisport(sel:instd_logic_vector(1downto0);i0,i1,i2,i3:instd_logic;q:outstd_logic);enduseselect;architecturebehaveofuseselectisbeginq<=i0whensel="00"else--注意else后没有分号i1whensel="01"elsei2whensel="10"elsei3;endbehave;(2)with/select/when条件信号选择语句with/select/when条件信号选择语句,也是根据分支条件选择相应的表达式对目标信号进行赋值。但with/select/when条件信号选择语句的分支不能有重复,必须是唯一的,也不允许有条件覆盖不全的情况。选择信号赋值语句的使用格式为:with表达式select信号<=表达式1when条件1,表达式2when条件2,…表达式nwhen条件n,表达式n+1whenothers;项目4VHDL程序的平行语句【例4.2】with/select/when条件信号选择语句应用项目4VHDL程序的平行语句例4.2程序实现了条件选择的逻辑功能。当sel="00"时,输出q的波形与i0一样;当sel="01"时,输出q的波形与i1一样;当sel="10"时,输出q的波形与i2一样;当sel="11"时,输出q的波形与i3一样。libraryieee;useieee.std_logic_1164.all;entityuseselectisport(sel:instd_logic_vector(1downto0);i0,i1,i2,i3:instd_logic;q:outstd_logic);enduseselect;architecturebehaveofuseselectisbeginwithselselectq<=i0when"00",--注意此处是逗号不是分号i1when"01",i2when"10",i3whenothers;--最后是分号endbehave;3.多进程语句
在一个结构体中多个process语句是并行执行的,但是每个进程内部的语句是顺序执行的。进程语句的基本格式如下:[进程名:]process[(敏感信号表)]进程说明部分;
begin顺序语句1;
顺序语句2;
顺序语句3; …endprocess[进程名];
项目4VHDL程序的平行语句进程语句说明:进程语句中的进程名是进程语句的标识符,它是一个可选项;敏感信号列表至少需要有一个敏感信号,否则,该进程将被永远挂起;也可以使用wait语句来代替敏感信号列表。process语句有如下特点:①可以和其他进程语句同时执行,并可以存取结构体和实体中所定义的信号。②进程内部的所有语句都按照顺序执行。③为启动进程,在进程中必须包含一个敏感信号的列表或wait语句。④进程之间可通过信号实现通信。
项目4VHDL程序的平行语句【例4.3】用进程语句描述一个按BCD码计数的六十进制计数器项目4VHDL程序的平行语句BCD码计数的六十进制计数器VHDL程序包含了三个进程p1、p2、p3,三个进程并行执行。【例4.3】用进程语句描述一个按BCD码计数的六十进制计数器项目4VHDL程序的平行语句p1进程为十进制计数器,计数脉冲“clk”上升沿时,计数值发生改变。【例4.3】用进程语句描述一个按BCD码计数的六十进制计数器项目4VHDL程序的平行语句p2进程为六进制计数器,每当个位数计数到9时,在计数脉冲“clk”下一周期的上升沿,十位数计数器进行计数;p2进程需要用到p1的个位计数值,进程间的通讯通过信号“bcd_1_n”进行。【例4.3】用进程语句描述一个按BCD码计数的六十进制计数器项目4VHDL程序的平行语句p3进程为产生进位信号的进程,当个位数为9、十位数为5时,在计数脉冲“clk”下一周期的上升沿,产生一个进位信号。p3进程需要用到p1的个位计数值和p2的十位计数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江西工程学院《教育学原理》2025-2026学年期末试卷
- 2026年太原市尖草坪区社区工作者招聘考试备考题库及答案解析
- (2026)设计院规章制度(3篇)
- 2026年咸阳市秦都区城管协管招聘笔试备考题库及答案解析
- 2026年莱芜市钢城区社区工作者招聘考试备考试题及答案解析
- 2026年宜昌市夷陵区社区工作者招聘考试参考题库及答案解析
- 2026年江西省社区工作者招聘考试参考试题及答案解析
- 2026年江苏省宿迁市社区工作者招聘考试模拟试题及答案解析
- 2026年深圳市南山区社区工作者招聘考试模拟试题及答案解析
- 2026年信阳市平桥区社区工作者招聘笔试参考试题及答案解析
- 2026国新控股(重庆)有限公司招聘建设笔试备考题库及答案解析
- 2026年湖南省新高考教学教研联盟(长郡二十校联盟)高三语文4月第二次联考(含参考答案)
- 2026年统编版小学二年级道德与法治下册每课教学设计(含目录)
- 决胜未来:中美六大未来产业演进图景
- 新时代廉洁文化建设三年行动计划(2026-2028年)
- DB44∕T 2792-2025 城镇内涝风险评估与治理技术标准
- Unit5Nature'sTemper(第3课时)SectionA4a-4d课件人教版英语八年级下册
- 创建鲁班奖工程实施指南
- 2025版建筑工程建筑面积计算规范
- 2026年市公务用车服务集团招聘考试笔试试题(含答案)
- 2026年顺德职业技术学院单招职业倾向性考试题库及答案详解一套
评论
0/150
提交评论