现代电子系统设计_第1页
现代电子系统设计_第2页
现代电子系统设计_第3页
现代电子系统设计_第4页
现代电子系统设计_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

现代电子系统设计第1页,课件共102页,创作于2023年2月第二章1.电子系统的基本组成及各部分之间的关系第2页,课件共102页,创作于2023年2月2.十字路口交通灯设计之受控器电路第3页,课件共102页,创作于2023年2月3.由MDS图设计控制器(状态编码方式)例2.2-5:某数字系统的MDS图如图所示,R、A为输入信号,Ci(i=0…3)为输出信号,设计它的控制器电路。

第4页,课件共102页,创作于2023年2月

五个状态,用三个D触发器,采用二进制编码方式状态转换表:第5页,课件共102页,创作于2023年2月画出激励函数的卡诺图:写出函数表达式:第6页,课件共102页,创作于2023年2月画出控制器电原理图:第7页,课件共102页,创作于2023年2月4.控制子系统的微程序设计

概念

:把控制子系统中每一个状态要输出的控制信号及该状态的转移去向按一定格式编写成条文,保存在ROM中。运行时,逐条取出这些微指令,实现控制过程。

第8页,课件共102页,创作于2023年2月只把状态变量作为地址变量,而把决定状态转移的测试变量作为指令的内容写入ROM,称为测试变量段。后续地址段分为两部分,分别为测试变量为1和0时的转移去向。对于N个测试变量,由于只与其中的一个有关,可对测试变量进行编码,外部电路用N选一选择器,选择相应的测试变量;其次要决定现态转向后续地址的哪一个,再用多个(取决于后续地址位数)二选一数据选择器,根据测试变量X(i)是0还是1,选出两个后续地址中的一个。a.单测试双地址法第9页,课件共102页,创作于2023年2月例2.3-3:设计MDS图如图所示的微程序控制器。

1、状态编码:用两个D触发器;2、确定ROM容量:4×9;3、填写ROM的内容;4、硬件电路。微指令表第10页,课件共102页,创作于2023年2月电路图第11页,课件共102页,创作于2023年2月

现态的两个分支设置成:一个为现状态编码加1,另一个任意,在微指令的后续地址中,只要注明“任意的一个”即可,现态加1就不必标注。标志位:说明测试变量为1时还是为0时现状态加1。

表2.3-5单测试单地址微指令格式

输出变量 测试变量标志位 转移地址用计数器取代D触发器b.单测试单地址法第12页,课件共102页,创作于2023年2月

例2.3-4:用单测试单地址法实现MDS图如图所示的微程序控制器。1、状态编码:现态的两个转移状态一个必须为现态加1;2、确定ROM的容量:4×9;测试变量为X、Z、W三个加无条件转移共4个。注意此处无条件转移不能像单测试双地址那样把测试变量表示为Φ,因为这里需要相应的硬件电路保证。测试变量段为2位,L2L1=00为无条件;L2L1=01为X;L2L1=10Z;L2L1=11为W。标志位YNBIT为1位,输出为4位,转移地址两位,ROM容量共4×9=36。第13页,课件共102页,创作于2023年2月3、填写微指令:

在填写单测试单地址的微指令时最需要注意的是标志位填写,而标志位填写与硬件电路有关。如果用标志位YNBIT=1,表示测试变量X(i)为1时计数器计数,测试变量X(i)为0时计数器置数;而用标志位YNBIT=0,表示测试变量X(i)为0时计数器计数,测试变量X(i)为1时计数器置数,同时根据一般计数器的置数信号均是低电平有效,则有第14页,课件共102页,创作于2023年2月微指令表ROM内容:硬件电路:第15页,课件共102页,创作于2023年2月

还可用另一种方法来实现单测试单地址法。由于每个状态只与一个测试变量有关,则可以采用一个数据选择器,用现态作为其控制信号,选出决定转移的那个测试变量,然后由现态和测试变量共同作为ROM的地址变量,这样对于一个状态只需要两个字就可以实现它的两个转移,也可以大大缩减ROM的容量第16页,课件共102页,创作于2023年2月例2.3-5:用单测试单地址法实现如图所示的MDS图的微程序控制器。微指令表第17页,课件共102页,创作于2023年2月硬件电路:第18页,课件共102页,创作于2023年2月第三章1、FPGA结构第19页,课件共102页,创作于2023年2月2、CPLD结构第20页,课件共102页,创作于2023年2月第四章1.VHDL语言程序的基本结构

第21页,课件共102页,创作于2023年2月库和程序包第22页,课件共102页,创作于2023年2月格式如下:端口定义:PORT(端口名1:端口模式数据类型;……端口名n-1

,端口名N:端口模式数据类型);实体第23页,课件共102页,创作于2023年2月端口信号名端口模式端口类型如:第24页,课件共102页,创作于2023年2月

——端口模式(MODE):端口模式有以下几种类型:■IN:信号进入实体但并不输出;■

OUT:信号离开实体但并不输入,并且不会在内部反馈使用;■

INOUT:信号是双向的(既可以进入实体,也可以离开实体)■BUFFER:信号输出到实体外部,但同时也在实体内部反馈。

BUFFER(缓冲)是INOUT(双向)的子集,但不是由外部驱动第25页,课件共102页,创作于2023年2月一般格式:构造体——说明语句(可选):声明构造体所用的内部信号、数据类型、常数、函数等;——构造体中,处于BEGIN和END之间是并行处理语句,描述了构造体的行为及连接关系,包括:并行语句、进程、子程序和元件例化等。第26页,课件共102页,创作于2023年2月2.VHDL语言要素VHDL语言操作符

a.逻辑运算符

NOT:取反;AND:与;OR:或;NAND:与非;NOR:或非;XOR:异或;XNOR:同或可以对STD_LOGIC和BIT等逻辑型数据、STD_LOGIC_VECTOR等逻辑型数组及布尔数据操作。左右无优先级之分。全为“AND”“OR”“XOR”时可以不要括号。

例:A<=BANDCANDD;A<=((BNANDC)NANDD)NANDE;第27页,课件共102页,创作于2023年2月

b.关系运算符

=(等于);/=(不等于);适用于所有类型的数据;

<(小于);<=(小于等于);

>(大于);>=(大于等于);

可用于整数、实数、位和位矢量等类型。

注意!!

进行关系运算时,左右两边的数据类型必须相同,但位长度不一定相等c.连接运算符

”&”:用于位的连接。第28页,课件共102页,创作于2023年2月d.算术运算符慎重,会大大增加逻辑门数注意:Std_logic类型数据不能进行算术运算Std_logic_vector可以第29页,课件共102页,创作于2023年2月数据对象

在逻辑综合中,VHDL语言常用的数据对象为:

——信号

——变量

——常量第30页,课件共102页,创作于2023年2月

a.常量(CONSTANT)

——常量是全局量。

——常量的定义和设置是为了设计更容易阅读和修改。如利用它可设计不同模值的计数器,模值存于一常量中,对不同的设计,改变模值仅需改变此常量值即可。CONSTANTZero_4:STD_LOGIC_VECTOR(3DOWNTO0):=“0000”;第31页,课件共102页,创作于2023年2月

b.变量(VARIABLE)

——变量是局部量,只能在进程和子程序中定义和使用;

——变量的赋值符号为“:=”;变量定义格式:第32页,课件共102页,创作于2023年2月

c.信号(SIGNAL)

信号定义格式:第33页,课件共102页,创作于2023年2月

——信号是全局量。用于进程间通信,或用于并行模块间的信息交流。

——信号用于声明内部信号,而非外部信号(外部信号对应为IN,OUT,INOUT,BUFFER),其在元件之间起互联作用(类似于连线);可以赋值给外部信号。

——信号的赋值符号为“<=”;

——信号使用和定义的范围只能是实体、结构体和程序包,在进程和子程序中不允许定义信号,但可以使用信号。

——同一个信号只能在一个进程中被赋值,不能在多个进程被赋值,但同一个信号可以在多个进程中使用。

第34页,课件共102页,创作于2023年2月d.信号与变量的比较

——信号可以促发进程,同一个信号可以在多个进程中使用;

——信号与变量声明的形式与位置不同:信号声明为SIGNAL…,变量声明为VARIABLE…

信号声明在子程序、进程等外部,而变量声明在子程序、进程等内部。

——信号与变量的赋值不同:在进程中,信号赋值在进程结束时起作用,而变量赋值立即起作用。——如果在一个进程中多次为一个信号赋值时,只有最后一个值会起作用;——为变量赋值时,变量值的改变立即发生。第35页,课件共102页,创作于2023年2月数据类型

最常见的标准定义数据类型:

——INTEGER:可用作循环的指针或常数,通常不用于I/O信号;Signaltypei:INTEGERrange0to15;——BIT:可取值‘0’或‘1’;

——BIT_VECTOR:用双引号括起来的一组位数据,如“010101”;

——STD_LOGIC:工业标准的逻辑类型,可取值'0','1','Z'等;

——STD_LOGIC_VECTOR:std_logic的组合,工业标准的逻辑类型。定义枚举类型

语法:Type类型名称Is(元素1,元素2,……);例:typestateis(s0,s1,s2,s3);signals:state;第36页,课件共102页,创作于2023年2月VHDL属性(Attribute)

函数类属性

’event

,值为布尔型,如果该属性所附着的信号有变化,则其取值为True,否则为False。第37页,课件共102页,创作于2023年2月3.VHDL语句及基本描述方法顺序语句并行语句VHDL基本描述方法第38页,课件共102页,创作于2023年2月◆赋值语句

◆流程控制语句

◆等待语句◆空操作语句

顺序语句第39页,课件共102页,创作于2023年2月——赋值语句包括信号赋值语句和变量赋值语句;

——赋值源和目标数据类型必须相同;

——在进程中,信号赋值在进程结束时起作用,变量赋值立即起作用;

——信号具有全局特征,变量具有局部特征;

——信号赋值语句可以以顺序语句形式出现,此时在进程内使用;信号赋值语句也可以以并行语句形式出现,此时在进程外使用。变量赋值目标:=赋值源;信匀赋值目标<=赋值源;赋值语句第40页,课件共102页,创作于2023年2月IF_THEN_ELSE语句流程控制语句第41页,课件共102页,创作于2023年2月--注意,此处是ELSIF,而--不是ELSEIF!!IF语句只能在进程中使用第42页,课件共102页,创作于2023年2月例:设计一个二输入与门无ELSE语句,因此综合器综合时默认为:ELSEc<=c;第43页,课件共102页,创作于2023年2月CASE_WHEN语句case表达式iswhen

选择值=>顺序语句;when

选择值=>顺序语句;when选择值=>顺序语句;┅ endcase;第44页,课件共102页,创作于2023年2月例:四选一选择器:“=>”相当于THEN的作用;条件句的顺序是不重要的;WHENOTHERS列出其他可能取值;第45页,课件共102页,创作于2023年2月LOOP语句

常用的是FOR_LOOP语句,语法格式如下:临时变量,属LOOP语句的局部变量,不必事先定义。起始值Downto结束值起始值To结束值第46页,课件共102页,创作于2023年2月例:奇偶校验电路

奇数个1标志位偶数个1标志位第47页,课件共102页,创作于2023年2月等待(WAIT)语句

语句格式:WAIT[ON敏感信号表][UNTIL条件表达式][FOR时间表达式];注:已列出敏感量的进程中不能使用任何形式的WAIT语句。第48页,课件共102页,创作于2023年2月例:四选一选择器NULL语句第49页,课件共102页,创作于2023年2月并行语句

VHDL的几种主要并行语句:◆进程语句PROCESS语句◆块语句BLOCK语句◆并行信号赋值语句◆元件例化语句◆生成语句GENERATE语句第50页,课件共102页,创作于2023年2月进程语句(PROCESS)

——进程语句是个复合语句,由一段程序构成。

——各个进程是并发执行的,但进程内部的所有语句却都是顺序执行的。

——一个构造体可以包括多个进程语句,多进程间的通信依靠信号(SIGNAL)来传递。第51页,课件共102页,创作于2023年2月例:计数器进程部分:--进程(敏感表)--顺序语句,异步清零第52页,课件共102页,创作于2023年2月若改为同步清零,则进程如下:--同步清零第53页,课件共102页,创作于2023年2月若没有敏感表,利用WAITUNTIL语句,进程如下:第54页,课件共102页,创作于2023年2月块语句(BLOCK)

——块语句是将结构体中的并行语句组合在一起,其主要目的是改善并行语句及其结构的可读性,一般用于较复杂的VHDL程序中。

——只是形式上的划分,而非功能上的改变。块语句的语法描述:--块名必须有。第55页,课件共102页,创作于2023年2月例:比较器

第56页,课件共102页,创作于2023年2月并行信号赋值语句

并行信号赋值语句实际上是一个进程的缩写。如下面两个构造体是等效的:第57页,课件共102页,创作于2023年2月并行信号赋值语句有三种形式:

◆简单信号赋值语句

◆条件信号赋值语句

◆选择信号赋值语句第58页,课件共102页,创作于2023年2月简单信号赋值语句例:第59页,课件共102页,创作于2023年2月条件信号赋值语句WHEN_ELSE语句描述的四选一选择器:第60页,课件共102页,创作于2023年2月选择信号赋值语句WITH_SELECT语句描述的四选一选择器:第61页,课件共102页,创作于2023年2月元件例化语句--注意:没有IS--同该元件定义时的PORT部分例化名:实体名(即元件名)PORTMAP(端口名连接关系);例:一个模为10的计数器和一个七段译码器的连接。第62页,课件共102页,创作于2023年2月模10计数器的VHDL描述第63页,课件共102页,创作于2023年2月BCD码到七段的VHDL描述第64页,课件共102页,创作于2023年2月利用元件例化构成本例(cntvh10):第65页,课件共102页,创作于2023年2月几点说明:

——元件例化时的端口列表可采用位置关联方法,如u1;

——元件例化时的端口列表也可采用名称关联方法映射实参和形参,如u2;格式为(形参1=>实参1,形参2=>实参2,…)

——元件声明时,一定要用原元件定义时的端口名,不能变动。若用到库中的元件,如OR2,在不知原端口名称的情况下,建议重编写OR2_NEW。但必须另起文件名。第66页,课件共102页,创作于2023年2月VHDL基本描述方法结构描述(Structural):也称为网表(Netlist)描述。它反映了一个设计中硬件方面特征,表达了内部元件间连接关系。使用元件例化来描述。

数据流描述(Dataflow):也称为方程(Equation)描述。它反映了一个设计中输入到输出的流向。使用并发语句来描述。

行为描述(Bhavior):它反映了一个设计中的功能算法。一般使用进程PROCESS,用顺序语句来描述。第67页,课件共102页,创作于2023年2月例:两位相等比较器。逻辑表达式:第68页,课件共102页,创作于2023年2月构造体一:用元件例化来实现,即结构描述:第69页,课件共102页,创作于2023年2月构造体二:用布尔方程来实现,即数据流描述:构造体三:用行为描述来实现,采用并行语句:第70页,课件共102页,创作于2023年2月构造体四:用行为描述来实现,采用顺序语句:第71页,课件共102页,创作于2023年2月4.常用电路描述组合逻辑电路

时钟边沿描述基本触发器电路时序电路第72页,课件共102页,创作于2023年2月1、加法器(13位全加器、BCD码加法器)

--13位全加器第73页,课件共102页,创作于2023年2月--BCD码加法器--保存两数二进制相加之和--进行加6校正第74页,课件共102页,创作于2023年2月2、译码器

--BCD——7段--可表示为(OTHERS=>’0’)

第75页,课件共102页,创作于2023年2月--3—8译码器第76页,课件共102页,创作于2023年2月--4位二进制比较器3、比较器

第77页,课件共102页,创作于2023年2月--16路四选一4、数据选择器第78页,课件共102页,创作于2023年2月(1)时钟上升沿描述clk’EVENTandclk=‘1’RISING_EDGE(clk)第79页,课件共102页,创作于2023年2月(2)时钟下降沿描述clk’EVENTandclk=‘0’FALLING_EDGE(clk)第80页,课件共102页,创作于2023年2月1、异步复位置位(低有效)D触发器第81页,课件共102页,创作于2023年2月2、同步复位置位(低有效)负跳变D触发器第82页,课件共102页,创作于2023年2月3、异步复位同步置位(低有效)D触发器第83页,课件共102页,创作于2023年2月1、移位寄存器--可左移、右移、同步置数、同步清零第84页,课件共102页,创作于2023年2月2、M=60计数器异步清零,同步置数,使能,8421BCD码计数器,模为60。第85页,课件共102页,创作于2023年2月第86页,课件共102页,创作于2023年2月第87页,课件共102页,创作于2023年2月5.有限状态机状态机的概念

状态在有限的范围内转换

1.Moore状态机2.Mealy型状态机第88页,课件共102页,创作于2023年2月Moore型状态机第89页,课件共102页,创作于2023年2月第90页,课件共102页,创作于2023年2月第91页,课件共102页,创作于2023年2月Mealy型状态机第92页,课件共102页,创作于2023年2月第93页,课件共102页,创作于2023年2月第94页,课件共102页,创作于2023年2月第95页,课件共102页,创作于2023年2月习题一、单项选择题1、QuartusⅡ是A、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论