收藏 分销(赏)

数字电路系统的设计方法.ppt

上传人:快乐****生活 文档编号:10801092 上传时间:2025-06-16 格式:PPT 页数:50 大小:2.21MB 下载积分:14 金币
下载 相关 举报
数字电路系统的设计方法.ppt_第1页
第1页 / 共50页
数字电路系统的设计方法.ppt_第2页
第2页 / 共50页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数字电路系统的设计方法,有限状态机的设计,为什么要使用状态机?,克服了纯硬件数字系统顺序方式控制不灵活的缺点;,结构模式相对简单;,容易构成性能良好的同步时序逻辑模块;,VHDL,表述丰富多样;,在高速运算和控制方面有巨大的优势;,就可靠性而言,优势十分明显。,有限状态机的设计,有限状态机是广义的时序电路,主要功能是用来实现数字系统中的控制单元。,有限状态机的两种类型,Moore,型有限状态机,:输出信号仅与当前状态有关。,Mealy,型有限状态机,:,输出信号不仅与当前状态有关,还与所有的输入信号有关。,两种有限状态机在,VHDL,描述上的差别较小。,有限状态机,VHDL,描述的内容,1,、至少包括一个,状态信号,,用来指定有限状态机的状态;,2,、,状态转移指定,和,输出指定,,对应于控制单元中与每个控制步有关的转移条件;,3,、,时钟信号,,用来进行,同步,;,4,、同步或异步复位信号。,一个实用的有限状态机必须有复位信号。,有限状态机的三种描述方式,描述方式,进程描述的功能,三进程描述方式,进程,1,:描述次态逻辑,进程,2,:描述状态寄存器,进程,3,:描述输出逻辑,双进程描述方式,形式,1,进程,1,:描述次态逻辑、输出逻辑,进程,2,:描述状态寄存器,形式,2,进程,1,:描述次态逻辑、状态寄存器,进程,2,:描述输出逻辑,形式,3,进程,1,:描述状态寄存器、输出逻辑,进程,2,:描述次态逻辑,单进程描述方式,进程,1,:描述次态逻辑、状态寄存器和输出逻辑,红色字体为,常用描述方式,例,1,、三进程方式描述状态机,LIBRARY IEEE;,USE IEEE.STD_LOGIC_1164.ALL;,ENTITY traffic1 IS,PORT(clk,tg,ty:INSTD_LOGIC;,lights:OUTSTD_LOGIC_VECTOR(5 DOWNTO 0);,END traffic1;,ARCHITECTURE a OF traffic1 IS,TYPE STATE_TYPE IS,(,green,_,red,yellow,_,red,red,_,green,red,_,yellow,);,SIGNAL present_state,next_state:STATE_TYPE;,BEGIN,定义状态类型,定义状态信号,PROCESS(present_state,tg,ty),BEGIN,CASE present_state IS,WHEN,green,_,red,=IF tg=0 THEN,next_state=,yellow,_,red,;,ELSE next_state IF ty=0 THEN,next_state=,red,_,green,;,ELSE next_state IF tg=0 THEN,next_state=,red,_,yellow,;,ELSE next_state IF ty=0 THEN,next_state=,green,_,red,;,ELSE next_state=,red,_,yellow,;END IF;,END CASE;,END PROCESS;,描述次态逻辑,以当前状态和输入信号为敏感信号,PROCESS(clk),BEGIN,IF clkEVENT AND clk=1 THEN,present_statelightslightslightslights=00,1,0,1,0;,END CASE;,END PROCESS;,END a;,以当前状态为敏感信号,仿真波形图,Green,_,red,Yellow,_,red,Red,_,green,Red,_yellow,Green,_,red,数字系统的设计方法,数字系统,:,由若干,数字电路,和,逻辑部件,构成的能够,处理、传递,数字信息的设备,数据处理器,:完成,数字量,运算处理,是功能部件,控制器,:使各子系统或部件按规定工作,输入输出接口,:完成,数字量,和,其它量,之间的转化,子系统,输入控,制信号,输出控,制信号,信息,输入,输出,信息,控 制 器,输出,接口,输出,接口,输入,接口,输入,接口,子系统,子系统,时钟,数据处理器,数字系统的设计方法,传统的设计方法:,纯硬件电路逻辑设计,经常采用试凑法,门电路、触发器和中规模集成电路,所用的元器件较多,出问题几率较高,可,靠性较差,所设计电路需反复调试,比较适合小规模,数字系统,随电路规模和复杂程度的增加,!,现代的设计方法:,硬件逻辑设计、软件逻辑设计及兼有两者优点的集成电路,ASIC,设计。,强调系统性、清晰性和可靠性,将系统层层划分为较简单部件的,TOP-DOWN,方法,要求设计者:对设计对象整体考虑,反复推敲,全面消化理解;,TOP-DOWN,(自顶向下)方法,第一步:系统的描述,第二步:划分功能模块,第三步:选择器件,第四步:设计实现,每一步的修改和重复不可避免,数字系统的设计方法,1,、分析任务,确定实体的端口;,2,、系统分解,确定实体内部构成框图;,3,、确定实体内部的节点信号;,4,、选择,VHDL,描述模式或图形输入法,,进行系统实现;,5,、进行系统的综合、优化及仿真;,6,、系统测试。,cp,rst,seg7(6),seg7(0),例:实现十进制加法计数器的,7,段数码显示,分,频,器,计,数,器,译,码,器,clk,count(3),count(2),count(1),count(0),LIBRARY IEEE;,USE IEEE.STD_LOGIC_1164.ALL;,USE IEEE.STD_LOGIC_UNSIGNED.ALL;,ENTITY display1 IS,PORT(cp,rst:IN STD_LOGIC;,seg7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);,END display1;,ARCHITECTURE a OF display1 IS,SIGNAL clk:STD_LOGIC;,SIGNAL tout:INTEGER range 0 to 9;,SIGNAL count:STD_LOGIC_VECTOR(3 DOWNTO 0);,BEGIN,P_1:PROCESS(cp),BEGIN,IF (cpEVENT and cp=1)THEN,IF tout=9 THEN,tout=0;,ELSE,tout=tout+1;,方,法,一,分频模块,降低分频比以便仿真,END IF;,IF tout=4 THEN,clk=0;,ELSE,clk=1;,END IF;,END IF;,END PROCESS;,P_2:PROCESS(clk,rst),BEGIN,IF rst=1 THEN,count=1001 THEN,count=0000;,ELSE,count seg7 seg7 seg7 seg7 seg7 seg7 seg7 seg7 seg7 seg7 NULL;-ZZZZZZZ,END CASE;,END PROCESS;,END a;,译码模块,LIBRARY IEEE;,USE IEEE.STD_LOGIC_1164.ALL;,ENTITY,fenpin,IS,PORT(cp:IN STD_LOGIC;,clk:OUT STD_LOGIC);,END fenpin;,ARCHITECTURE a OF fenpin IS,SIGNAL tout:INTEGER range 0 to 9;,BEGIN,PROCESS(cp),BEGIN,IF (cpEVENT and cp=1)THEN,IF tout=9 THEN tout=0;,ELSE tout=tout+1;,END IF;,IF tout=4 THEN clk=0;,ELSE clk=1;,END IF;,END IF;,END PROCESS;,END a;,方,法,二,底层:分频器,LIBRARY IEEE;,USE IEEE.STD_LOGIC_1164.ALL;,USE IEEE.STD_LOGIC_UNSIGNED.ALL;,ENTITY,counter,IS,PORT(clk,rst:IN STD_LOGIC;,q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);,END counter;,ARCHITECTURE a OF counter IS,SIGNAL count:STD_LOGIC_VECTOR(3 DOWNTO 0);,BEGIN,PROCESS(clk,rst),BEGIN,IF rst=1 THEN count=1001 THEN count=0000;,ELSE count=count+1;,END IF;,END IF;,END PROCESS;,q seg7 seg7 seg7 seg7 seg7 seg7 seg7 seg7 seg7 seg7 NULL;,END CASE;,END PROCESS;,END a;,底层:译码器,LIBRARY IEEE;,USE IEEE.STD_LOGIC_1164.ALL;,ENTITY,display2,IS,PORT(cp,rst:IN STD_LOGIC;,seg7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);,END display2;,ARCHITECTURE a OF display2 IS,COMPONENT fenpin,PORT(cp:IN STD_LOGIC;,clk:OUTSTD_LOGIC);,END COMPONENT;,COMPONENT counter,PORT(clk,rst:IN STD_LOGIC;,q:OUTSTD_LOGIC_VECTOR(3 DOWNTO 0);,END COMPONENT;,COMPONENT segment,PORT(count:IN STD_LOGIC_VECTOR(3 DOWNTO 0);,seg7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);,END COMPONENT;,SIGNAL clk:STD_LOGIC;,SIGNAL count:STD_LOGIC_VECTOR(3 DOWNTO 0);,顶层文件,BEGIN,u0:fenpin,PORT MAP,(cp=cp,clk=clk);,u1:counter,PORT MAP,(clk=clk,rst=rst,q=count);,u2:segment,PORT MAP,(count=count,seg7=seg7);,END a;,建立顶层原理图文件,方法三:,27,例,1,:两人乒乓游戏机,以,8,个发光二极管代表乒乓球台,中间两个发光管兼作球网。用发光管按一定的方向依次闪亮来表示球的运动,在游戏机两侧各设发球,/,击球开关,S,A,和,S,B,,当甲方发球时,靠近甲方的第一个发光管亮,然后依次点亮第二个,球向乙方移动,球过网后到达设计者的规定的球位乙方即可击球,若乙方提前击球或未击到球,则甲方得分。然后重新发球进行比赛,直到某一方记分达到规定分,记分清零,重开一局比赛。,28,两人乒乓游戏机结构框图,29,数字系统的描述方法(一),方框图,可详细描述数字系统的总体结构,直观易懂,每一个方框定义一个信息处理、存储或传送的子系统,在方框内用文字、表达式、通用符号或图形来表示该子系统的名称或主要功能,方框之间用带箭头的直线相连,表示各个子系统之间数据流或控制流的信息通道,箭头指示了信息传送的方向,30,两人乒乓游戏机逻辑划分方框图,分频器,球台,控制器,译码显示器,记分器,S,A,S,B,CP,m,S,C,STOP,CNT,Cr,31,数字系统的描述方法(二),定时图,(时序图或时间关系图),用来定时地描述系统各模块之间、模块内部各功能组件之间以及组件内部各门电路或触发器之间输入信号、输出信号和控制信号的对应时序关系和特征(信号是电平还是脉冲,是同步信号还是异步信号等)。,32,数字系统的描述方法(三),ASM,(,Algorithmic State Machine,)图(算法状态机图、逻辑流程图),用特定的几何图形、指向线和简练的文字说明,描述数字系统对信息的处理过程,以及控制单元所提供的控制步骤,以便于设计者发现和改进信息处理过程中的错误和不足,同时又是后续电路设计的依据,与通常的软件设计中的流程图相似,但它表示事件的精确时间间隔序列,而一般的流程图只表示事件序列,没有时间概念,33,ASM,图的基本符号,状态名或,功能说明,状 态,输出表,入口,出口,(,A,)状态框,功能说明,入口,出口,条 件,输出表,(,C,)条件输出框,条件,入口,条件真出口,条件假出口,(,B,)条件判别框,NO,YES,34,启动,等待发球,甲发球?,乙发球?,靠近甲的,L1,灯亮,靠近乙的,L8,灯亮,球向乙移动,球向甲移动,乙击球?,甲击球?,球移动到,L7,?,球移动到,L2,?,结束,胜方得分,Yes,Yes,Yes,Yes,Yes,Yes,No,No,No,No,No,No,两人乒乓游戏机的,ASM,图,35,数字系统的描述方法(四),MDS,(,Mnemonic Documented State,)图,MDS,图是设计数字系统控制器的一种简洁方法,它类似于状态转换图,可以由详细流程图转换而来。,MDS,图中用一个圆圈表示一个状态,状态名标注在圆圈内,圆圈外的符号或逻辑表达式表示输出,用定向线表示状态转换方向,定向线旁的符号或逻辑表达式表示转换条件。,36,Wait,Light1,Light8,MoveB,MoveA,End,S,A,S,B,S,A,S,B,S,A,S,B,S,A,S,B,L,7,S,A,L,2,S,A,L,2,S,B,L,7,两人乒乓游戏机的,MDS,图,发光二极管与发光点阵,每个点都是一个发光二极管,发光二极管与发光点阵,材料:特殊材料,常用材料为,磷砷化镓,(发光效率比较高)。,特点:,工作电压小,(,1.82V,),体积小,可靠性高,色彩丰富,,响应时间小,(,0.1us,),亮度高,,寿命长,,可达,10,6,小时。,缺点:,工作电流较大,(,5mA10mA,),,1mA,开始发光,I,LED,越大,,,亮度越大,,现在有省电型的发光管,但价格比一般发光管贵许多;,发光二极管与发光点阵,+3V,限流保护电阻,100300,欧左右,1,1,发光二极管与发光点阵,1,0 1 1 1 1 1 1 1,1 1 0 1 0 1 1 1,发光二极管与发光点阵,01111110,1 1 0 1 1 1 1 1,1 1 1 0 1 1 1 1,1 1 1 1 0 1 1 1,1 1 1 1 1 0 1 1,当行、列信号交替变化达到一定的频率时,点阵上稳定显示,0,。,01000010,01000010,01111110,发光二极管与发光点阵,01000000,1 1 0 0 0 0 1 1,1 1 0 1 1 0 1 1,1 1 0 1 1 0 1 1,1 1 0 1 1 0 1 1,1 1 0 1 1 0 1 1,1 1 0 0 0 0 1 1,当行、列信号交替变化达到一定的频率时,点阵上稳定显示,0,。,00100000,00010000,00001000,00000100,00000010,常见实验问题,1,、变量与信号的区别,变量只在定义它的进程中可见,若要在进程之间传递信息,应使用信号而不能用变量。,常见实验问题,2,、编译错误提示,missing source,A,、定义了输出端口却从未给其赋值;,B,、不完整的,IF,语句导致此错误;,常见实验问题,3,、编译错误提示,multiple source,原因,:在两个或多个进程中对同一个信号赋值。,解决,:需要两个信号,在各自的进程中进行读写操作,同时对另一个信号的情况进行判断。,ERROR:Signal“s”has multiple sources,常见实验问题,4,、,在组合逻辑进程中,其,敏感向量表,中要包含所有要读取的信号;,这是为了防止出现不必要的锁存器。,5,、,避免使用长的,if-then-else,语句,而使用,case,语句来代替;,防止出现较大的优先编码器,使得代码比较容易读懂。,常见实验问题,6,、初值问题,初值只具有仿真意义,,没有实际意义,不能用初值来实现对系统的复位。,复位必须用一个按键来实现。,常见实验问题,6,、进程的执行由敏感量的变化来启动,其执行的频率由敏感量的变化快慢决定。,硬件描述语言的进程不能被调用,它是按照其敏感量的变化而执行。所以我们只能通过控制其敏感量的变化快慢来控制其执行的频率。,系统设计的描述方法,参考书,P100107,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服