- 5
- 0
- 约1.39万字
- 约 43页
- 2018-10-11 发布于河北
- 举报
第五章并行语句(Concurrent)
第五章 并行语句(Concurrent) 并行语句 VHDL语言与传统软件描述语言最大的不同 有多种语句格式,包括:并行信号赋值语句、进程语句、块语句、并行过程调用语句、 元件例化语句、生成语句 各种并行语句在结构体中的执行是同步进行的,或者说是并行运行的,其执行方式与书写的顺序无关。 在执行中,并行语句之间可以有信息往来,也可以是互为独立、互不相关、异步运行的(如多时钟情况)。 每一并行语句内部的语句运行方式可以有两种不同的方式,即并行执行方式(如块语句)和顺序执行方式(如进程语句)。 一、并行信号赋值语句 1、简单并行信号赋值语句 信号 = 表达式; y = a OR b OR c; x =(a AND NOT(s(1)) AND NOT(s(0))) OR (b AND NOT(s(1)) AND s(0)) OR (c AND s(1) AND NOT(s(0))) OR (d AND s(1) AND s(0)) ; 2、条件信号赋值语句( When_Else ) 格式:目的信号量=表达式1 WHEN 条件1 ELSE 表达式2 WHEN 条件2 ELSE 表达式3 WHEN 条件3 : ELSE 表达式n; When_Else语句举例 x = a when (s = “00”) else b when (s = “01”) else c when (s = “10”) else d ; When_Else语句举例 j = w when (a = ‘1’) else x when (b = ‘1’) else y when (c = ‘1’) else z when (d = ‘1’) else ‘0’ ; 优先级编码器 encode = “111” when D(7) = ‘1’ else “110” when D(6) = ‘1’ else “101” when D(5) = ‘1’ else “100” when D(4) = ‘1’ else “011” when D(3) = ‘1’ else “010” when D(2) = ‘1’ else “001” when D(1) = ‘1’ else “000” when D(0) = ‘1’ else “000”; WITH 表达式样 SELECT 目的信号量=表达式1 WHEN 条件1, 表达式2 WHEN 条件2, : 表达式n WHEN 条件n; With_Select_Then语句举例 LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY cmpl_sig IS PORT ( a, b,c,d,s : IN STD_LOGIC; x : OUT STD_LOGIC); END cmpl_sig; ARCHITECTURE logic OF cmpl_sig IS BEGIN WITH s SELECT x =a WHEN “00”, b WHEN “01”, c WHEN “10”, d WHEN OTHERS; With_Select_Then语句举例 每个WHEN子句可以包含多个条件: WITH s SELECT x = a WHEN ”000” | “001” | “010”, b WHEN 101 | 111, c WHEN OTHERS; 并行语句中的条件赋值语句和选择赋值语句分别等价于只含有条件结构(if)和选择结构(case)的进程。 要注意并行语句中没有if和case语句的形式
您可能关注的文档
最近下载
- 大金VRVX维修手册.pdf VIP
- 新生儿有创血气分析专家共识.pptx VIP
- 新生儿肠外营养管理专家共识(2025).pptx VIP
- 浙江省温州市2025-2026学年高三年级上学期期末质量评价语文试卷.docx VIP
- 部编小学语文一年级上册生字写字本(模板).pdf VIP
- (五个带头)2025年度民主生活会对照检查材料.pdf VIP
- 铁岭市调兵山市事业单位选聘考试真题2024.docx VIP
- 2024年铁岭市调兵山市事业单位选聘真题.docx VIP
- 全向智感互联OISA技术规范(Version2.0).pdf VIP
- 2025年上海民航职业技术学院单招职业技能测试真题考点含答案解析(推.docx VIP
原创力文档

文档评论(0)