




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字电路系统的设计方法,有限状态机的设计,为什么要使用状态机?,克服了纯硬件数字系统顺序方式控制不灵活的缺点;结构模式相对简单;容易构成性能良好的同步时序逻辑模块;VHDL表述丰富多样;在高速运算和控制方面有巨大的优势;就可靠性而言,优势十分明显。,有限状态机的设计,有限状态机是广义的时序电路,主要功能是用来实现数字系统中的控制单元。有限状态机的两种类型Moore型有限状态机:输出信号仅与当前状态有关。Mealy型有限状态机:输出信号不仅与当前状态有关,还与所有的输入信号有关。两种有限状态机在VHDL描述上的差别较小。,有限状态机VHDL描述的内容,1、至少包括一个状态信号,用来指定有限状态机的状态;2、状态转移指定和输出指定,对应于控制单元中与每个控制步有关的转移条件;3、时钟信号,用来进行同步;4、同步或异步复位信号。,一个实用的有限状态机必须有复位信号。,有限状态机的三种描述方式,红色字体为常用描述方式,例1、三进程方式描述状态机,LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYtraffic1ISPORT(clk,tg,ty:INSTD_LOGIC;lights:OUTSTD_LOGIC_VECTOR(5DOWNTO0);ENDtraffic1;ARCHITECTUREaOFtraffic1ISTYPESTATE_TYPEIS(green_red,yellow_red,red_green,red_yellow);SIGNALpresent_state,next_state:STATE_TYPE;BEGIN,定义状态类型,定义状态信号,PROCESS(present_state,tg,ty)BEGINCASEpresent_stateISWHENgreen_red=IFtg=0THENnext_stateIFty=0THENnext_stateIFtg=0THENnext_stateIFty=0THENnext_state=green_red;ELSEnext_state=red_yellow;ENDIF;ENDCASE;ENDPROCESS;,描述次态逻辑,以当前状态和输入信号为敏感信号,PROCESS(clk)BEGINIFclkEVENTANDclk=1THENpresent_statelightslightslightslights=001010;ENDCASE;ENDPROCESS;ENDa;,以当前状态为敏感信号,仿真波形图,Green_red,Yellow_red,Red_green,Red_yellow,Green_red,数字系统的设计方法,数字系统:由若干数字电路和逻辑部件构成的能够处理、传递数字信息的设备,数据处理器:完成数字量运算处理,是功能部件,控制器:使各子系统或部件按规定工作,输入输出接口:完成数字量和其它量之间的转化,数字系统的设计方法,传统的设计方法:纯硬件电路逻辑设计,经常采用试凑法门电路、触发器和中规模集成电路所用的元器件较多,出问题几率较高,可靠性较差所设计电路需反复调试,比较适合小规模数字系统,随电路规模和复杂程度的增加!,现代的设计方法:,硬件逻辑设计、软件逻辑设计及兼有两者优点的集成电路ASIC设计。,强调系统性、清晰性和可靠性,将系统层层划分为较简单部件的TOP-DOWN方法,要求设计者:对设计对象整体考虑,反复推敲,全面消化理解;,TOP-DOWN(自顶向下)方法,第一步:系统的描述,第二步:划分功能模块,第三步:选择器件,第四步:设计实现,每一步的修改和重复不可避免,数字系统的设计方法,1、分析任务,确定实体的端口;2、系统分解,确定实体内部构成框图;3、确定实体内部的节点信号;4、选择VHDL描述模式或图形输入法,进行系统实现;5、进行系统的综合、优化及仿真;6、系统测试。,例:实现十进制加法计数器的7段数码显示,LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYdisplay1ISPORT(cp,rst:INSTD_LOGIC;seg7:OUTSTD_LOGIC_VECTOR(6DOWNTO0);ENDdisplay1;ARCHITECTUREaOFdisplay1ISSIGNALclk:STD_LOGIC;SIGNALtout:INTEGERrange0to9;SIGNALcount:STD_LOGIC_VECTOR(3DOWNTO0);BEGINP_1:PROCESS(cp)BEGINIF(cpEVENTandcp=1)THENIFtout=9THENtout=0;ELSEtout=tout+1;,方法一,分频模块,降低分频比以便仿真,ENDIF;IFtout=1001THENcount=0000;ELSEcountseg7seg7seg7seg7seg7seg7seg7seg7seg7seg7NULL;-ZZZZZZZENDCASE;ENDPROCESS;ENDa;,译码模块,LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYfenpinISPORT(cp:INSTD_LOGIC;clk:OUTSTD_LOGIC);ENDfenpin;ARCHITECTUREaOFfenpinISSIGNALtout:INTEGERrange0to9;BEGINPROCESS(cp)BEGINIF(cpEVENTandcp=1)THENIFtout=9THENtout=0;ELSEtout=tout+1;ENDIF;IFtout=4THENclk=0;ELSEclk=1;ENDIF;ENDIF;ENDPROCESS;ENDa;,方法二,底层:分频器,LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYcounterISPORT(clk,rst:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);ENDcounter;ARCHITECTUREaOFcounterISSIGNALcount:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(clk,rst)BEGINIFrst=1THENcount=1001THENcount=0000;ELSEcountcp,clk=clk);u1:counterPORTMAP(clk=clk,rst=rst,q=count);u2:segmentPORTMAP(count=count,seg7=seg7);ENDa;,建立顶层原理图文件,方法三:,27,例1:两人乒乓游戏机,以8个发光二极管代表乒乓球台,中间两个发光管兼作球网。用发光管按一定的方向依次闪亮来表示球的运动,在游戏机两侧各设发球/击球开关SA和SB,当甲方发球时,靠近甲方的第一个发光管亮,然后依次点亮第二个球向乙方移动,球过网后到达设计者的规定的球位乙方即可击球,若乙方提前击球或未击到球,则甲方得分。然后重新发球进行比赛,直到某一方记分达到规定分,记分清零,重开一局比赛。,28,两人乒乓游戏机结构框图,29,数字系统的描述方法(一),方框图可详细描述数字系统的总体结构,直观易懂每一个方框定义一个信息处理、存储或传送的子系统,在方框内用文字、表达式、通用符号或图形来表示该子系统的名称或主要功能方框之间用带箭头的直线相连,表示各个子系统之间数据流或控制流的信息通道,箭头指示了信息传送的方向,30,两人乒乓游戏机逻辑划分方框图,31,数字系统的描述方法(二),定时图(时序图或时间关系图)用来定时地描述系统各模块之间、模块内部各功能组件之间以及组件内部各门电路或触发器之间输入信号、输出信号和控制信号的对应时序关系和特征(信号是电平还是脉冲,是同步信号还是异步信号等)。,32,数字系统的描述方法(三),ASM(AlgorithmicStateMachine)图(算法状态机图、逻辑流程图)用特定的几何图形、指向线和简练的文字说明,描述数字系统对信息的处理过程,以及控制单元所提供的控制步骤,以便于设计者发现和改进信息处理过程中的错误和不足,同时又是后续电路设计的依据与通常的软件设计中的流程图相似,但它表示事件的精确时间间隔序列,而一般的流程图只表示事件序列,没有时间概念,33,ASM图的基本符号,34,两人乒乓游戏机的ASM图,35,数字系统的描述方法(四),MDS(MnemonicDocumentedState)图MDS图是设计数字系统控制器的一种简洁方法,它类似于状态转换图,可以由详细流程图转换而来。MDS图中用一个圆圈表示一个状态,状态名标注在圆圈内,圆圈外的符号或逻辑表达式表示输出,用定向线表示状态转换方向,定向线旁的符号或逻辑表达式表示转换条件。,36,两人乒乓游戏机的MDS图,发光二极管与发光点阵,每个点都是一个发光二极管,发光二极管与发光点阵,材料:特殊材料,常用材料为磷砷化镓(发光效率比较高)。特点:工作电压小(1.82V),体积小,可靠性高,色彩丰富,响应时间小(0.1us),亮度高,寿命长,可达106小时。缺点:工作电流较大(5mA10mA),1mA开始发光ILED越大,亮度越大,现在有省电型的发光管,但价格比一般发光管贵许多;,发光二极管与发光点阵,限流保护电阻100300欧左右,1,1,发光二极管与发光点阵,1,01111111,11010111,发光二极管与发光点阵,01111110,11011111,11101111,11110111,11111011,当行、列信号交替变化达到一定的频率时,点阵上稳定显示0。,01000010,01000010,01111110,发光二极管与发光点阵,01000000,11000011,11011011,11011011,11011011,11011011,11000011,当行、列信号交替变化达到一定的频率时,点阵上稳定显示0。,00100000,00010000,00001000,00000100,00000010,常见实验问题,1、变量与信号的区别,变量只在定义它的进程中可见,若要在进程之间传递信息,应使用信号而不能用变量。,常见实验问题,2、编译错误提示missingsource,A、定义了输出端口却从未给其赋值;,B、不完整的IF语句导致此错误;,常见实验问题,3、编译错误提示multiplesource,原因:在两个或多个进程中对同一个信号赋值。,解决:需要两个信号,在各自的进程中进行读写操作,同时对另一个信号的情况进行判断。,ERROR:Signal“s”hasmultiplesources,常见实验问题,4、在组合逻辑进程中,其敏感向量表中要包含所有要读取的信号;这是为了防止出现不必要的锁存器。5、避免使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论