EDA数字系统设计7.pptVIP

  1. 1、本文档共93页,可阅读全部内容。
  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文档。上传文档
查看更多
EDA数字系统设计7.ppt

第七讲 verilog中的高级结构 任务和函数 电路级建模 用户自定义原语 有限状态机(FSM)的设计 verilog的可综合性 7.1 任务和函数 2.任务 3.函数(function) a.递归函数 b.常量函数 c.带符号函数 7.2 电路级建模 Verilog没有描述模拟电路的功能,可以描述mos晶体管,但晶体管仅被当作开关来描述,即只有导通和截止状态。 1.MOS开关 2.CMOS开关 3.双向开关 4.电源和地 5.阻抗开关 6.设计实例 7.3 UDP用户自定义原语 1.术语及定义 UDP的特点 2.语法定义 3.组合逻辑UDP 组合逻辑举例2:全加器 4.时序逻辑电路 举例2:D触发器 5.提高可读性的简写形式 提高可读性的简写形式 例1带同步复位的D触发器 例2带使能和复位的锁存器 作业5 1.定义一个32位函数,其功能是计算一个4位数的阶乘,编写一个模块进行仿真。 7.4 FSM设计 7.4 FSM设计 // 状态机编码 // Mealy State Machine例子(1) // Mealy State Machine例子(2) // Mealy State Machine例子(3) // Mealy State Machine例子(4) Finite State Machine 1. Task Definition - Statemachine Output 2. Task Invocation - Statemachine Finite State Machine 状态机设计实例 4位数值比较器 自动报纸销售机 1.自动报纸销售机 电路要求: 状态机设计 7.5 Verilog HDL综合 7.5 Verilog HDL综合 ⑥阻塞或非阻塞 阻塞、非阻塞对比 ⑦函数和任务 任务 ⑧复位 第八讲 复杂程序设计 设计方法介绍 设计实例 必须为该数字电路设置一些要求,如下所示: 当投入硬币时,一个两位的信号coin[2:0]被传送到数字电路。该信号在全局clk信号的一个下降沿取值,并且准确地保持一个时钟周期。 数字电路的输出是一位的。每次当投入的硬币总数为15分或者超过15分时输出信号newspaper变为高电平,并且保持一个时钟周期,售卖机的门也被打开。 可以用一个reset信号复位状态机,设为同步复位。 可以用有限状态机表示该数字电路的功能。 输入:2位coin[1:0],没有硬币时,x0=2’b00;有一个5分的硬币时x5=2’b01;一个1角的硬币时,x10=2’b10。 输出:1位,newspaper,当newspaper=l’b1时,打开门。 状态:4个状态。s0=0分;s5=5分;s10=10分;s15=15分。 module vend( coin,clock,reset,newspaper); //声明输入输出端口 input [1:0] coin; input clock, reset; output newspaper; wire newspaper; wire [1:0] next_state; reg [1:0] pres_state; //状态编码 parameter s0=2b00; parameter s5=2b01; parameter s10=2b10; parameter s15=2b11; //状态机函数 function [2:0] fsm; input [1:0] fsm_coin; input [1:0] fsm_pres_state; reg fsm_newspaper; reg [1:0] fsm_next_state; begin case (fsm_pres_state) s0://状态为s0 begin if(fsm_coin==2b10) begin fsm_newspaper=1b0; fsm_next_state=s10; end else if (fsm_coin==2b01) begin fsm_newspaper=1b0; fsm_next_state=s5; end else begin fsm_newspaper =1b0; fsm_next_state= s0; end end s5://状态为s5 begin if(fsm_coin==2b10) begin fsm_newspaper=1b0;

文档评论(0)

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

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档