《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第7章 VHDL语句

K康芯科技 EDA技术与VHDL 第7章 VHDL语句
EDA技术与VHDL 第7章 VHDL语句 KX 康芯科技

K康科技 7.1顺序语句 7.1.1赋值语句 信号赋值语句 变量赋值语句 7.1.2F语句 7.1.3CASE语句 选择值[|选择值] 单个普通数值,如6。 数值选择范围,如(2T04),表示取值为2、3或4。 并列数值,如35,表示取值为3或者5。 混合方式,以上三种方式的混合
KX 康芯科技 7.1 顺序语句 7.1.1 赋值语句 信号赋值语句 变量赋值语句 7.1.2 IF语句 7.1.3 CASE语句 选择值 [ |选择值 ] 单个普通数值,如6。 数值选择范围,如(2 TO 4),表示取值为2、3或4。 并列数值,如35,表示取值为3或者5。 混合方式,以上三种方式的混合

K康芯科技 【例7-1】 LIBRARY IEEE; USE IEEE.STD LOGIC 1164.ALL; ENTITY mux41 IS PORT (s4,s3,s2,s1 IN STD LOGIC; z4,z3,z2,z1 OUT STD LOGIC); END mux41; ARCHITECTURE activ OF mux41 IS SIGNAL sel:INTEGER RANGE 0 TO 15; BEGIN PROCESS (sel,s4,s3,s2,s1 BEGIN se1z1,z2z3<='1'; 当se1为2、4、5、6或7时选中 WHEN OTHERS =z4<=1; 当se1为8~15中任一值时选中 END CASE END PROCESS END activ
KX 康芯科技 【例7-1】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 IS PORT (s4,s3, s2,s1 : IN STD_LOGIC; z4,z3, z2,z1 : OUT STD_LOGIC); END mux41; ARCHITECTURE activ OF mux41 IS SIGNAL sel : INTEGER RANGE 0 TO 15; BEGIN PROCESS (sel ,s4,s3,s2,s1 ) BEGIN sel z1 z2 z3 z4<='1' ; - 当sel为8~15中任一值时选中 END CASE ; END PROCESS ; END activ ;

K康还科技 7.1顺序语句 7.1.3 CASE语句 【例7-2】 SIGNAL value INTEGER RANGE 0 TO 15; SIGNAL out1 STD LOGIC 。0 CASE value IS -缺少以WN引导的条件句 END CASE; 。· CASE value IS WHEN 0 =out1out1out1<='0'; END CASE:
KX 康芯科技 7.1 顺序语句 7.1.3 CASE语句 【例7-2】 SIGNAL value : INTEGER RANGE 0 TO 15; SIGNAL out1 : STD_LOGIC ; . CASE value IS - 缺少以WHEN引导的条件句 END CASE; . CASE value IS WHEN 0 => out1 out1 out1 out1<= '0'; END CASE;

【例7-3】 LIBRARY IEEE: USE IEEE.STD LOGIC 1164.ALL; USE IEEE.STD LOGIC UNSIGNED.ALL; ENTITY alu IS PORT a,b IN STD LOGIC VECTOR (7 DOWNTO 0); opcode:IN STD LOGIC VECTOR (1 DOWNTO 0); result:OUT STD LOGIC VECTOR (7 DOWNTO 0)); END alu; ARCHITECTURE behave OF alu IS CONSTANT plus STD LOGIC VECTOR (1 DOWNTO 0):=b"00"; CONSTANT minus STD LOGIC VECTOR (1 DOWNTO 0):=b"01"; CONSTANT equal STD LOGIC VECTOR (1 DOWNTO 0):=b"10"; CONSTANT not equal:STD_LOGIC_VECTOR (1 DOWNTO 0):=b"11"; BEGIN PROCESS (opcode,a,b) BEGIN CASE opcode IS EN plus=>result<=a+b;-a、b相加 WHEN minus =result <a -b; -a、b相减 WHEN equal = -a、b相等 IF (a =b)THEN result <x"01"; ELSE result <x"00"; END IF; WHEN not equal = -a、b不相等 IF (a /b)THEN result <x"01"; ELSE result <x"00"; END IF; END CASE; END PROCESS; END behave;
KX 【例7-3】 康芯科技 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY alu IS PORT( a, b : IN STD_LOGIC_VECTOR (7 DOWNTO 0); opcode: IN STD_LOGIC_VECTOR (1 DOWNTO 0); result: OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); END alu; ARCHITECTURE behave OF alu IS CONSTANT plus : STD_LOGIC_VECTOR (1 DOWNTO 0) := b"00"; CONSTANT minus : STD_LOGIC_VECTOR (1 DOWNTO 0) := b"01"; CONSTANT equal : STD_LOGIC_VECTOR (1 DOWNTO 0) := b"10"; CONSTANT not_equal: STD_LOGIC_VECTOR (1 DOWNTO 0) := b"11"; BEGIN PROCESS (opcode,a,b) BEGIN CASE opcode IS WHEN plus => result result - a、b相等 IF (a = b) THEN result - a、b不相等 IF (a /= b) THEN result <= x"01"; ELSE result <= x"00"; END IF; END CASE; END PROCESS; END behave;

K康还科技 7.1顺序语句 7.1.4L00P语句 (1)单个工O0P语句,其语法格式如下: [LOOP标号:]LOOP 顺序语句 END LOOP[LOOP标号]: L2:LOOP a:=a+l; EXIT L2 WHEN a >10; -当a大于10时跳出循环 END LOOPL2;
KX 康芯科技 7.1 顺序语句 7.1.4 LOOP语句 (1) 单个LOOP语句,其语法格式如下: [ LOOP标号:] LOOP 顺序语句 END LOOP [ LOOP标号 ]; . L2 : LOOP a := a+1; EXIT L2 WHEN a >10 ; - 当a大于10时跳出循环 END LOOPL2;

K能苏科技 7.1顺序语句 7.1.4L00P语句 (2)FOR LOOP语句,语法格式如下: [LOoP标号:]EOR循环变量,IN循环次数范围 LOOP 顺序语句 END LOOP[LOOP标号];
KX 康芯科技 7.1 顺序语句 7.1.4 LOOP语句 (2) FOR_LOOP语句,语法格式如下: [LOOP标号:] FOR 循环变量,IN 循环次数范围 LOOP 顺序语句 END LOOP [LOOP标号];

K康还科技 7.1顺序语句 7.1.4L00P语句 【例7-4】 LIBRARY IEEE; USE IEEE.STD LOGIC 1164.ALL; ENTITY p check IS PORT a:IN STD LOGIC VECTOR (7 DOWNTO 0); y:OUT STD LOGIC ) END p check; ARCHITECTURE opt OF p check IS SIGNAL tmp STD LOGIC BEGIN PROCESS(a) BEGIN tmp<='0'; FOR n IN 0 TO 7 LOOP tmp <tmp XoR a(n); END LOOP y <=tmp; END PROCESS; END opt;
KX 康芯科技 7.1 顺序语句 7.1.4 LOOP语句 【例7-4】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY p_check IS PORT ( a : IN STD_LOGIC_VECTOR (7 DOWNTO 0); y : OUT STD_LOGIC ); END p_check; ARCHITECTURE opt OF p_check IS SIGNAL tmp :STD_LOGIC ; BEGIN PROCESS(a) BEGIN tmp <='0'; FOR n IN 0 TO 7 LOOP tmp <= tmp XOR a(n); END LOOP ; y <= tmp; END PROCESS; END opt;

K能苏科技 7.1顺序语句 7.1.4L00P语句 【例7-5】 SIGNAL a,b,c STD LOGIC VECTOR (1 TO 3); FOR n IN 1 To 3 LOOP a(n)<=b(n)AND c(n); END LOOP; 此段程序等效于顺序执行以下三个信号赋值操作: a(1)<=b(1)ANDc(1): a(2)<=b(2)ANDc(2); a(3)<=b(3)ANDc(3);
KX 康芯科技 7.1 顺序语句 7.1.4 LOOP语句 【例7-5】 SIGNAL a, b, c : STD_LOGIC_VECTOR (1 TO 3); . FOR n IN 1 To 3 LOOP a(n) <= b(n) AND c(n); END LOOP; 此段程序等效于顺序执行以下三个信号赋值操作: a(1)<=b(1) AND c(1); a(2)<=b(2) AND c(2); a(3)<=b(3) AND c(3);

K康还科技 7.1顺序语句 7.1.5NEXT语句 NEXT; 一第一种语句格式 NEXT LOOP标号; 一第二种语句格式 NEXT LOOP标号WHEN条件表达式; -第三种语句格式 【例7-6】 。 L1 FOR cnt value IN 1 TO 8 LOOP s1 a(cnt value):=0'; NEXT WHEN (b=c); s2 a(cnt value 8 )0'; END LOOP L1;
KX 康芯科技 7.1 顺序语句 7.1.5 NEXT语句 NEXT; - 第一种语句格式 NEXT LOOP标号; - 第二种语句格式 NEXT LOOP标号WHEN 条件表达式; - 第三种语句格式 【例7-6】 . L1 : FOR cnt_value IN 1 TO 8 LOOP s1 : a(cnt_value) := '0'; NEXT WHEN (b=c); s2 : a(cnt_value + 8 ):= '0'; END LOOP L1;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第6章 16位CISC CPU设计.ppt
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第5章 VHDL状态机.ppt
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第4章 Quartus II使用方法.ppt
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第3章 VHDL基础.ppt
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第2章 PLD硬件特性与编程技术.ppt
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第1章 概述.ppt
- 《数字电子技术》课程教学资源(自测题)第十一章 AD和DA转换器自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第十章 脉冲产生和整形自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第七章 半导体存储器自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第四章 组合逻辑电路自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第六章 时序逻辑电路自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第五章 触发器自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第二章 逻辑门电路自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第三章 逻辑代数自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第一章 数值和码制自测题及答案.doc
- 《数字电子技术》课程教学资源(作业习题)第八章 AD和DA转换(含答案).doc
- 《数字电子技术》课程教学资源(作业习题)第九章 存储器(含答案).doc
- 《数字电子技术》课程教学资源(作业习题)第七章 时序逻辑电路(含答案).doc
- 《数字电子技术》课程教学资源(作业习题)第四章 触发器(含答案).doc
- 《数字电子技术》课程教学资源(作业习题)第六章 组合逻辑电路(含答案).doc
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第8章 VHDL结构.ppt
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第10章 DSP Builder设计深入.ppt
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第9章 DSP Builder设计初步.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第一章 初识数字电路.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第三章 逻辑门电路.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第二章 分析与设计数字电路的工具.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第五章 记忆单元电路.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第四章 组合逻辑电路.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第七章 脉冲单元电路.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第九章 数模与模数转换器.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第八章 半导体存储器.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第六章 时序逻辑电路.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第十章 可编程逻辑器件.ppt
- 内蒙古科技大学:《数字电子技术》课程教学大纲 Digital electric technology.doc
- 内蒙古科技大学:《数字电子技术》课程实验教学大纲 Electronic Techniques Experiments.doc
- 内蒙古科技大学:《数字电子技术》课程教学实验指导书(共八个实验).doc
- 内蒙古科技大学:《数字电子技术》课程设计指导书.doc
- 《数字电子技术》课程试卷习题(自我检测)第4章 触发器.doc
- 《数字电子技术》课程试卷习题(自我检测)第5章 时序逻辑电路.doc
- 《数字电子技术》课程试卷习题(自我检测)第6章 脉冲产生和整形电路.doc