党团工作:总结 计划 汇报 设计 纯word可编辑_第1页
党团工作:总结 计划 汇报 设计 纯word可编辑_第2页
党团工作:总结 计划 汇报 设计 纯word可编辑_第3页
党团工作:总结 计划 汇报 设计 纯word可编辑_第4页
党团工作:总结 计划 汇报 设计 纯word可编辑_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

数字设计第5章,1,第5章 数字系统设计,什么是数字系统数字系统设计的一般过程 节日彩灯控制系统设计 15位二进制数密码锁系统设计,数字设计第5章,2,定义 能够存储、传送和处理数据并按照一定程序操作的数字设备,称为数字系统(Digital System)。典型系统 电子计算机、CPU、数字密码锁,什么是数字系统,数字设计第5章,3,5.1 数字系统设计的一般过程,数字设计第5章,4,5.1.1 方案设计,根据设计要求,包括功能要求和性能指标要求,确定待设计系统的总体方案; 是数字系统设计中最重要也最体现设计者创意的一个环节; 既满足系统功能和性能指标要求,性能价格比又较高。,数字设计第5章,5,5.1.1 方案设计,例5-1 某数字系统用于统计串行输入的n位二元序列X中“1”的个数,试确定其系统方案。,(1)软件编程方案 性能价格比很高,但不属于本课程的范畴。 (2)序列检测器方案 性能价格比将随着序列长度的增加而急剧下降: 从接收序列的可能组合数来假设状态,检测n位序列需要设2n个状态。当n =255时,需要设2255个状态 从当前接收到“1”的个数来假设状态,检测n位序列也需要设n+1个状态 。当n =255时,需要设256个状态,数字设计第5章,6,例5-1 某数字系统用于统计串行输入的n位二元序列X中“1”的个数,试确定其系统方案。,(3)功能分解方案 从实现“1”数统计功能所需要的操作入手,把系统按照操作功能划分为多个模块分别实现,思路与软件编程方案相似。 统计串行序列中“1”的个数,只需要进行以下几种操作: 对X的接收位数进行实时累计; 对接收到的每一个X位进行是0还是1的判断; 当X=1时使“1”数计数器加1计数; 判断X的全部数位是否统计完毕。,数字设计第5章,7,功能分解方案所需硬件 1个位数计数器:累计接收X序列的位数; 1个“1”数计数器:累计X序列中1的个数; 1个控制电路:判断接收X位是0还是1;如果接收X位是1,使“1”数计数器加1;每接收一个X位,使位数计数器加1;判断X的全部数位是否统计完毕。当X的各位全部统计完毕后,操作结束,“1”数计数器的值就是序列X中“1”的个数。,数字设计第5章,8,5.1.2 逻辑划分,按照现代数字系统的设计理论,任何一个数字系统都可以按照计算机结构原理从逻辑上划分为数据子系统(Data Subsystem)和控制子系统(Control Subsystem)两个部分,如图5-2所示。,核心,数字设计第5章,9,5.1.2 逻辑划分,逻辑划分:按照数据子系统和控制子系统功能特点的不同,将待设计系统从逻辑上划分为数据子系统和控制子系统两个部分,导出包含有必要的数据信息、控制信息和状态信息的系统结构框图。 划分原则:工作原理清楚、物理实现方便。,数字设计第5章,10,5.1.2 逻辑划分,例5-2 对例5-1中描述的“1”数统计系统进行逻辑划分,并导出系统结构框图。,数据子系统 用于统计X中“1”的个数的“1”数计数器和用于记忆X接收位数的位数计数器;控制子系统 判断X位是0还是1、产生“1”数计数器和位数计数器所需要的加1控制信号、判断统计是否结束等。,数字设计第5章,11,序列长度: 2k -1,数字设计第5章,12,5.1.3 算法设计,设计者根据所导出的数字系统结构框图和工作原理,编制出思路清晰、实现简单的系统控制算法。 算法设计往往被看作数字系统设计的关键。,数字设计第5章,13,算法设计的主要工具,算法语言 RTL(Register Transfer Language):寄存器传送语言 GSAL(Group-Sequential Algorithms Language):分组-按序算法语言 VHDL语言:在这个设计阶段使用VHDL语言不方便 算法图 ASM图 (Algorithmic State Machine Chart ):算法状态机图,是一种用来描述时序数字系统控制过程的算法流程图,非常类似计算机的程序流程图。算法状态机也称有限状态机、有限自动机或时序机。 MDS图:助记状态图,类似时序电路的状态图,数字设计第5章,14,2ASM图及其应用ASM图的组成,状态块判别块条件输出块带箭头的向线,数字设计第5章,15,状态块的符号,状态块为矩形框,代表ASM图的一个状态。状态的名称及编码分别标在状态块的左、右上角(也可省略),块内列出该状态下数据子系统进行的操作及控制器为实现这种操作而产生的控制信号输出(可以只标其中一种),如图5-4所示。,数字设计第5章,16,判别块的符号,判别块为菱形框,用来表示ASM图的状态分支。判别块内列出判别条件,判别块的出口处列出满足的条件,如图5-5所示。,数字设计第5章,17,条件输出块的符号,条件输出块为椭圆状或两端为圆弧线的框,用来表示ASM图的条件输出,它总是位于判别块的某个分支上。当满足该分支的条件时,将立即执行条件输出块中规定的操作。,立即执行,下一节拍执行,数字设计第5章,18,例5-3 “1”数统计系统的结构框图如图5-3所示,试导出控制器的ASM图。,等待启动,等待启动结束,是否统计完毕,位数加1,1数加1,数字设计第5章,19,可选器件 可编程逻辑器件 标准MSI器件 CPU,5.1.4 物理实现 ,数字设计第5章,20,用PLD实现数字系统,与用PLD实现数字电路的过程相同。这就是首先编写数字系统的VHDL源程序,然后用EDA软件进行编译、仿真,通过后再将编程数据下载到PLD器件中,最后进行功能测试。测试成功后,系统设计便告结束。 编写数字系统的源程序时,也是按照模块化的方式进行的。数字系统中的每一个模块对应一个实体,系统的整体功能用另一个包括各模块间连接关系的顶层实体来描述。,1基于PLD器件的系统实现,数字设计第5章,21,例5-4 编写本节描述的“1”数统计系统的VHDL源程序。假设X序列长度为255。,“1”数统计系统结构框图:图5-3 三个模块 “1”数计数器模块CTR1:M=256 位数计数器模块CTR2:M=256 控制器模块CONTR: ASM图见图5-7,数字设计第5章,22,library IEEE; -“1”数计数器模块CTR1use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;use IEEE.std_logic_arith.all;entity CTR1 isport(CLR,P,CLK: in STD_LOGIC; -输入 Q: out STD_LOGIC_VECTOR (7 downto 0); -“1”数输出end entity CTR1;,“1”数统计系统的VHDL源程序,数字设计第5章,23,architecture CTR1_ARCH of CTR1 is signal IQ: STD_LOGIC_VECTOR (7 downto 0);begin process (CLR,CLK) is begin if (CLR=0) then IQ 0);-异步复位 elsif (CLKevent and CLK=0) then-时钟下降沿 if (P=1) then IQ= IQ+1; -加法计数 end if;end if;Q = IQ; end process; end architecture CTR1_ARCH;,数字设计第5章,24,library IEEE; -位数计数器模块CTR2use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;use IEEE.std_logic_arith.all;entity CTR2 isport(CLR,P,CLK: in STD_LOGIC; -输入 S: out STD_LOGIC); -数位状态输出end entity CTR2;architecture CTR2_ARCH of CTR2 is signal IQ: STD_LOGIC_VECTOR (7 downto 0);,数字设计第5章,25,beginprocess (CLR,CLK,IQ) isbeginif (CLR=0) then IQ 0); elsif (CLKevent and CLK=0) thenif (P=1) then IQ= IQ+1; end if;end if;if (IQ=255) then S=1;-统计完else S=0; -尚未统计完end if;end process;end architecture CTR2_ARCH;,数字设计第5章,26,library IEEE; -控制器模块CONTRuse IEEE.std_logic_1164.all;entity CONTR isport (RST,ST,X,S, CLK: in STD_LOGIC; P2,P1,DONE: out STD_LOGIC); end entity CONTR;architecture CONTR_ARCH of CONTR istype STATE_TYPE is (S0,S1,S2) ;signal STATE: STATE_TYPE;beginCIRCUIT_STATE: process (RST,CLK) is -控制器状态进程,数字设计第5章,27,begin if (RST=0) then STATE if (ST=1) then STATE if (ST=0) then STATE if (S=1) then STATE STATE P2 P2if (S=0) then P2 P2=0;P1=0;DONEST,P=P1,CLK=CLK,Q=Q); u2: CTR2 port map(CLR=ST,P=P2,CLK=CLK, S=S); u3: CONTR port map (RST=RST,ST=ST,X=X,S=S, CLK=CLK,P2=P2,P1=P1,DONE=DONE);end architecture COUNTER_ARCH;,数字设计第5章,32,2基于标准MSI器件的系统实现 系统结构框图中的数据子系统模块必须进一步进行功能分解,直到可用标准MSI器件实现为止。 控制子系统模块,可根据ASM图进行时序设计,其过程与用MSI模块实现状态图描述的时序电路完全相同。,数字设计第5章,33,例5-5 以MSI器件为核心,设计本节描述的“1”数统计系统。假设X序列长度为255。,(1) 数据子系统的物理实现 X序列长度为255时的数据子系统由两个模256的加法计数器模块构成,其中一个为“1”数计数器CTR1,另一个为位数计数器CTR2。从图5-3所示结构框图可见,这两个计数器必须具有加法计数、状态保持、异步清0三种操作功能,且为时钟下降沿触发。在74系列MSI计数器家族中,74161的功能比较类似,能够满足这两个计数器的操作要求,但它却为时钟上升沿触发,模也只有16。因此,必须将每个模256的计数器模块分解为两个模16的计数器,然后再用74161实现。,数字设计第5章,34,数字设计第5章,35,(2) 控制子系统的物理实现,74161的控制激励表(参考图5-7所示ASM图),表5-1 74161的控制激励表,CLR,LD,表5-1 74161的控制激励表,CLR,LD,数字设计第5章,36,数字设计第5章,37,5.2 节日彩灯控制系统设计,采用不同色彩搭配方案的16路彩灯构成有四种演示花型: 花型1:16路彩灯同时亮灭,亮、灭节拍交替进行。 花型2:16路彩灯每次8路灯亮,8路灯灭,且亮、灭相间,交替亮灭。 花型3:16路彩灯先从左至右逐路点亮,到全亮后再从右至左逐路熄灭,循环演示。 花型4:16路彩灯分成左、右8路,左8路从左至右逐路点亮、右8路从右至左逐路点亮,到全亮后,左8路从右至左逐路熄灭,右8路从左至右逐路熄灭,循环演示。 要求:彩灯亮、灭一次的时间为2秒,每256秒自动转换一种花型。花型转换的顺序为花型1、花型2、花型3、花型4,演示过程循环进行。,5.2.1 系统功能与使用要求,数字设计第5章,38,5.2.2 系统方案设计与逻辑划分,数字设计第5章,39,5.2.3 控制算法设计,符号说明SR16:两个8位移位寄存器模块LSR8和RSR8级联构成的16位移位寄存器部分操作符号功能定义:SL0:将括号内指定的移位寄存器模块左移1位,右侧位移入0;SL1:将括号内指定的移位寄存器模块左移1位,右侧位移入1;SR0:将括号内指定的移位寄存器模块右移1位,左侧位移入0; SR1:将括号内指定的移位寄存器模块右移1位,左侧位移入1。,数字设计第5章,40,数字设计第5章,41,5.2.4 系统的物理实现 1基于PLD器件的系统实现 ,library IEEE; -定时器模块T256Suse IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;use IEEE.std_logic_arith.all;entity T256S isport(CLR,CLK: in STD_LOGIC; -输入 CO: out STD_LOGIC); -Q端不用,不定义end entity T256S;,数字设计第5章,42,architecture T256S_ARCH of T256S issignal IQ: STD_LOGIC_VECTOR (6 downto 0);beginprocess (CLR,CLK,IQ) isbeginif (CLR=0) then IQ 0); elsif (CLKevent and CLK=1) thenIQ= IQ+1; -加法计数end if;if (IQ=127) then CO=1; -输出CO=1else CO null -M=0保持when 01 = IQ IQ IQ null; -9值系统 end case; end if; Q = IQ; end process;end architecture RTL;,数字设计第5章,45,library IEEE; -控制器模块CONTRuse IEEE.std_logic_1164.all;entity CONTR isport (RST,CLK,T0,L7,L0,R7,R0: in STD_LOGIC; PR,PL,QR,QL: out STD_LOGIC; P,Q: out STD_LOGIC_VECTOR(7 downto 0); A,B: out STD_LOGIC_VECTOR(1 downto 0);end entity CONTR;architecture CONTR_ARCH of CONTR istype STATE_TYPE is (S0,S1,S2,S3,S4,S5,S6,S7) ;signal STATE: STATE_TYPE;begin,数字设计第5章,46,CIRCUIT_STATE: process (RST,CLK) is -控制器状态进程beginif (RST=0) then STATE STATE if (T0=0) then STATE STATE if (T0=0) then STATE if (R0=0) then STATE = S4; else STATE if (T0=0) then if (L7=1) then STATE if (L0=0) then STATE if (T0=1) then STATE = S0; elsif (L7=1) then STATE = S7 else STATE PR PR PRif (T0=0) then PR=1;PL=R7; P=01010101; B=10; QR=L0;QL=0; Q=01010101; A=10; else PR=1;PL=R7; P=00000000; B=11; QR=L0;QL=0; Q=00000000; A PRif (T0=0) then PRPR PR=1;PL=0; P=11111111; B=10; QR=0;QL=0; Q=11111111; ARST,CLK=CLK,CO=T0); -T256S连接 u2: SR8 port map(CLK=CLK, DR=PR,DL=PL,D=P, M=B,Q=Z); -LSR8连接 u3:SR8 portmap(CLK=CLK, DR=QR,DL=QL,D=Q, M=A,Q=Y); -RSR8连接 u4:CONT Rportmap (RST=RST,CLK=CLK,T0=T0, L7=Z(7), L0=Z(0), R7=Y(7), R0=Y(0),PR=PR, PL=PL, QR=QR,QL=QL, P=P,Q=Q,A=A,B=B); -CONTR连接end architecture LIGHT_ARCH of LIGHT;,数字设计第5章,53,2基于标准MSI器件的系统实现,数字设计第5章,54,控制子系统设计,表5-2 74161的控制激励表,数字设计第5章,55,数字设计第5章,56,表5-3 数据选择表,数字设计第5章,57,数字设计第5章,58,5.3 15位二进制数密码锁系统设计,5.3.1 系统功能与使用要求具有密码预置功能。 输入密码采用串行方式,输入过程中不提供密码数位信息。当输入15位密码完全正确时,密码锁打开。密码锁一旦打开,只有按下RST复位键时才能脱离开锁状态,并返回初始状态。密码输入过程中,只要输错1位密码,系统便进入错误状态。此时,只有按下RST复位键才能脱离错误状态,返回初始状态。 如果连续3次输错密码,系统将报警。一旦报警,将清除错误次数记录,且只有按下RST复位键才能脱离报警状态,返回初始状态。,数字设计第5章,59,5.3.2 系统方案设计与逻辑划分,并行比较方案 依次将键入密码移入移位寄存器中保存起来,待15位密码输入完毕时,再和预置密码进行并行比较。如果输入15位密码正确,则打开密码锁。如果输入15位密码错误,则不仅不能打开密码锁,而且当连续3次输错密码时,系统还将报警。 串行比较方案 每输入1位密码,立即和预置的该位密码进行比较。如果该位密码输入正确,则继续接收键入的密码,并在15位正确密码输入后打开密码锁。如果输入过程中发现有1位密码输入错误,则不再继续接收键入的密码,当连续3次输错密码时,系统报警。,数字设计第5章,60,数字设计第5章,61,5.3.3 控制算法设计,数字设计第5章,62,5.3.4 系统的物理实现1基于PLD器件的系统实现,library IEEE; - ER4模块use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;use IEEE.std_logic_arith.all;entity ER4 isport(CLR,CLK,P: in STD_LOGIC; -输入 ER: out STD_LOGIC); -Q端不用,不定义end entity ER4;,数字设计第5章,63,architecture ER4_ARCH of ER4 issignal IQ: STD_LOGIC_VECTOR (1 downto 0); -定义内部Q信号beginprocess (CLR,CLK,IQ) isbegin if (CLR=0) then IQ=”00”; -异步复位 elsif (CLKevent and CLK=0) then-时钟下降沿触发if (P=1) then IQ= IQ+1; -加法计数end if; end if; if (IQ=3) then ER=1; -输出ER=1else ERnull; -M=0,保持 when “01”= IQnull; -M=2,不用,保持 when “11”=IQnull; -STD_LOGIC_VECTOR为9值系统end case;end if;Q0=IQ(0);if (IQ=1) then ONE=1;-ONE=1else ONE=0;end if;end process;end architecture SR16_ARCH;,数字设计第5章,66,library IEEE;-CONTR模块use IEEE.std_logic_1164.all;entity CONTR isport (CLR,RST,ST,K1,K0,CLK,ONE,P0,ER: in STD_LOGIC;PT,CRE,LKOP,LARM: out STD_LOGIC; M: out STD_LOGIC_VECTOR(1 downto 0); end entity CONTR;,数字设计第5章,67,architecture CONTR_ARCH of CONTR istype STATE_TYPE is (S0,S1,S2,S3,S4,S5,S6,S7) ;signal STATE: STATE_TYPE;signal K,S: STD_LOGIC;-定义中间信号K,SbeginK=K1 nand K0;S=P0 xor K0;CIRCUIT_STATE: process (CLR,CLK) is-控制器状态进程be

温馨提示

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

评论

0/150

提交评论