(2.5)--第3章 EDA技术及应用精讲总结复习3.ppt
《(2.5)--第3章 EDA技术及应用精讲总结复习3.ppt》由会员分享,可在线阅读,更多相关《(2.5)--第3章 EDA技术及应用精讲总结复习3.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 EDA技术及应用精讲总结复习33.4 VHDL并行语句课前测试题3 3、VHDLVHDL元件例化端口映射语句元件例化端口映射语句“U1:ND2 PORT MAP(A1,B1,S1);”“U1:ND2 PORT MAP(A1,B1,S1);”的端口的端口映射关联方式为(映射关联方式为()。)。A A、名字关联;、名字关联;B B、位置关联;、位置关联;C C、结构关联;、结构关联;D D、混合关联。、混合关联。答案:答案:B B。2 2、并行简单信号赋值语句是、并行简单信号赋值语句是VHDLVHDL并行语句结构的最基本的单元,它的语并行语句结构的最基本的单元,它的语句格式如下:信号赋值目
2、标:句格式如下:信号赋值目标:=表达式;表达式;以上说法:以上说法:A A、正确;、正确;B B、错误。、错误。答案:答案:B B。4 4、为简化为有规则设计结构的逻辑描述,可根据某些条件设定好某一元件、为简化为有规则设计结构的逻辑描述,可根据某些条件设定好某一元件或设计单位,利用生成语句复制一组完全相同的并行元件或设计单元电路结或设计单位,利用生成语句复制一组完全相同的并行元件或设计单元电路结构。构。该说法:该说法:A A、正确;、正确;B B、错误。、错误。答案:答案:A A。1 1、同一结构体中的进程之间是顺序运行的,但同一进程中的逻辑描述语句则、同一结构体中的进程之间是顺序运行的,但同
3、一进程中的逻辑描述语句则是并行运行的。是并行运行的。以上说法:以上说法:A A、正确;、正确;B B、错误。、错误。答案:答案:B B。内容提要内容提要并行语句:并行语句概述;进程语句。3.4.1 VHDL并行语句(1)一、并行语句概述1在VHDL中,并行语句具有多种语句格式,各种并行语句在结构体中的执行是同步运行的,或者说是并行运行的,其执行方式与书写的顺序无关。2在执行中,并行语句之间可以有信息往来,也可以是互为独立、互不相关、异步运行的。每一并行语句内部的语句运行方式可以有两种不同的方式,即并行执行方式和顺序执行方式。图1 结构体中的并行语句模块3VHDL中的并行运行的含义:模块间的运行
4、方式同时运行异步运行非同步运行等电路的工作方式组合逻辑运行方式同步逻辑运行方式异步逻辑运行方式等4并行语句与顺序语句,往往互相包含、互为依存,它们是一个矛盾的统一体。例如:进程属于并行语句,而进程内部运行的都是顺序语句,而一个单句并行赋值语句,从表面上看是一条完整的并行语句,但实质上却是一条进程语句的缩影,它完全可以用一个相同功能的进程来替代。所不同的是,进程中必须列出所有的敏感信号,而单纯的并行赋值语句的敏感信号是隐性列出的。二、进程语句1进程(PROCESS)语句是最具VHDL语言特色的语句,因为它提供了一种用算法(顺序语句)描述硬件行为的方法。进程实际上是用顺序语句描述的一种进行过程,也
5、就是说,进程用于描述顺序事件。一个结构体中可以有多个并行运行的进程结构,而每一个进程的内部结构却是由一系列顺序语句来构成的。PROCESS结构中既可以有时序逻辑的描述,也可以有组合逻辑的描述,它们都可以用顺序语句来表达。2PROCESS语句格式进程标号:PROCESS(敏感信号参数表)IS 进程说明部分;BEGIN 顺序描述语句;END PROCESS进程标号;当进程中定义的任一敏感信号发生更新时,由顺序语句定义的行为就要重复执行一次。但当遇到WAIT语句时,执行过程将被有条件地终止,即所谓的挂起。一个结构体中可含有多个PROCESS结构,每一PROCESS结构对于其敏感信号参数表中定义的任一
6、敏感参量的变化,每个进程可以在任何时刻被激活(或者称为启动)。所有被激活的进程都是并行运行的,这就是为什么PROCESS结构本身是并行语句的道理。3PROCESS语句组成PROCESS语句结构进程说明部分顺序描述语句部分敏感信号参数表-包括数据类型、常数、属性、子程序等,但不允许定义信号和共享变量。-需列出启动本进程要读入的信号名。信号赋值语句变量赋值语句进程启动语句子程序调用语句顺序描述语句进程跳出语句4进程语句设计要点(1)同一结构体中的进程之间是并行运行的,但同一进程中的逻辑描述语句则是顺序运行的。(2)进程的激活必须由敏感信号表中定义的敏感信号的变化来启动,否则必须由一个显式的WAIT
7、语句来激活。(3)结构体中多个进程之所以能并行运行,一个很重要的原因就是进程之间的通信是通过传递信号和共享变量值来实现的。(4)综合后对应于进程的硬件结构,对进程中的所有可读入信号都是敏感的,而在VHDL行为仿真中并非如此,除非将所有的读入信号列为敏感信号。5应用举例【例题】十进制加法计数器之一 CNT10A。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10A IS PORT(CLR:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(3 DOWNTO
8、 0);CNT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ENTITY CNT10A;-打开重载程序包ARCHITECTURE ART OF CNT10A IS BEGIN PROCESS(DIN,CLR)IS BEGIN IF(CLR=1 OR DIN=1001)THEN CNT=0000;ELSE CNT=DIN+1;END IF;END PROCESS;END ARCHITECTURE ART;描述十进制加法器的进程-使用了重载运算符+由于该进程无时钟控制信号,它是一个组合逻辑电路,因此对计数的结果CNT无记忆功能。图1 组合电路型十进制加法器CNT10A
9、综合后的RTL硬件结构图这个加法器只能对输入值作加1操作,却不能将加1后的值保存起来。【例题】十进制加法计数器之二 CNT10B。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10B IS PORT(CLR:IN STD_LOGIC;CLK:IN STD_LOGIC;CNT:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);END ENTITY CNT10B;l如果要使加法器有累加作用,则必须引入时序元件来储存相加后的值。l下面的十进制加法器CNT10B
10、,在进程中增加了一条WAIT语句,使此语句后的信号赋值有了寄存的功能,从而使综合后的电路变成时序电路。ARCHITECTURE ART OF CNT10B IS BEGIN PROCESS IS BEGIN WAIT UNTIL CLKEVENT AND CLK=1;IF(CLR=1 OR CNT=9)THEN CNT=0000;ELSE CNT=CNT+1;END IF;END PROCESS;END ARCHITECTURE ART;描述十进制加法器的进程由于该进程增加了一个时钟控制信号CLK;它是一个时序逻辑电路,具有记忆功能,可对计数的结果CNT进行累加,其累加的间隔为CLK的周期。-
11、等待CLK的上升沿图2 时序电路型十进制加法器CNT10B综合后的RTL硬件结构图(增加了D触发器)CNT10B的RTL图与CNT10A的RTL图的惟一区别是增加了四个D触发器,用于加1值后的储存;对于原来的4位外输入值,则由四个D触发器的储存值反馈来替代,整个加法操作只需加入时钟脉冲即可。总结:综合后的进程语句所对应的硬件逻辑模块的工作方式可以是组合逻辑方式的,也可以是时序逻辑方式的。内容提要内容提要并行信号赋值语句:简单信号赋值语句;条件信号赋值语句;选择信号赋值语句。3.4.2 VHDL并行语句(2)一、并行信号赋值语句概述并行信号赋值语句简单信号赋值语句选择信号赋值语句条件信号赋值语句
12、这三种信号赋值语句的共同点:赋值目标必须都是信号,所有并行赋值语句在结构体内的执行是同时发生的。二、简单信号赋值语句并行简单信号赋值语句是VHDL并行语句结构的最基本的单元。信号赋值目标=表达式;式中,信号赋值目标的数据类型必须与赋值符号右边表达式的数据类型一致。三、条件信号赋值语句1条件信号赋值语句的表达方式:信号赋值目标=表达式1 WHEN 赋值条件1 ELSE 表达式2 WHEN 赋值条件2 ELSE 表达式n;2与IF语句的比较在结构体中的条件信号赋值语句的功能与在进程中的IF语句相同。在执行条件信号赋值语句时,每一赋值条件是按书写的先后关系逐项测定的,一旦发现赋值条件为TRUE,就立
13、即将表达式的值赋给赋值目标。3应用举例【例题】8线-3线优先编码器。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY ENCODER IS PORT(A,B,C,D,E,F,G,H:IN STD_LOGIC;Y0,Y1,Y2:OUT STD_LOGIC);END ENTITY ENCODER;优先级最高ARCHITECTURE ART1 OF ENCODER IS SIGNAL SY:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGIN SY(2 DOWNTO 0)=111
14、WHEN H=1 ELSE 110 WHEN G=1 ELSE 101 WHEN F=1 ELSE 100 WHEN E=1 ELSE 011 WHEN D=1 ELSE 010 WHEN C=1 ELSE 001 WHEN B=1 ELSE 000 WHEN A=1 ELSE XXX;Y0=SY(0);Y1=SY(1);Y2=SY(2);END ARCHITECTURE ART1;条件赋值语句执行结束后,此时SY每一位都有值,再通过下面的赋值语句,将SY(0),SY(1),SY(2)分别赋给输出端口Y0,Y1,Y2以此类推-具有最高赋值优先级四、选择信号赋值语句1选择信号赋值语句格式如下:W
15、ITH 选择表达式 SELECT赋值目标信号=表达式1 WHEN 选择值1,表达式2 WHEN 选择值2,表达式n WHEN 选择值n;以此类推2选择信号赋值语句与CASE语句的比较(1)选择信号赋值语句本身不能在进程中应用,但其功能却与进程中的CASE语句的功能相似。CASE语句的执行依赖于进程中敏感信号的改变,而且要求CASE语句中各子句的条件不能有重叠,必须包容所有的条件。(2)与CASE语句相类似,选择赋值语句对于子句条件选择值的测试具有同期性。因此,选择赋值语句不允许有条件重叠的现象,也不允许存在条件涵盖不全情况。3应用举例【例题】设计一个简化的指令译码器(接口如图所示)。对应于由A
16、、B、C三个位构成的不同指令码,由DATA1和DATA2输入的两个值将进行不同的逻辑操作,并将结果从DATAOUT输出。图1 指令译码器DECODERLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DECODER IS PORT(A,B,C:IN STD_LOGIC;DATA1,DATA2:IN STD_LOGIC;DATAOUT:OUT STD_LOGIC);END ENTITY DECODER;ARCHITECTURE ART OF DECODER IS SIGNAL INSTR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2.5-第3章 EDA技术及应用精讲总结复习3 2.5 EDA 技术 应用 总结 复习
限制150内