常用时序电路设计.pptVIP

  • 0
  • 0
  • 约6.74千字
  • 约 39页
  • 2023-04-27 发布于广东
  • 举报
;主要内容 ;D触发器设计;;/******************************************\ 异步复位、上升沿触发的D触发器\******************************************/ module d_flipflop_2(d,cp,reset,q); input d,cp,reset; output q; reg q; always@(posedge cp or negedge reset) begin if(reset==1’b0) q=1’b0; else q = d; end endmodule ;;;;同步置位、上升沿触发的D触发器;/******************************************\ 异步复位和时钟使然、上升沿触发的D触发器\******************************************/ module dff_3(data,clk,en,reset,q); input data,clk,reset,en; output q; reg q; always@(posedge clk or negedge reset) begin if(reset==1’b0) q=1’b0; else if(en==1’b1) q= data; end endmodule ; Shift Register; 串入串出移位寄存器;/******************************************\ 串入串出移位寄存器参考设计\******************************************/ 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; end endmodule ; 串入并出shift register;/******************************************\ 串入并出移位寄存器参考设计\******************************************/ 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==1’b0) q=4’b0000; else q[0]=din; q=q1; end endmodule ; 并入串出shift register;/******************************************\ 串入并出shift register参考设计 \******************************************/ 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==1’b1) tmp=din; else begin tmp=tmp1; tmp[0]=1’b0; end q=tmp[3]; end endmodule

文档评论(0)

1亿VIP精品文档

相关文档