数字系统设计基础.ppt
《数字系统设计基础.ppt》由会员分享,可在线阅读,更多相关《数字系统设计基础.ppt(89页珍藏版)》请在三一办公上搜索。
1、第13章数字系统设计基础,第 13 章数字系统设计基础,数字系统的设计模型,数字系统的设计方法,数字系统的设计准则,数字系统的设计步骤,本章小结,数字系统设计举例,VHDL状态机,13.1数字系统的设计模型,数字系统指的是交互式的、以离散形式表示的,具有存储、传输、信息处理能力的逻辑子系统的集合。用于描述数字系统的模型有多种,各种模型描述数字系统的侧重点不同。图13.1介绍了一种普遍采用的模型。这种模型根据数字系统的定义,将整个系统划分为两个模块或两个子系统:数据处理子系统和控制子系统。,图13.1 数字系统的设计模型,数据处理子系统主要完成数据的采集、存储、运算和传输。,数据处理子系统主要由
2、存储器、运算器、数据选择器等功能电路组成。,数据处理子系统与外界进行数据交换,在控制子系统(或称控制器)发出的控制信号作用下,数据处理子系统将进行数据的存储和运算等操作。,控制子系统是执行数字系统算法的核心,具有记忆功能,因此控制子系统是时序系统。控制子系统由组合逻辑电路和触发器组成,与数据处理子系统共用时钟。,把数字系统划分为控制子系统和数据处理子系统两个主要部分,使设计者面对的电路规模减小,二者可以分别设计;,采用该模型的优点,由于数字系统中控制子系统的逻辑关系比较复杂,将其独立划分出来后,可突出设计重点和分散设计难点;,当数字系统划分为控制子系统和数据处理子系统后,逻辑分工清楚,各自的任
3、务。,13.2数字系统的设计方法,数字系统设计有多种方法,如模块设计法、自顶向下设计法和自底向上设计法等。数字系统的设计一般采用自顶向下、由粗到细、逐步求精的方法。,一、自底向上的设计方法,传统的电子设计流程通常是自底向上的,即首先确定构成系统的最底层的电路模块或元件的结构和功能,然后根据主系统的功能要求,将它们组合成更大的功能块,使它们的结构和功能满足高层系统的要求。以此流程,逐步向上递推,直至完成整个目标系统的设计。,系统测试与性能分析,完整系统,功能模块,基本元器件,缺点:1、设计过程依赖现有的通用元器件、手工及经验;2、设计后期的仿真和调试3、自下而上思想的局限性4、设计周期长、灵活性
4、差、效率低,传统电路设计方法:自下而上(Bottom-Up)的设计方法,二、自顶向下的设计方法,将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大,则还需将子系统进一步分解为更小的子系统和模快,层层分解,直至整个系统中各个子系统关系合理,并便于逻辑电路级的设计和实现为止。自上而下设计中可逐层描述,逐层仿真,保证满足系统指标。,自顶向下设计方法是一种模块化设计方法。对设计的描述从上到下逐步由粗略到详细,符合常规的逻辑思维习惯;,优点,针对具体的设计,实施自顶向下的设计方法的形式会有所不同,但均需遵循以下两条原则:逐层分解功能和分层次进行设计。同时,应在各个设计层次上,考虑相应的仿真验证
5、问题。,适合多个设计者同时进行设计。随着技术的不断进步,许多设计由一个设计者已无法完成,由多个设计者分工协作完成一项设计的情况越来越多;,13.3数字系统的设计准则,进行数字系统设计时,通常需要考虑多方面的条件和要求,如设计的功能和性能要求,元器件的资源分配和设计工具的可实现性,系统的开发费用和成本等。虽然具体设计的条件和要求千差万别,实现的方法也各不相同,但数字系统设计还是具备一些共同的方法和准则的。,一、分割准则,自顶向下的设计方法或其他层次化的设计方法,需要对系统功能进行分割,然后用逻辑语言进行描述。分割过程中,若分割过粗,则不易用逻辑语言表达;分割过细,则带来不必要的重复和繁琐。,二、
6、系统的可观测性,在系统设计中,应该同时考虑功能检查和性能的测试,即系统观测性的问题。一些有经验的设计者会自觉地在设计系统的同时设计观测电路,即观测器,指示系统内部的工作状态。,三、同步和异步电路,异步电路会造成较大延时和逻辑竞争,容易引起系统的不稳定,而同步电路则是按照统一的时钟工作,稳定性好。因此,在设计时应尽可能采用同步电路进行设计,避免使用异步电路。在必须使用异步电路时,应采取措施来避免竞争和增加稳定性。,四、最优化设计,由于可编程器件的逻辑资源、连接资源和I/O资源有限,器件的速度和性能也是有限的,用器件设计系统的过程相当于求最优解的过程,因此,需要给定两个约束条件:边界条件和最优化目
7、标。,五、系统设计的艺术,一个系统的设计,通常需要经过反复的修改、优化才能达到设计的要求。一个好的设计,应该满足“和谐”的基本特征,对数字系统可以根据以下几点做出判断:设计是否总体上流畅,无拖泥带水的感觉;资源分配、I/O分配是否合理,设计上和性能上是否有瓶颈,系统结构是否协调;是否具有良好的可观测性;是否易于修改和移植;器件的特点是否能得到充分的发挥。,数字系统设计中的第一步是明确系统的任务。在设计任务书中,可用各种方式提出对整个数字系统的逻辑要求,常用的方式有自然语言、逻辑流程图、时序图或几种方法的结合。当系统较大或逻辑关系较复杂时,系统任务(逻辑要求)逻辑的表述和理解都不是一件容易的工作
8、。所以,分析系统的任务必须细致、全面,不能有理解上的偏差和疏漏。,一、系统任务分析,13.4数字系统的设计步骤,二、确定逻辑算法,实现系统逻辑运算的方法称为逻辑算法,也简称为算法。一个数字系统的逻辑运算往往有多种算法,设计者的任务不但是要找出各种算法,还必须比较优劣,取长补短,从中确定最合理的一种。数字系统的算法是逻辑设计的基础,算法不同,则系统的结构也不同,算法的合理与否直接影响系统结构的合理性。确定算法是数字系统设计中最具创造性的一环,也是最难的一步。,三、建立系统及子系统模型,当算法明确后,应根据算法构造系统的硬件框架(也称为系统框图),将系统划分为若干个部分,各部分分别承担算法中不同的
9、逻辑操作功能。如果某一部分的规模仍嫌大,则需进一步划分。划分后的各个部分应逻辑功能清楚,规模大小合适,便于进行电路级的设计。,四、系统(或模块)逻辑描述,当系统中各个子系统(指最低层子系统)和模块的逻辑功能和结构确定后,则需采用比较规范的形式来描述系统的逻辑功能。设计方案的描述方法可以有多种,常用的有方框图、流程图和描述语言等。,对系统的逻辑描述可先采用较粗略的逻辑流程图,再将逻辑流程图逐步细化为详细逻辑流程图,最后将详细逻辑流程图表示成与硬件有对应关系的形式,为下一步的电路级设计提供依据。,五、逻辑电路级设计及系统仿真,电路级设计是指选择合理的器件和连接关系以实现系统逻辑要求。电路级设计的结
10、果常采用两种方式来表达:电路图方式和硬件描述语言方式。EDA软件允许以这两种方式输入,以便作后续的处理。,六、系统的物理实现,物理实现是指用实际的器件实现数字系统的设计,用仪表测量设计的电路是否符合设计要求。现在的数字系统往往采用大规模和超大规模集成电路,由于器件集成度高、导线密集,故一般在电路设计完成后即设计印刷电路板,在印刷电路板上组装电路进行测试。需要注意的是,印刷电路板本身的物理特性也会影响电路的逻辑关系。,13.5数字系统的设计举例,【例13.1】数字频率计的设计,1.方案构思:8位十进制数字频率计可以由一个测频控制信号发生器TESTCTL、八个有时钟使能的十进制计数器CNT10、一
11、个32位锁存器REG32B组成。,2.顶层电路的设计及VHDL实现:1)顶层电路逻辑图,图13.2 8位十进制数字频率计逻辑图,2)顶层的VHDL源程序LIBRARY IEEE;ENTITY FREQ IS PORT(FSIN:IN STD_LOGIC;CLK:IN STD_LOGIC;DOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END ENTITY FREQ;ARCHITECTURE ART OF FREQ IS,COMPONENT CNT10 IS-待调用的有时钟使能的十进制计数器端口定义 PORT(CLK,CLR,ENA:IN STD_LOGIC;CQ:
12、OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CARRY_OUT:OUT STD_LOGIC);END COMPONENT CNT10;COMPONENT REG32B IS-待调用的32位锁存器端口定义 COMPONENT TESTCTL IS-待调用的测频控制信号发生器端口定义,SIGNAL SE,SC,SL:STD_LOGIC;SIGNAL S1,S2,S3,S4,S5,S6,S7,S7,S8:STD_LOGIC;SIGNAL SD:STD_LOGIC_VECTOR(31 DOWNTO 0);BEGINU0:TESTCTL PORT MAP(CLK=CLK,TSTEN
13、=SE,CLR_CNT=SC,LOAD=SL);U1:CNT10 PORT MAP(CLK=FSIN,CLR=SC,ENA=SE,CQ=SD(3 DOWNTO 0),ARRY_OUT=S1);-名字关联,U2:CNT10 PORT MAP(CLK=S1,CLR=SC,ENA=SE,CQ=SD(7 DOWNTO 4),CARRY_OUT=S2);U3:CNT10 PORT MAP(S2,SC,SE,SD(11 DOWNTO 8),S3);-位置关联U4:CNT10 PORT MAP(S3,SC,SE,SD(15 DOWNTO 12),S4);U5:CNT10 PORT MAP(S4,SC,SE,
14、SD(19 DOWNTO 16),S5);U6:CNT10 PORT MAP(S5,SC,SE,SD(23 DOWNTO 20),S6);U7:CNT10 PORT MAP(S6,SC,SE,SD(27 DOWNTO 24),S7);U8:CNT10 PORT MAP(S7,SC,SE,SD(31 DOWNTO 28),S8);U9:REG32B PORT MAP(LOAD=SL,DIN=SD(31 DOWNTO 0),DOUT=DOUT);END ARCHITECTURE ART;,3.次级模块电路的分析与设计:1)32位锁存器REG32B的设计 设置锁存器的好处是,显示的数据稳定,不会由于
15、周期性的清零信号而不断闪烁。,2)32位锁存器的VHDL源程序LIBRARY IEEE;ENTITY REG32B IS PORT(LOAD:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(31 DOWNTO 0);DOUT:OUT STD_LOGEC_VECTOR(31 DOWNTO 0);END ENTITY REG32B;,ARCHITECTURE ART OF REG32B IS BEGINPROCESS(LOAD,DIN)ISBEGINIF LOAD EVENT AND LOAD=1 THEN DOUT=DIN;-锁存输入数据 END IF;END PROC
16、ESS;END ARCHITECTURE ART;,3)十进制计数器CNT10的设计 此十进制计数器的特殊之处是,有一时钟使能输入端ENA,用于锁定计数值。当高电平时计数允许,低电平时计数禁止。,4)十进制计数器CNT10的VHDL源程序LIBRARY IEEE;ENTITY CNT10 IS PORT(CLK:IN STD_LOGIC;-计数时钟信号 CLR:IN STD_LOGIC;-清零信号 ENA:IN STD_LOGIC;-计数使能信号 CQ:OUT INTEGER RANGE 0 TO 15;-4位计数结果输出 CARRY_OUT:OUT STD_LOGIC);-计数进位,END
17、ENTITY CNT10;ARCHITECTURE ART OF CNT10 IS SIGNAL CQI:INTEGER RANGE 0 TO 15;BEGINPROCESS(CLK,CLR,ENA)ISBEGINIF CLR=1 THEN CQI=0;-计数器异步清零ELSIF CLKEVENT AND CLK=1 THEN IF ENA=1 THEN,IF CQI9 THEN CQI=CQI+1;ELSE CQI=0;END IF-等于9,则计数器清零 END IF;END IF;END PROCESS;PROCESS(CQI)IS BEGIN IF CQI=9 THEN CARRY_OU
18、T=1;-进位输出 ELSE CARRY_OUT=0;END IF;END PROCESS;CQ=CQI;END ARCHITECTURE ART;,4、测频控制信号发生器设计 频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。测频控制信号发生器的工作时序如图13.3所示。为了产生这个时序图,需首先建立一个由D触发器构成的二分频器,在每次时钟CLK上沿到来时其值翻转。,图13.3 测频控制信号发生器工作时序,测频控制信号发生器的源程序LIBRARY IEEE;ENTITY TESTCTL IS PORT(CLK:IN STD_LOGIC;-1 Hz测频控制时钟 TSTEN:OUT STD_L
19、OGIC;-计数器时钟使能 CLR_CNT:OUT STD_LOGIC;-计数器清零 LOAD:OUT STD_LOGIC);-输出锁存信号,END ENTITY TESTCTL;ARCHITECTURE ART OF TESTCTL IS SIGNAL DIV2CLK:STD_LOGIC;BEGINPROCESS(CLK)IS BEGINIF CLKEVENT AND CLK=1 THEN-1 HZ时钟二分频DIV2CLK=NOT DIV2CLK;END IF;,END PROCESS;PROCESS(CLK,DIV2CLK)ISBEGIN IF CLK=0 AND DIV2CLK=0 TH
20、EN-产生计数器清零信号 CLR_CNT=1;ELSE CLR_CNT=0;END IF;END PROCESS;LOAD=NOT DIV2CLK;TSTEN=DIV2CLK;END ARCHITECTURE ART;,13.6VHDL状态机,状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点;,优势,由于状态机的结构相对简单,设计方案相对固定,容易构成性能良好的同步时序逻辑模块;,在高速运算和控制方面,状态机更有其巨大的优势;,高可靠性。,与VHDL的其他描述方式相比,状态机的VHDL表述丰富多样、程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植方面也有其独到的好处;,一、状态机设计
21、相关语句,TYPE 数据类型名 IS 数据类型定义 OF 基本数据类型;TYPE 数据类型名 IS 数据类型定义;,TYPE st1 IS ARRAY(0 TO 15)OF STD_LOGIC;TYPE week IS(sun,mon,tue,wed,thu,fri,sat);,TYPE m_state IS(st0,st1,st2,st3,st4,st5);SIGNAL present_state,next_state:m_state;,1、类型定义语句,(1).说明部分,ARCHITECTURE.IS TYPE FSM_ST IS(s0,s1,s2,s3);SIGNAL current_s
22、tate,next_state:FSM_ST;.,2、状态机结构,(2).主控时序进程,图13.4 一般状态机结构框图,2、状态机结构,(3).主控组合进程,(4).辅助进程,2、状态机结构,【例13.2】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY s_machine IS PORT(clk,reset:IN STD_LOGIC;state_inputs:IN STD_LOGIC_VECTOR(0 TO 1);comb_outputs:OUT INTEGER RANGE 0 TO 15);END s_machine;ARCHITECTURE
23、behv OF s_machine IS TYPE FSM_ST IS(s0,s1,s2,s3);-数据类型定义,状态符号化 SIGNAL current_state,next_state:FSM_ST;-将现态和次态定义为新的数据类型BEGIN REG:PROCESS(reset,clk)-主控时序进程 BEGIN IF reset=1 THEN current_state=s0;-检测异步复位信号 ELSIF clk=1 AND clkEVENT THEN current_state=next_state;END IF;END PROCESS;COM:PROCESS(current_sta
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 系统 设计 基础
链接地址:https://www.31ppt.com/p-4980090.html