《现代电子系统设计》由会员分享,可在线阅读,更多相关《现代电子系统设计(102页珍藏版)》请在金锄头文库上搜索。
1、现代电子系统设计 复习纲要2011年6月第二章1.电子系统的基本组成及各部分之间的关系2.十字路口交通灯设计之受控器电路3.由MDS图设计控制器(状态编码方式)例2.2-5:某数字系统的 MDS图如图所示,R、A为输入信号, Ci(i=03)为输出信号, 设计它的控制器电路。 五个状态,用三个D触发器 ,采用二进制编码方式状态转换表:画出激励函数的卡诺图:写出函数表达式:画出控制器电原理图:4.控制子系统的微程序设计概念 :把控制子系统中每一个状态要输出的控制信号 及该状态的转移去向按一定格式编写成条文,保存在 ROM中。运行时,逐条取出这些微指令,实现控制过程 。 只把状态变量作为地址变量,
2、而把决定状态转移的测试 变量作为指令的内容写入ROM,称为测试变量段。 后续地址段分为两部分,分别为测试变量为1和0时的转 移去向。 对于N个测试变量,由于只与其中的一个有关,可对测 试变量进行编码,外部电路用N选一选择器,选择相应 的测试变量;其次要决定现态转向后续地址的哪一个, 再用多个(取决于后续地址位数)二选一数据选择器, 根据测试变量X(i)是0还是1,选出两个后续地址中的 一个。a.单测试双地址法 例2.3-3:设计MDS图如图所 示的微程序控制器。 1、状态编码:用两个D触发器; 2、确定ROM容量:49; 3、填写ROM的内容; 4、硬件电路。微指令表电路图现态的两个分支设置成
3、:一个为现状态编码加1,另一 个任意,在微指令的后续地址中,只要注明“任意的一 个”即可,现态加1就不必标注。标志位:说明测试变 量为1时还是为0时现状态加1。表2.3-5 单测试单地址微指令格式输出变量 测试变量 标志位 转移地址用计数器取代D触发器b.单测试单地址法例2.3-4:用单测试单地 址法实现MDS图如图所示的 微程序控制器。1、状态编码:现态的两个转移状态 一个必须为现态加1; 2、确定ROM的容量:49;测试变量为X、Z、W三个加无条件 转移共4个。注意此处无条件转移不能 像单测试双地址那样把测试变量表示为 ,因为这里需要相应的硬件电路保证 。测试变量段为2位,L2L1=00为
4、无条件 ;L2L1=01为X;L2L1=10Z;L2L1=11 为W。标志位YNBIT为1位,输出为4位 ,转移地址两位,ROM容量共49=36 。3、填写微指令:在填写单测试单地址的微指令时最需要注意的是标志 位填写,而标志位填写与硬件电路有关。如果用标志位 YNBIT=1,表示测试变量X(i)为1时计数器计数,测试变量 X(i)为0时计数器置数;而用标志位YNBIT=0,表示测试变 量X(i)为0时计数器计数,测试变量X(i)为1时计数器置 数,同时根据一般计数器的置数信号均是低电平有效, 则有微指令表ROM内容:硬件电路:还可用另一种方法来实现单测试单地址法 。由于每个状态只与一个测试变
5、量有关,则可 以采用一个数据选择器,用现态作为其控制信 号,选出决定转移的那个测试变量,然后由现 态和测试变量共同作为ROM的地址变量,这样对 于一个状态只需要两个字就可以实现它的两个 转移,也可以大大缩减ROM的容量 例2.3-5: 用单测试单地址 法实现如图所示的MDS图 的微程序控制器。微指令表硬件电路:第三章1、FPGA结构2、CPLD结构第四章1. VHDL语言程序的基本结构 库和程序包格式如下:端口定义:PORT(端口名1:端口模式 数据类型;端口名n1 ,端口名N :端口模式 数据类型); 实体端口信号名端口模式端口类型如:端口模式(MODE):端口模式有以下几种类型: IN:信
6、号进入实体但并不输出; OUT:信号离开实体但并不输入,并且不会在内部反 馈使用; INOUT:信号是双向的(既可以进入实体,也可以离 开实体) BUFFER:信号输出到实体外部,但同时也在实体内 部反馈。BUFFER(缓冲)是INOUT(双向)的子集 ,但不是由外部驱动 一般格式: 构造体说明语句(可选):声明构造体所用的内部 信号、数据类型、常数、函数等;构造体中,处于BEGIN和END之间是并行处 理语句,描述了构造体的行为及连接关系,包括: 并行语句、进程、子程序和元件例化等。2.VHDL语言要素nVHDL语言操作符 a.逻辑运算符NOT:取反;AND:与;OR:或;NAND:与非;
7、NOR:或非;XOR:异或;XNOR:同或可以对STD_LOGIC和BIT等逻辑型数据、 STD_LOGIC_VECTOR等逻辑型数组及布尔数据操作 。左右无优先级之分。全为“AND”“OR”“XOR”时可以 不要括号。例:A(大于);=(大于等于);可用于整数、实数、位和位矢量等类型。注意!进行关系运算时,左右两边的数据类型必须相同,但位长度不一定相等c. 连接运算符”可以赋值给外部信号。信号的赋值符号为“顺序语句; when 选择值=顺序语句; when 选择值=顺序语句; end case;例:四选一选择器:“=”相当于THEN的作用; 条件句的顺序是不重要的; WHEN OTHERS列
8、出其他可能 取值; LOOP语句常用的是FOR_LOOP语句,语法格式如下:临时变量,属LOOP语句的局部变量,不必事先定义。 起始值 Downto 结束值 起始值 To 结束值 例:奇偶校验电路 奇数个1标志位 偶数个1标志位n 等待(WAIT)语句语句格式:WAIT ON 敏感信号表 UNTIL 条件表达式 FOR 时间表 达式; 注:已列出敏感量的进程中不能使用任何形式的WAIT语句 。例:四选一选择器n NULL语句并行语句VHDL的几种主要并行语句: 进程语句 PROCESS语句 块语句 BLOCK语句 并行信号赋值语句 元件例化语句 生成语句 GENERATE语句 进程语句(PRO
9、CESS)进程语句是个复合语句,由一段程序构成。各个进程是并发执行的,但进程内部的所有语句却都是顺序执行的。 一个构造体可以包括多个进程语句,多进程间的通信依靠信号(SIGNAL)来传递。 例:计数器进程部分:-进程(敏感表) -顺序语句,异步清零 若改为同步清零,则进程如下:-同步清零 若没有敏感表,利用WAIT UNTIL语句,进程 如下: 块语句(BLOCK)块语句是将结构体中的并行语句组合在一起,其主 要目的是改善并行语句及其结构的可读性,一般用于较 复杂的VHDL程序中。 只是形式上的划分,而非功能上的改变。 块语句的语法描述:-块名必须有。 例:比较器 并行信号赋值语句并行信号赋值
10、语句实际上是一个进程的缩写。如下 面两个构造体是等效的:并行信号赋值语句有三种形式: 简单信号赋值语句 条件信号赋值语句 选择信号赋值语句简单信号赋值语句例:条件信号赋值语句WHEN_ELSE语句描述的四选一选择器: 选择信号赋值语句WITH_SELECT语句描述的四选一选择器: 元件例化语句-注意:没有IS-同该元件定义时的PORT部分例化名:实体名(即元件名)PORT MAP(端口名连接关系);例:一个模为10的计数器和一个七段译码器的连接。模 10 计 数 器 的 V H D L 描 述 BCD码到七段的VHDL描述利用元件例化构成本例(cntvh10):几点说明:元件例化时的端口列表可
11、采用位置关联方法,如u1 ;元件例化时的端口列表也可采用名称关联方法映射 实参和形参,如u2;格式为(形参1=实参1, 形参2=实 参2,)元件声明时,一定要用原元件定义时的端口名,不 能变动。若用到库中的元件,如OR2,在不知原端口名 称的情况下,建议重编写OR2_NEW。但必须另起文件名 。VHDL基本描述方法 结构描述(Structural):也称为网表(Netlist )描述 。它反映了一个设计中硬件方面特征,表达了内部元件 间连接关系。使用元件例化来描述。 数据流描述(Dataflow):也称为方程(Equation ) 描述。它反映了一个设计中输入到输出的流向。使用并 发语句来描述
12、。 行为描述(Bhavior):它反映了一个设计中的功能算 法。一般使用进程PROCESS,用顺序语句来描述。例:两位相等比较器 。 逻辑表达式:构造体一:用元件例化来实现,即结构描述 :构造体二:用布尔方程来实现,即数据流描 述:构造体三:用行为描述来实现,采用并行语 句 :构造体四:用行为描述来实现,采用顺序语 句: 4.常用电路描述 组合逻辑电路 时钟边沿描述 基本触发器电路 时序电路 1、加法器(13位全加器、BCD码加法器) -13位全加器 -BCD码加法器 -保存两数二进制相加之和 -进行加6校正 2、译码器 -BCD7段 -可表示为(OTHERS=0) -38译码器 -4位二进制
13、比较器 3、比较器 -16路四选一 4、数据选择器(1)时钟上升沿描述clkEVENT and clk=1 RISING_EDGE(clk) (2)时钟下降沿描述clkEVENT and clk=0 FALLING_EDGE(clk) 1、异步复位置位(低有效)D触发器 2、同步复位置位(低有效)负跳变D触发器3、异步复位同步置位(低有效)D触发器1、移位寄存器 -可左移、右移、同步置数、同步清零2、M=60计数器 异步清零,同步置数,使能,8421BCD码计数器,模为60。 5. 有限状态机 状态机的概念状态在有限的范围内转换1Moore状态机 .Mealy型状态机n Moore型状态机n
14、Mealy型状态机习 题 一、单项选择题1、Quartus是A、高级语言 B、硬件描述语言 C、EDA工具软件 D、综合软件2、使用Quartus建立仿真文件,应采用A、图形编辑 B、文本编辑 C、符号编辑 D、波形编辑 3、执行Quartus的哪条命令,可以检查设计电路错误 A、Create Default Symbol B、Simulator C、Compiler D、Timing Analyzer 4、Quartus的波形文件类型是A、.vwf B、.bdf C、.vhd D、.qpf 5、在VHDL的端口声明语句中,用于声明双向端口的是 A、IN B、OUT C、INOUT D、BUF
15、FER二、完成下列各基础实验题 将两片74160连接成模100计数器,画出CLK和ENT、 ENP的连接方法。注:画出一种连接方法即可1、完成下列各题 (1)以下是低有效异步清零clr、低有效异步复位set、 时钟clk下降沿触发的D触发器构造体描述,指出其中的错误 并改正。三、VHDL语言设计题 (2)阅读下面的VHDL程序,分析设计电 路功能,并画出仿真波形。2、请用VHDL设计BCD-7段译码器。 实体如下:请补充结构体:3、请用VHDL设计一个键盘扫描电路。 其功能为只要输入CLK,便会自动且依序产生 1110-1101-1011-0111-1110(周而复始)四个扫描信号。四、数字系统设计题 1、某数字系统的MDS图如右所示, R、A为输入信号, Ci(i=0.3)为输出信号, 设计它的控制器电路。 要求:用D触发器作为状态寄存器, 以状态编码 方式(如图)进行设计。 请列出状态转换 表; 画出激励函数的卡诺图; 写出激励函数及输出函数表达式; 画出控制器电原理图。