电子设计自动化第5章.pptVIP

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子设计自动化第5章

第五章 有限状态机设计;第一节 一般状态机的设计; ;;;二、有限状态机的优越性;三、一般状态机的设计;;;;;;;;;;;状态机的建立过程;二、建立状态机的主控时序进程和主控组合进程;三、在主控组合进程中定义状态的转移;第二节 Moore型有限状态机的设计 ;;2、 AD0809采样控制器的设计;;系统级的设计是控制器设计的步骤: 第一步,是将控制器指标规范用自然语言描述,并将其语言描述转换为真值表、状态图或算法模型的过程。 对于VHDL语言来说,系统级的设计就是用一系列相互关联的进程组成硬件算法模型,即将描述系统功能的自然语言翻译为进程,每个进程完成不同的功能,并通过进程模型图来表示。 在ADC0809控制器的设计中,可以将其划分为三个进程,即状态生成进程、状态转换进程、状态机输出进程。三部分关系见图1所示。 ;;二、状态划分;;; 根据以上设计思想和VHDL语言的特点,控制器的状态生成进程以时钟信号为敏感量,当时钟发生有效跳变时,状态机的状态发生变化,即产生下一状态。而状态转换进程采用组合逻辑进程,使用CASE语句检查状态机的当前状态,然后使用IF-THEN-ELSE语句决定下一状态。这种描述风格产生结构化的VHDL代码,并且可读性好。;;;;;;;;ADC0809;注意转换输出 已改变为:7C;3、单进程Moore型有限状态机 ;;;;;;;第三节 Mealy型有限状态机的设计;;; 【例8-6】 MEALY2 LIBRARY IEEE; --MEALY FSM USE IEEE.STD_LOGIC_1164.ALL; ENTITY MEALY2 IS PORT ( CLK ,DATAIN,RESET : IN STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(4 DOWNTO 0)); END MEALY2; ARCHITECTURE behav OF MEALY2 IS TYPE states IS (st0, st1, st2, st3,st4); SIGNAL STX : states ; SIGNAL Q1 : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN COMREG : PROCESS(CLK,RESET) --决定转换状态的进程 BEGIN IF RESET =1 THEN STX = ST0; ELSIF CLKEVENT AND CLK = 1 THEN CASE STX IS WHEN st0 = IF DATAIN = 1 THEN STX = st1; END IF; WHEN st1 = IF DATAIN = 0 THEN STX = st2; END IF; WHEN st2 = IF DATAIN = 1 THEN STX = st3; END IF; WHEN st3= IF DATAIN = 0 THEN STX = st4; END IF; WHEN st4= IF DATAIN = 1 THEN STX = st0; END IF; WHEN OTHERS = STX = st0; END CASE ; ;IF CLKEVENT AND CLK = 1 THEN Q1=Q2; END IF; END PROCESS COM1 ; Q = Q1 ; END behav;; END IF; END PROCESS COMREG ; COM1: PROCESS(STX,DATAIN,CLK) --输出控制信号的进程 VARIABLE Q2 : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN CASE STX IS WHEN st0 = IF DATAIN = 1 THEN Q2 := 10000 ; ELSE Q2 := 01010 ; END IF

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档