- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
设计控制ADC0809采样的状态机的状态编码表状态状态编码STARTALEOELOCKBtO00000Tl10000T200001T300100T400110状态码直接输出型状态机以上实体部分与ADC080采样控制VHDL程序相同ARCHITECTUREbhvofadcinyisSignals,so:STD_LOGIC_VECTOR(4DOWNTO0);CONSTANTt0:STD_LOGIC_VECTOR(4DOWNTO0):=”00000”;CONSTANTt1:STD_LOGIC_VECTOR(4DOWNTO0):=”11000”;CONSTANTt2:STD_LOGIC_VECTOR(4DOWNTO0):=”00001”;CONSTANTt3:STD_LOGIC_VECTOR(4DOWNTO0):=”00100”;CONSTANTt4:STD_LOGIC_VECTOR(4DOWNTO0):=”00110”;Signalregl:STD_LOGIC_VECTOR(7DOWNTO0);BEGINadd_sel=1;data_out=regl;PROCESS(S,end_conv)BEGINIFRST=’1’THENs=s0;ELSEIFCLK’EVENTANDCLK=’1’THENCASEsISWHENt0=s=t1;so=t0;WHENt1=s=t2;so=t1;WHENt2=so=t2;IF(end_conv=’1’)THENs=t3;ELSEs=t2;endif;WHENt3=s=t4;so=t3;WHENt4=s=t0;so=t4;ENDCASE;ENDIF;ENDPROCESS;PROCESS(so(1),data_in)BEGINIFso(1)=’1’ANDso(1)’EVENTTHENregl=data_in;ENDIF;ENDPROCESS;lock1=so(1);adc_start=so(4);add_sel=so(3);output_en=so(2);ENDbhv;7.3.2顺序编码顺序编码方式最为简单,且使用的触发器数量最少,剩余的非法状态最少,容错技术最为简单。一个5状态机只需三个触发器,其状态编码可采用表7-2所示的方式。表7-2顺序编码与一位热码编码:这种顺序编码方式增加了从一种状态向另一种状态转换的译码组合逻辑,这对于在触发器资源丰富而组合逻辑资源相对较少的FPGA器件中实现是不利的,这是顺序编码方式的不足之处。表7-2顺序编码与一位热码编码状态顺序编码一位热码编码STATE0000100000STATE1001010000STATE2010001000STATE3011000100STATE4100000010STATE51010000017.3.3—位热码编码—位热码编码(One-HotEncoding)方式(表7-2)就是用n个触发器来实现具有n个状态的状态机,状态机中的每一个状态都由其中一个触发器的状态表示。即当处于该状态时,对应的触发器为T,其余的触发器都置‘0’。7.3.4剩余状态处理在状态机设计中,使用枚举类型或直接指定状态编码的程序中,特别是使用了一位热码编码方式后,总是不可避免地出现大量剩余状态,即未被定义的编码组合,这些状态在状态机的正常运行中是不需要出现的,通常称为非法状态。在状态机的设计中,如果没有对这些非法状态进行合理的处理,在外界不确定的干扰下,或是随机上电的初始启动后,状态机都有可能进入非法状态,其后果或是对外界出现短暂失控,或是完全无法摆脱非法状态而失去正常的功能,除非使用复位控制信号reset。处理的方法有两种:一种是程序引导
文档评论(0)