中国高校课件下载中心 》 教学资源 》 大学文库

《EDA技术》课程教学资源(课件讲稿)第7章 VHDL语句

文档信息
资源类别:文库
文档格式:PDF
文档页数:101
文件大小:1.3MB
团购合买:点击进入团购
内容简介
《EDA技术》课程教学资源(课件讲稿)第7章 VHDL语句
刷新页面文档预览

技术EDA第7章VHDL语句

EDA 技 术 第7章 VHDL语句

顺序语句和并行语句是程序设计中两类基本描述语句。这些语句从多侧面完整地描述了数字系统的硬件结构和基本逻辑功能,其中包括通信的方式、信号的赋值、多层次的元件例化以及系统行为等

顺序语句和并行语句是程序设计 中两类基本描述语句。这些语句从多 侧面完整地描述了数字系统的硬件结 构和基本逻辑功能,其中包括通信的 方式、信号的赋值、多层次的元件例 化以及系统行为等

7.1顺序语句口顺序语句的特点是:执行(指仿真执行)顺序与他们的书写顺序基本一致。口顺序语句只能出现在进程和子程序中,子程序包括函数和过程。口VHDL有六类基本顺序语句:赋值语句、流程控制语句、等待语句、子程序调用语句、返回语句、空操作语句

7.1 顺序语句 顺序语句的特点是:执行(指仿真执行)顺序与他们 的书写顺序基本一致。 顺序语句只能出现在进程和子程序中,子程序包括函 数和过程。 VHDL有六类基本顺序语句:赋值语句、流程控制语 句、等待语句、子程序调用语句、返回语句、空操作语 句

7.1.1赋值语句信号赋值语句变量赋值语句赋值目标赋值符号赋值源

7.1.1 赋值语句 信号赋值语句 变量赋值语句 赋值目标 赋值符号 赋值源

赋值语句变量赋值与信号赋值的区别:口变量具有局部特征,它的有效性只局限于所定义的一个进程中,或一个子程序中,它是一个局部的、暂时性数据对象。口对于它的赋值是立即发生的(假设进程已启动),即是一种时间延迟为零的赋值行为。口变量赋值符号为:":=

赋值语句 变量赋值与信号赋值的区别: 变量具有局部特征,它的有效性只局限于所定义的 一个进程中,或一个子程序中,它是一个局部的、暂 时性数据对象。 对于它的赋值是立即发生的(假设进程已启动), 即是一种时间延迟为零的赋值行为。 变量赋值符号为:“:=”

赋值语句变量赋值与信号赋值的区别:口信号具有全局特征,它不但可以作为一个设计实体内部各单元之间数据传输的载体,而且可通过信号与其他的实体进行通信。口信号的赋值并不是立即发生的,它发生在一个进程结束时。口信号赋值符号为:"<=

赋值语句 变量赋值与信号赋值的区别: 信号具有全局特征,它不但可以作为一个设计实体 内部各单元之间数据传输的载体,而且可通过信号与 其他的实体进行通信。 信号的赋值并不是立即发生的,它发生在一个进程 结束时。 信号赋值符号为:“<=”

p787.1.2JIF语句(4)IF条件句THEN顺序语句(1)IF条件句THEN条件句THENELSEIF顺序语句ENDIF;...ELSE顺序语句(2)IF条件句THENENDIF顺序语句-任一分支的执行条件,是以上ELSE各分支所确定条件的与逻辑(相顺序语句关条件同时成立)。即语句中顺END IF;序语句的执行条件具有向上相与的功能。(3)IF条件句THENIF条件句THEN注意:ENDIF判别条件句的表达式结果的数ENDIF据类型是Boolean

(1)IF 条件句 THEN 顺序语句 END IF ; (2)IF 条件句 THEN 顺序语句 ELSE 顺序语句 END IF ; (3)IF 条件句 THEN IF 条件句 THEN . END IF END IF (4)IF 条件句 THEN 顺序语句 ELSE IF 条件句 THEN . ELSE 顺序语句 END IF -任一分支的执行条件,是以上 各分支所确定条件的与逻辑(相 关条件同时成立)。即语句中顺 序语句的执行条件具有向上相与 的功能。 注意: 判别条件句的表达式结果的数 据类型是Boolean 7.1.2 IF 语句 p78

IF语句表3-28线-3线优先编码器真值表出输入输dinodinldin3din4din5din6din7out2din2outooutl0000XxxxxXX001XXAXXX0-01XxXX00111xXXX00011XXx00111Xx001111-1X

表3-2 8线-3线优先编码器真值表 输 入 输 出 din0 din1 din2 din3 din4 din5 din6 din7 out0 out1 out2 x x x x x x x 0 0 0 0 x x x x x x 0 1 1 0 0 x x x x x 0 1 1 0 1 0 x x x x 0 1 1 1 1 1 0 x x x 0 1 1 1 1 0 0 1 x x 0 1 1 1 1 1 1 0 1 x 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 注:表中的“x”为任意,类似VHDL中的“-”值。 IF语句

(例3-32】8线一3线优先编码器LIBRARYIEEEUSEIEEE.STDLOGIC1164.ALL;ENTITYcoderISPORT ( din : IN STD LOGIC_VECTOR(O TO 7);output:OUT STD_LOGIC_VECTOR(0 TO2) );END coder;ARCHITECTUREbehavOFcoderISSIGNAL SINT : STD LOGIC_ VECTOR(4 DOWNTO 0);BEGINPROCESS (din)BEGINIF (din(7)='0") THEN output<="000";ELSIF(din(6)='0')THENoutput<="100"ELSIF(din(5)=0')THEN output<="010";ELSIF(din(4)-'0')THEN output<="110" ;ELSIF(din(3)-'0')THENoutput<="001"ELSIF(din(2)='0')THEN output<="101"ELSIF(din(1)-'0')THENoutput<="011"ELSEoutput<="111"ENDIF;ENDPROCESS;END behav;

顺序条件语句IF语句 【例3-32】8线-3线优先编码器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY coder IS PORT ( din : IN STD_LOGIC_VECTOR(0 TO 7); output : OUT STD_LOGIC_VECTOR(0 TO 2) ); END coder; ARCHITECTURE behav OF coder IS SIGNAL SINT : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN PROCESS (din) BEGIN IF (din(7)='0') THEN output <= "000" ; ELSIF (din(6)='0') THEN output <= "100" ; ELSIF (din(5)='0') THEN output <= "010" ; ELSIF (din(4)='0') THEN output <= "110" ; ELSIF (din(3)='0') THEN output <= "001" ; ELSIF (din(2)='0') THEN output <= "101" ; ELSIF (din(1)='0') THEN output <= "011" ; ELSE output <= "111" ; END IF ; END PROCESS ; END behav;

7.1.3CASE语句CASE语句的结构如下:CASE表达式IS顺序语句;When选择值=VWhen选择值=>川选择值可以有四种不同的表达方式:>单个普通数值,如6。.END CASE ;>数值选择范围,如(2TO4),表示取值为2、3或4。多条件选择值的一般表达>并列数值,如35,表示取值为3或为:者5。一混合方式,以上三种方式的混合。选择值「|选择值】

7.1.3 CASE语句 CASE语句的结构如下: CASE 表达式 IS When 选择值 => 顺序语句; When 选择值 => 顺序语句; . END CASE ; 多条件选择值的一般表达式 为: 选择值 [ |选择值 ] 选择值可以有四种不同的表达方式: 单个普通数值,如6。 数值选择范围,如(2 TO 4),表示 取值为2、3或4。 并列数值,如35,表示取值为3或 者5。 混合方式,以上三种方式的混合

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档