4FPGA中verilog时序逻辑电路设计.ppt
《4FPGA中verilog时序逻辑电路设计.ppt》由会员分享,可在线阅读,更多相关《4FPGA中verilog时序逻辑电路设计.ppt(39页珍藏版)》请在三一文库上搜索。
1、第4章 时序逻辑电路设计,1.时序电路的基本概念,数字电路按照结构特点不同分为两大类:组合逻辑电路(简称组合电路)和时序逻辑电路(简称时序电路)。 组合电路是指由各种门电路组合而成的逻辑电路,输出只取决于当前输入信号的变化,与以前各时刻的输入或输出无关;组合电路没有记忆功能。例如:编/译码器、加法器等常用数字电路都属于组合电路。 时序逻辑电路是具有记忆功能的逻辑电路,记忆元件一般采用触发器。因此,时序逻辑电路由组合电路和触发器组成,其等效模型如图4.5所示。,1模型,时序电路按其状态的改变方式不同,可分为同步时序逻辑电路和异步时序逻辑电路两种,在图4.5中,当CLK1与CLK2为相同信号时,该
2、电路为同步电路;当CLK1与CLK2为不同信号时,该电路为异步电路。,1建立和保持时间,触发器的建立时间(Tsu)是指时钟有效沿(这里指上升沿)到来之前数据应保持稳定的时间。 触发器的保持时间(Thd)是指时钟有效沿(这里指上升沿)到来之后数据应保持稳定的时间。,1.同步电路设计规则,(1)在用Verilog HDL进行数字逻辑设计时,只使用一个主时钟,同时只使用同一个时钟沿(上升沿或下降沿)。 (2)在FPGA设计中,推荐所有输入、输出信号均应通过寄存器寄存,寄存器接口当作异步接口考虑。 (3)当全部电路不能用同步电路思想设计时,即需要多个时钟来实现,则可以将全部电路分成若干局部电路(尽量以
3、同一时钟为一个模块),局部电路之间接口当异步接口考虑。 (4)电路中所有的寄存器、状态机在上电复位时必须有一个确定的初始态。 (5)电路的实际最高频率不应大于理论最高频率,应留有设计余地。,标准同步电路,DFF,DFF,DFF,DFF,组合逻辑,组合逻辑,组合逻辑,组合逻辑,clock,2 D触发器,1. 上升沿触发的触发器 2. 带异步复位、上升沿触发的触发器 3. 带异步复位和置位、上升沿触发的触发器 4.带异步复位和时钟使然、上升沿触发的触发器 5.带同步复位、上升沿触发的触发器,上升沿触发的触发器,module dff(data,clk,q); input data,clk; outp
4、ut q; reg q; always(posedge clk) begin q=data; end endmodule,带异步复位、上升沿触发的触发器,module dff_asynrst(data,rst,clk,q); input data,rst,clk; output q; reg q; always(posedge clk or posedge rst) begin if(rst=1b1) q=1b0; else q=data; end endmodule,带异步复位和置位、上升沿触发的触发器,module dff_asynrst(data,rst,set,clk,q); inpu
5、t data,rst,set,clk; output q; reg q; always(posedge clk or posedge rst or posedge set) begin if(rst=1b1) q=1b0; else if(set=1b1) q=1b1; else q=data; end endmodule,带异步复位和时钟使然、上升沿触发的触发器,module dff_asynrst(data,rst,en,clk,q); input data,rst,en,clk; output q; reg q; always(posedge clk or posedge rst) be
6、gin if(rst=1b1) q=1b0; else if(en=1b1) q=data; end endmodule,带同步复位、上升沿触发的触发器,module dff_synrst(data,rst,clk,q); input data,rst,clk; output q; reg q; always(posedge clk) begin if(rst=1b1) q=1b0; else q=data; end endmodule,移位寄存器,移位寄存器是一种在时钟脉冲的作用下,将寄存器中的数据按位移动的逻辑 电路主要功能:串并转换 串行输入串行输出 串行输入并行输出 并行输入串行输出,
7、串入串出移位寄存器,基本串入串出移位寄存器原理图 8位移位寄存器由8个D触发器串联构成,在时钟信号的作用下,前级的数据向后移动,串行输入串行输出移位寄存器,module shift_1(din,clk,dout); input din,clk; output dout; reg dout; reg tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7; always(posedge clk) begin tmp1=din; tmp2=tmp1; tmp3=tmp2; tmp4=tmp3; tmp5=tmp4; tmp6=tmp5; tmp7=tmp6; dout=tmp7; e
8、nd endmodule,串入并出shift register,4位串行输入并行输出移位寄存器的逻辑电路 如图所示。该寄存器由4个同步D触发器组成 这种D触发器的R端是是非同步清零端。,串行输入并行输出移位寄存器,module shift_2(din,clk,clr,q); input din,clk,clr; output 3:0 q; reg 3:0 q; always(posedge clk or negedge clr) begin if(clr=1b0) q=4b0000; else begin q0=din; q=q1; end end endmodule,并入串出shift re
9、gister,并入串出移位寄存器可以将一组二进制数并 行送入一组寄存器,然后把这些数据串行从寄 存器内输出。 一个同步并入串出移位寄存器的基本管脚: 并行输出输入端:data 时钟脉冲输入端:clk 加载数据端:load 串行数据输出端:dout,并行输入串行输出移位寄存器,module shift3(clk,din, load,q); input clk,load; input 3:0 din; output q; reg q; reg 3:0 tmp; always(posedge clk ) begin if(load=1b1) tmp=din; else begin tmp=tmp1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA verilog 时序 逻辑 电路设计
链接地址:https://www.31doc.com/p-2147353.html