第八讲_verilog的可综合性要点.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八讲_verilog的可综合性要点

第八讲 verilog的可综合性 逻辑综合 Verilog的逻辑综合 Verilog的可综合风格 8.1 逻辑综合 8.2 Verilog HDL综合 ⑥阻塞或非阻塞 阻塞、非阻塞对比 ⑦函数和任务 任务 ⑧复位 8.3 verilog可综合设计 一、 verilog编码风格 二、设计划分 8.4 FSM设计 8.5 设计实例 4位数值比较器 自动报纸销售机 1. 4位数值比较器 2.自动报纸销售机 电路要求: 状态机设计 - 有限状态机是由寄存器组和组合逻辑构成的时序逻辑电路; 状态机可用于产生在时钟跳变沿时刻开关的复杂的控制逻辑,是数字逻辑的控制核心。通常用case语句设计实现,注意以下三点: 状态翻转时刻。 前状态下次态 当前状态下输出 module fsm (Clock, Reset, A, F, G); input Clock, Reset, A; output F,G; reg F,G; reg [1:0] state ; parameter Idle = 2’b00, Start = 2’b01, Stop = 2’b10, Clear = 2’b11; always @(posedge Clock) if (!Reset) begin state = Idle; F=0; G=0; end else case (state) idle: begin if (A) state = Start; G=0; end start: if (!A) state = Stop; Stop: begin if (A) state = Clear; F = 1; end Clear: begin if (!A) state =Idle; F=0; G=1; end endcase endmodule RTL级网表 GATE级网表 module comparator4 ( a_gt_b,a_lt_b,a_eq_b,a, b); output a_gt_b,a_lt_b,a_eq_b; input [3:0] a,b; assign a_gt_b=(ab); assign a_lt_b=(ab); assign a_eq_b=(a==b); endmodule 4位数值比较器的RTL描述相当简洁 RTL级网表 4位数值比较器综合结果 设计—个简单的数字电路用于电子的报纸售卖机的投币器。 假设报纸价格为15分。 投币器只能接受5分和1角的硬币。 必须提供适当数日的零钱,投币器不找钱。 合法的硬币组合包括1个5分的硬币和1个l角的硬币,3个5分的硬币,1个1角硬币和1个5分的硬币,2个1角的硬币是合法的,但是投币器不找钱。 设计说明 必须为该数字电路设置一些要求,如下所示: 当投入硬币时,一个两位的信号coin[1: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

文档评论(0)

ee88870 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档