- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 简单系统设计
时序机 两种类型的有限状态机 Mealy型有限状态机 Moore型有限状态机 时序机的描述方式 时序图 状态转移表 状态转移图 算法状态机图 时序机的描述方式 时序图举例 静态随机存储器写周期时序图 状态转移图 FSM的状态转移图(STG,State Transition Graph)是一种有向图,图中带有标记的节点或顶点,并与时序机的状态一一对应。当系统处于弧线起点的状态时,用有向边或弧线表示在输入信号的作用下可能发生的状态转移。 对于一个同步时序机的给定STG,设计的任务就是确定下一状态和输出逻辑。 对于有效的STG而言,其每个顶点必须表示一个惟一的状态;每个弧线则表示在指定输入信号的作用下,从给定状态到下一个状态的转移,并且从一个节点出发的各弧线必须对应一个惟一的输入。 状态转移图设计举例 本例中一个串行发送的BCD码Bin被转换成一个余3码串行比特流Bout,给BCD码对应的十进制数加上3,并将其转换为等价的二进制数就得到了该十进制数的余3码。 BCD - 余3码转换器状态转移图 BCD - 余3码转换器程序(1) module BCD2Excess3(nReset, Clock, Bin, Bout); input nReset; input Clock; input Bin; output Bout; reg Bout; parameter S0 = 7b0000001, S1 = 7b0000010, S2 = 7b0000100, S3 = 7b0001000, S4 = 7b0010000, S5 = 7b0100000, S6 = 7b1000000; reg [6:0] State; always @(negedge nReset or posedge Clock) begin if(!nReset) Reset; else DoFSM; end task Reset; begin Bout = 1b0; State = S0; end endtask BCD - 余3码转换器程序(2) task DoFSM; begin case(State) S0 : begin if(Bin) begin Bout = 1b0; State = S2; end else begin Bout = 1b1; State = S1; end end S1 : begin if(Bin) begin Bout = 1b0; State = S4; end else begin Bout = 1b1; State = S3; end end S2 : begin Bout = Bin; State = S4; end S3 : begin Bout = Bin; State = S5; end S4 : begin if(Bin) begin Bout = 1b0; State = S6; end else begin Bout = 1b1; State = S5; end end S5 : begin Bout = Bin; State = S0; end
文档评论(0)