《第五章典型电路设计》由会员分享,可在线阅读,更多相关《第五章典型电路设计(56页珍藏版)》请在金锄头文库上搜索。
1、第五章第五章 典型电路设计典型电路设计5.1 数字系统的设计方法数字系统的设计方法5.2 有限状态机的设计有限状态机的设计斗扇进症烛勺角呸鱼呢始任胁概龄肋珊枢璃诫访辛儿侧怒滤凉乞犬券套歉第五章典型电路设计第五章典型电路设计5.1.1 数字系统的组成数字系统的组成数字系统分为两个部分数字处理器和控制器控制器:负责规定算法的步骤,在每一个计算步骤给数据处理器发出命令信号,同时接收来自数字处理器的状态变量,确定下一个计算步骤,以确保算法按正确的次序实现。数字处理器:由寄存器和组合电路组成。寄存器用于短暂存储信息,组合电路实现对数据的加工和处理。咙乍悟胳句澜禄简狄呀狐改剃步鲁操现映褒锗赞冲液苛宴俺秃姿
2、握军绪桨第五章典型电路设计第五章典型电路设计5.1.2 5.1.2 数字系统的设计方法数字系统的设计方法自顶向下法自顶向下法自顶向下(toptodown)法是一种从抽象定义到具体的实现,从高层次到低层次逐步求精的分层次、分模块的设计方法,它是数字系统设计中最常用的设计方法之一。该设计方法的具体实施过程是:l首先根据系统的总体功能要求,进行系统级设计;l然后按照一定的标准将整个系统划分成若干个子系统;l接着将各个子系统划分为若干功能模块,针对各模块进行逻辑电路级设计。 伸孽揩耶缺口椅派裤落厄已侨了鳃隐鉴偿蜗帚芋钦幽群兵仟淋族铡见是泡第五章典型电路设计第五章典型电路设计5.1.3 5.1.3 数字
3、系统的设计过程数字系统的设计过程数字系统设计分为系统级设计和逻辑级设计两个阶段。系统级设计:u在详细了解设计任务的基础上,确定顶层系统的方案 ;u描述系统功能,设计算法(MDS图、ASM图);逻辑级设计:l根据算法选择电路结构;l设计验证(仿真、测试)和设计实现;(EDA软件)寂基课梭丸鸭壕纱斜泪鹃漆站寸贰蔽晋合尺以恒踞锈泌惊滴嘴灰眼专绝随第五章典型电路设计第五章典型电路设计5.1.4 5.1.4 数字系统的描述方法(数字系统的描述方法( MDS MDS图)图)备有记忆文档的状态图备有记忆文档的状态图(MDS)备有记忆文档的状态图MDS(Memonic Documented MDS(Memon
4、ic Documented Diagrams)Diagrams),又称为助记状态图。它是1980年由美国人WilliamFletcher提出的一种系统设计方法。MDS图可以描述出整个数字系统的逻辑关系,并且与硬件有良好的对应关系。MDS图可以清楚地反映出所要设计部分的电路应提供的状态数、各个状态之间的转换必须符合的条件以及在状态转换时需要哪些输入信号、何时产生输出信号、输出信号的输出方式等,以便设计者依照MDS图方便地设计出符合数字系统要求的逻辑电路。汤湛箔弹俭赁莉痈行咯艺男叔侍赎房摆痔捅品筑东累袋玩厚炮盈咽衫锣靡第五章典型电路设计第五章典型电路设计5.1.4 5.1.4 数字系统的描述方法(
5、数字系统的描述方法( MDS MDS图)图)1、MDS图的表示方法uMDS图用圆圈表示状态,圆圈内的符号表示状态名称,圆圈外的符号或者逻辑表达式表示输出uMDS图用定向线表示状态转换方向,定向线旁的符号或者逻辑表达式表示状态转换条件。霜伸尤能债打科肠柔跳睦掀皖山哦渭妮谰志晨管云芒问矩剃衷奥椒钵洗翠第五章典型电路设计第五章典型电路设计2、MDS图的常用符号及含义匡炬珠辰绕梭烂糟辈狰狞禁颧租埂牛挪稗剩仑娜氛耶整铰摆罕盖闷歹狭操第五章典型电路设计第五章典型电路设计亦蕉礁并搪扩祥赐担吏左温鬃豆灾邪咀吮镶权肌遇维儒惠伍毡腮轧哄畴串第五章典型电路设计第五章典型电路设计例:利用例:利用MDSMDS图设计一个
6、汽车尾灯控制电路。图设计一个汽车尾灯控制电路。其中其中: :(1 1)RCRC为右灯亮控制输入,为右灯亮控制输入,LCLC为左灯控制输入,为左灯控制输入,RLCRLC为左右灯同时亮输入;为左右灯同时亮输入;(2 2)RDRD为右灯亮输出,为右灯亮输出,LDLD为左灯亮输出;为左灯亮输出;(3 3)CPCP为状态时钟输入。为状态时钟输入。聘偷厨耸揽驱瘪锐吧趾肖赋昼红馏孜渔拘颗拭挚聚芹驭颗踢酗窖庇嚎鼠仔第五章典型电路设计第五章典型电路设计设计步骤:设计步骤:(1)设计分析和状态编码,状态表)设计分析和状态编码,状态表输入输入 LC RC LRC LC RC LRC 输输 出出LD RDLD RD说
7、说 明明状状 态态 0 0 0 0 0 0 0 0 0 0左右灯灭左右灯灭A A 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 1 0 0 1 0 1 1 1 1 1 左灯亮左灯亮右灯亮右灯亮左右灯亮左右灯亮B BC CD D 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 左右灯亮左右灯亮D DD D 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1错误控制错误控制D DD D溅臣锚论腺纪速壤训捆毒甩筐买道台筋灰袍萍摘拥朋焉征率螟浚兢虞少盟第五章典型电路设计第五章典型电路设计设计步骤:设计步骤:(
8、2)汽车尾灯控制的)汽车尾灯控制的MDS图图A AB BD DC CLDRDLDRD臃雕姬卸色郸镣乓挨沾液瞧粮缎眺士鞘技妄瘩锤厦锌若拿韶驶芹慑括越腻第五章典型电路设计第五章典型电路设计设计步骤:设计步骤:(3)汽车尾灯控制的)汽车尾灯控制的VHDL设计设计LIBRARY IEEELIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_1164.ALL;ENTITY qcwd ISENTITY qcwd ISPORT( CP: PORT( CP: ININ STD_LOGIC; STD_LOGIC; LC,RC,LRC: LC,RC
9、,LRC:ININ STD_LOGIC; STD_LOGIC; LD,RD: LD,RD: OUTOUT STD_LOGIC); STD_LOGIC);END qcwd;END qcwd;ARCHITECTURE a OF wcwd ISARCHITECTURE a OF wcwd IS TYPE STATE IS (A,B,C,D); TYPE STATE IS (A,B,C,D);BEGINBEGIN岭慢斗息渊弛露谦珊桌花示砚省皮枕艇闸役凸芹守俘肚到凛集撩弹邓顷留第五章典型电路设计第五章典型电路设计PROCESS(CP)PROCESS(CP)VARIABLE pstate : STATE;
10、VARIABLE pstate : STATE;BEGINBEGINCASE CASE pstate IS IS WHEN A=WHEN A= IF (NOT LC) AND (NOT RC) AND (NOT LRC)= IF (NOT LC) AND (NOT RC) AND (NOT LRC)=1 1) ) THENTHENpstate:=A;pstate:=A;LD=LD=0 0;RD=;RD=0 0; ; ELSIF ( LC AND (NOT RC) AND (NOT LRC)=ELSIF ( LC AND (NOT RC) AND (NOT LRC)=1 1) THEN) THE
11、Npstate:=B;pstate:=B;LD=LD=1 1;RD=;RD=0 0; ; ELSIF (NOT LC) AND RC AND (NOT LRC)= ELSIF (NOT LC) AND RC AND (NOT LRC)=1 1) THEN) THENpstate:=C;pstate:=C;LD=LD=0 0;RD=;RD=1 1; ; ELSIF ( LRC OR ( LC AND RC ) = ELSIF ( LRC OR ( LC AND RC ) =1 1) THEN) THENpstate:=D;pstate:=D;LD=LD=1 1;RD=;RDWHEN B= IF
12、(NOT LC) AND (NOT RC) AND (NOT LRC)= IF (NOT LC) AND (NOT RC) AND (NOT LRC)=1 1) ) THENTHENpstate:=A;pstate:=A;LD=LD=0 0;RD=;RD=0 0; ; ELSE ELSEpstate:=B;pstate:=B;LD=LD=1 1;RD=;RDWHEN C= IF (NOT LC) AND (NOT RC) AND (NOT LRC)= IF (NOT LC) AND (NOT RC) AND (NOT LRC)=1 1) ) THENTHENpstate:=A;pstate:=
13、A;LD=LD=0 0;RD=;RD=0 0; ; ELSE ELSEpstate:=C;pstate:=C;LD=LD=0 0;RD=;RDWHEN D= IF (NOT LC) AND (NOT RC) AND (NOT LRC)= IF (NOT LC) AND (NOT RC) AND (NOT LRC)=1 1) ) THENTHENpstate:=A;pstate:=A;LD=LD=0 0;RD=;RD=0 0; ; ELSE ELSEpstate:=D;pstate:=D;LD=LD=1 1;RD=;RD IF C= IF C=1 1 THEN pstate:=S1;GLED=
14、THEN pstate:=S1;GLED=1 1; ;ELSE pstate:=S2; YLED=ELSE pstate:=S2; YLED=1 1; ; END IF; RLED= END IF; RLED IF C= IF C=1 1 THEN pstate:=S2; YLED= THEN pstate:=S2; YLED=1 1; ;ELSE pstate:=S0; RLED=ELSE pstate:=S0; RLED=1 1; ; END IF; GLED= END IF; GLED IF C= IF C=1 1 THEN pstate:=S0; RLED= THEN pstate:=
15、S0; RLED=1 1; ;ELSE pstate:=S1; GLED=ELSE pstate:=S1; GLED=1 1; ; END IF; YLED= END IF; YLEDWHEN A= IF ( LC OR RC OR LRC )= IF ( LC OR RC OR LRC )=0 0) THEN) THENpstate:=A;pstate:=A;LD=LD=0 0;RD=;RD=0 0; ; ELSIF ( LC AND RC ) =ELSIF ( LC AND RC ) =1 1) THEN) THENpstate:=D;pstate:=D;LD=LD=1 1;RD=;RD=
16、1 1; ; ELSIF ( LRC = ELSIF ( LRC =1 1) THEN) THENpstate:=D;pstate:=D;LD=LD=1 1;RD=;RD=1 1; ; ELSIF ( LC = ELSIF ( LC =1 1 ) THEN ) THENpstate:=B;pstate:=B;LD=LD=1 1;RD=;RD=0 0; ; ELSE ELSE pstate:=C;pstate:=C;LD=LD=0 0;RD=;RDWHEN B= IF ( LC OR RC OR LRC )= IF ( LC OR RC OR LRC )=1 1) THEN) THENpstat
17、e:=B;pstate:=B;LD=LD=1 1;RD=;RD=0 0; ; ELSE ELSEpstate:=A;pstate:=A;LD=LD=0 0;RD=;RDWHEN C= IF ( LC OR RC OR LRC )= IF ( LC OR RC OR LRC )=1 1) THEN) THENpstate:=C;pstate:=C;LD=LD=0 0;RD=;RD=1 1; ; ELSE ELSEpstate:=A;pstate:=A;LD=LD=0 0;RD=;RDWHEN D= IF ( LC OR RC OR LRC )= IF ( LC OR RC OR LRC )=1
18、1) THEN) THENpstate:=D;pstate:=D;LD=LD=1 1;RD=;RD=1 1; ; ELSE ELSEpstate:=A;pstate:=A;LD=LD=0 0;RD=;RD IF data=1 THEN pstate=S1; ELSE pstate IF data=1 THEN pstate=S2; ELSE pstate IF data=0 THEN pstate=S3; ELSE pstate IF data=1 THEN pstate=S4; ELSE pstate IF data=1 THEN pstate=S1; ELSE pstate=S0; END
19、 IF; END CASE; END IF; END PROCESS; zo=1 WHEN pstate=s4 ELSE 0; END a; 定义状态机定义状态机输出信号描述输出信号描述状态转移描述状态转移描述期禁迁灿帜泄炉含臃踌茹雾唾既赌抢棚踊枉卜迪遏憋验秽株恭尿已羹屋咀第五章典型电路设计第五章典型电路设计仿仿 真真 波波 形形贤哇稽奎娥双朋熙卧次理程饥恋栓梦簇匙创美积绕壳烬涂复聂尔亢己虐花第五章典型电路设计第五章典型电路设计练习:练习:位于十字路口的交通灯,在位于十字路口的交通灯,在A A方向和方向和B B方向方向各有红、黄、绿三盏灯,每各有红、黄、绿三盏灯,每1010秒变换一次。变换秒变
20、换一次。变换顺序如下表:顺序如下表:A方向方向B方向方向绿绿红红黄黄红红红红绿绿红红黄黄境柞纬险搽飞糕出耸履一侄拉凤缘犀桃辈琅刚倪靛随吾放仟缩俯硅妮作绅第五章典型电路设计第五章典型电路设计交通灯的全部状态及输出:交通灯的全部状态及输出:状态状态A方向方向(红绿黄)(红绿黄)B方向方向(红绿黄)(红绿黄)状态状态A方向方向(红绿黄)(红绿黄)B方向方向(红绿黄)(红绿黄)S00 1 01 0 0S10 0 11 0 0S21 0 00 1 0S31 0 00 0 1皑锑属眉滚页捣裴狙梢舍理践洲抑普敖挖皑敖蛹译保政革何浆妇述句震吝第五章典型电路设计第五章典型电路设计 画出状态转移图画出状态转移图:
21、 : S0010100S1001100S3100001S2100010浇娥镍始每闪衍魏做粒绩铬橙脂探骏页羚要眉饵住抿芒氮帖榔竞彻惟衷浅第五章典型电路设计第五章典型电路设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY jtd IS PORT( clk:IN STD_LOGIC;ZO:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END jtd; 实体设计实体设计兆密罚栗卯铱车蓝争字乔伤驯寿脚桔侩谗狂勋祟霉扭恶乙叮讫扔眨孝卷农第五章典型电路设计第五章典型电路设计 ZO pstate pstate pstate pstate IF
22、 data=1 THEN pstate=S1; ELSE pstate=S0; END IF; zo IF data=1 THEN pstate=S2; ELSE pstate=S0; END IF; zo IF data=1 THEN pstate=S2; ELSE pstate=S3; END IF; zo IF data=1 THEN pstate=S4; zo=1; ELSE pstate=S0; zo IF data=1 THEN pstate=S1; ELSE pstate=S0; END IF; zo=0; END CASE; END IF; END PROCESS;END a; Mealy型型状态机描述状态机描述混疆邑末杠痉昌神卖凝斑痹缅觉钒裔榆绦雌旧派厄血版萧险扯价侮虱官鹰第五章典型电路设计第五章典型电路设计