设计举例.ppt

上传人:hyn****60 文档编号:70986304 上传时间:2023-01-31 格式:PPT 页数:50 大小:964KB
返回 下载 相关 举报
设计举例.ppt_第1页
第1页 / 共50页
设计举例.ppt_第2页
第2页 / 共50页
点击查看更多>>
资源描述

《设计举例.ppt》由会员分享,可在线阅读,更多相关《设计举例.ppt(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、本科生课程:本科生课程:0707春春第讲Lecture 11数字系统设计电信学院电信学院 信通系信通系雷鸣雷鸣 83208095 设计举例和设计方法设计举例和设计方法状态机状态机标准状态机分为摩尔(Moore)状态机和米勒(Mealy)状态机两类。Moore状态机的输出仅与当前状态值有关,且只在时钟边沿到来时才会有状态变化。Mealy状态机的输出不仅与当前状态值有关,而且与当前输入值有关,这一特点使其控制和输出更加灵活,但同时也增加了设计复杂程度。其原理如下图所示。.组合逻辑组合逻辑状态状态寄存寄存组合逻辑组合逻辑输入输入输出输出Mealy State Machineclock组合逻辑组合逻辑

2、状态状态寄存寄存组合逻辑组合逻辑输出输出Moore State Machineclock输入输入摩尔状态机状态图米勒状态机状态图S10状态名称状态名称处于该状处于该状态的输出态的输出导致该状导致该状态转换的态转换的输入信号输入信号S1状态名称状态名称/0/0导致该状导致该状态转换的态转换的输入和输输入和输出出例摩尔状态机例摩尔状态机state0/00State1/10State3/10State2/11State4/11id=3id=其它id=其它id=7id=7id=9id=其它id=bid=其它rst=1 rst=1 rst=1 rst=1 上电rst=1-Moore State Mach

3、ine-dowload from:&library ieee;use ieee.std_logic_1164.all;entity moore2 is port(clk,rst:in std_logic;id:in std_logic_vector(3 downto 0);y:out std_logic_vector(1 downto 0);end moore2;architecture archmoore2 of moore2 is signal state:std_logic_vector(2 downto 0);-State assignment is such that 2 LSBs

4、are outputs constant state0:std_logic_vector(2 downto 0):=000;constant state1:std_logic_vector(2 downto 0):=010;constant state2:std_logic_vector(2 downto 0):=011;constant state3:std_logic_vector(2 downto 0):=110;constant state4:std_logic_vector(2 downto 0):=111;beginmoore:process(clk,rst)begin if rs

5、t=1 then state if id=x3 then state=state1;else state state if id=x7 then state=state3;else state if id=x7 then state=state0;elsif id=x9 then state=state4;else state if id=xb then state=state0;else state state=state0;end case;end if;end process;-assign state outputs(equal to state std_logics)y=state(

6、1 downto 0);end archmoore2;仿真结果仿真结果state0State1State3State2State4id=3/1id=其它/1id=其它/1id=7/1id=7/1id=9/0id=16/1id=8,1015/0id=b/1id=其它/1rst=1/1 rst=1/1 rst=1/1 rst=1/1 上电rst=1/1 例米勒状态机的例子例米勒状态机的例子/1-Mealy State Machine with Registered Outputs-dowload from:&library ieee;use ieee.std_logic_1164.all;enti

7、ty mealy1 is port (clk,rst:in std_logic;id:in std_logic_vector(3 downto 0);w:out std_logic );end mealy1;architecture archmealy of mealy1 is type states is(state0,state1,state2,state3,state4);signal state:states;beginmealy:process(clk,rst)begin if rst=1 then state if id=x3 then state=state1;else stat

8、e state if id=x7 then state=state3;else state if id x7 then state=state0;elsif id=x9 then state=state4;else state if id=xb then state=state0;else state=state4;end if;end case;end if;end process;-assign mealy output;w x7)else 1;end archmealy;组合逻辑电路组合逻辑电路例高优先级编码器例高优先级编码器I(7)I(6)I(5)I(4)I(3)I(2)I(1)I(0

9、)AGS1xxxxxxx111101xxxxxx110 1001xxxxx101 10001xxxx100 100001xxx011 1000001xx010 10000001x001 100000001000 100000000000 0真值表真值表-Highest Priority Encoder-download from &LIBRARY ieee;USE ieee.std_logic_1164.ALL;entity priority isport(I:in bit_vector(7 downto 0);A:out bit_vector(2 downto 0);GS:out bit )

10、;end priority;architecture v1 of priority isbegin process(I)begin GS=1;A=000;if I(7)=1 then A=111;elsif I(6)=1 then A=110;elsif I(5)=1 then A=101;elsif I(4)=1 then A=100;elsif I(3)=1 then A=011;elsif I(2)=1 then A=010;elsif I(1)=1 then A=001;elsif I(0)=1 then A=000;else GS=0;end if;end process;end v

11、1;例四:多路选择器例四:多路选择器a3.0)b(3.0)c(3.0)d(3.0)S(1.0)X(3.0)library ieee;use ieee.std_logic_1164.all;entity mux is port(a,b,c,d:in std_logic_vector(3 downto 0);s:in std_logic_vector(1 downto 0);x:out std_logic_vector(3 downto 0);end mux;architecture archmux of mux is beginmux4_1:process(a,b,c,d)begin if s=

12、00 then x=a;elsif s=01 then x=b;elsif s=10 then x=c;else x=d;end if;end process mux4_1;end archmux;复杂逻辑电路复杂逻辑电路例例 16x8 RAM16x8 RAMLIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY ram16x8 ISPORT(address:IN STD_LOGIC_VECTOR(3 DOWNTO 0);csbar:IN STD_LOGIC;oebar:IN STD_LOGIC;webar:IN STD_LOGIC;data:INOUT

13、 STD_LOGIC_VECTOR(7 DOWNTO 0);END ram16x8;ARCHITECTURE version1 OF ram16x8 IS BEGIN PROCESS(address,csbar,oebar,webar,data)TYPE ram_array IS ARRAY(0 TO 15)OF BIT_VECTOR(7 DOWNTO 0);VARIABLE index:INTEGER:=0;VARIABLE ram_store:ram_array;BEGIN IF csbar=0 THEN -calculate address as an integer index:=0;

14、FOR i IN addressRANGE LOOP IF address(i)=1 THEN index:=index+2*i;END IF;END LOOP;IF rising_edge(webar)THEN-write to ram on rising edge of write pulse ram_store(index):=To_bitvector(data);ELSIF oebar=0 THEN data=To_StdlogicVector(ram_store(index);ELSE data=ZZZZZZZZ;END IF;ELSE data=ZZZZZZZZ;END IF;EN

15、D PROCESS;END version1;数字系统设计方法概述数字系统设计方法概述同步电路的使用同步电路的使用 在目前的数字电路设计中,同步电路的设在目前的数字电路设计中,同步电路的设计已经成为一种流行趋势,对于工程师所能想计已经成为一种流行趋势,对于工程师所能想到的系统到的系统-从直流到从直流到GHzGHz电路均采用,每个同电路均采用,每个同步电路都有其共性,并且有一些共同的缺点,步电路都有其共性,并且有一些共同的缺点,这些缺点会导致系统稳定性和可靠性的问题,这些缺点会导致系统稳定性和可靠性的问题,解决好这些缺点是我们设计数字系统地关键解决好这些缺点是我们设计数字系统地关键。为何使用同步

16、电路v忽略了逻辑通过不同路径的速度变化忽略了逻辑通过不同路径的速度变化,在固定好的时间间隔,在固定好的时间间隔上采样数据,快速路径和慢速路径采用同样的简单方式处理。上采样数据,快速路径和慢速路径采用同样的简单方式处理。v在温度、电压、工艺变化的情况下,同步电路具有更出色的在温度、电压、工艺变化的情况下,同步电路具有更出色的工作性能。对于工作性能。对于大容量的数字系统大容量的数字系统尤为关键。尤为关键。v许多技术必须是许多技术必须是可移植的可移植的,当技术的进步使得工艺从,当技术的进步使得工艺从0.60.6微微米向米向0.350.35微米变化时,设计无需做太大改动。同步电路所具微米变化时,设计无

17、需做太大改动。同步电路所具有的固定行为使这种移植变得简单。有的固定行为使这种移植变得简单。v通过在两个逻辑模块之间定义标准的同步行为,通过在两个逻辑模块之间定义标准的同步行为,模块之间的模块之间的接口简化了接口简化了,异步电路通过精确的握手信号来确保接口的可,异步电路通过精确的握手信号来确保接口的可靠传输,费时费力。靠传输,费时费力。同步电路的简单例子同步电路的简单例子Tsu:setup time Th:hold time时钟树时钟树 随着逻辑速度的提高,时钟信号在整个随着逻辑速度的提高,时钟信号在整个系统上的合理分布变得越来越重要。系统上的合理分布变得越来越重要。v减少时钟的减少时钟的Ske

18、wSkew A BclockABv时钟完整性时钟完整性 时钟波形尽可能的干净,并具有确定的时钟波形尽可能的干净,并具有确定的波形,使用特定的技术以便保证前后一致的波形,使用特定的技术以便保证前后一致的时钟信号行为时钟信号行为-这些技术包括传输线终端匹配,这些技术包括传输线终端匹配,减少地反弹噪声,使用相同的驱动器。减少地反弹噪声,使用相同的驱动器。优良的状态机的设计优良的状态机的设计Whats wrong with mealy/moore状态机的输出可能包含以下的功能状态机的输出可能包含以下的功能LATCHLATCH使能;使能;三态使能;三态使能;寄存器使能;寄存器使能;其它控制信号;其它控制

19、信号;状态机的输出是组合逻辑,有可能因为门延状态机的输出是组合逻辑,有可能因为门延迟的不同而造成毛刺迟的不同而造成毛刺(GLITCHES)(GLITCHES)的出现。的出现。A MUCH BETTER MACHINE状态机的Reset信号v传统的Reset信号是异步的。v若异步Reset有效,则所有的寄存器的状态和输出bit被清除;v当reset被无效之后,会发生什么?如何解决resetclock死状态死状态-状态机的死结状态机的死结v 状态机的状态编码并没有使用所有可能状态机的状态编码并没有使用所有可能的状态的状态bit,如,如20个状态,使用个状态,使用5bit的状态寄的状态寄存器。会有存器。会有12个未用的的状态值。个未用的的状态值。若因为错误进入死状态若因为错误进入死状态-则可能无法出来则可能无法出来LatchLatch的使用与问题的使用与问题最快的路径所导致的灾难性的后果最快的路径所导致的灾难性的后果解决方法解决方法思考题

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁