《嵌入式设计技术的工程方法》嵌入式之verilog电路设计2.pptVIP

《嵌入式设计技术的工程方法》嵌入式之verilog电路设计2.ppt

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

* 第三节 基于状态机的Verilog HDL设计方法 一. Mealy型有限状态机设计 Mealy型有限状态机模型 组合逻辑 当前状态 触发器 clk reset x z ●有限状态机从本质上讲 是由寄存器与组合逻辑 构成的时序电路。 ●实用的状态机一般都设 计成同步时序电路。 ●根据设计要求画出状态 转移图。 ●用一个always过程块 (case或if-else)描述 组合逻辑(输出、下一 个状态需要的激励)。 ●用另一个always过程块 描述寄存器逻辑(状态转 换)。 例1:用Verilog HDL对“1101”序列检测器的有限状态机进行 描述。要求写出设计说明、格式规范、书写清晰,必要 时进行注释。 设计说明:1. X为串行输入,Z为是否检测到有效序列标志。 2. 对状态A、B、C、D采用一位热编码,依次为 1000、0100、0010、0001。 3. 状态A为系统初态。高电平有效的复位信号reset 使系统进入初态。 4. 系统时钟clk上升沿有效。 A B C D 输入/输出 X/Z 0/0 1/0 1/0 0/0 1/0 0/0 0/0 1/1 reset //Mealy型“1101”序列检测器描述 //端口说明,参数定义,数据类型定义 module sta_machine (x, clk, reset, z) ; parameter A=4’b1000, B=4’b0100, C=4’b0010, D=4’b0001; input x, clk, reset; output z; reg z; reg [4:1] current_state; reg [4:1] next_state; //组合逻辑部分描述 always @ (x or current_state) begin case (current_state) A: if (x==1)begin z=0; next_state=B; end else begin z=0; next_state=A; end B: if (x==1) begin z=0; next_state=C; end else begin z=0; next_state=A; end C: if (x==0) begin z=0; next_state=D; end else begin z=0; next_state=C; end D: if (x==1) begin z=1; next_state=A; end else begin z=0; next_state=A; end default: begin z=0;next_state=A; end endcase end //寄存器部分描述 always @(posedge clk or posedge reset) begin if (reset) current_state=A; else current_state=next_state; end endmodule 设计完毕 二. Moore型有限状态机设计 ●Moore状态机的输出只和现态有关。 ●根据设计要求画出状态转移图。 ●用一个always过程块(case或if-else)描述激励组合逻辑(下一个状态需要的激励)。 ●用一个always过程块(case或if-else)描述输出的组合逻辑。 ●用另一个always过程块 描述寄存器逻辑

文档评论(0)

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

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

1亿VIP精品文档

相关文档