- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七讲:时序逻辑电路设计
赵杰 标准同步电路 module dff(data,clk,q); input data,clk; output 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==1’b1) q=1’b0; else q=data; end endmodule module dff_asynrst(data,rst,set,clk,q); input data,rst,set,clk; output q; reg q; always@(posedge clk or posedge rst or posedge set) begin if(rst==1’b1) q=1’b0; else if(set==1’b1) q=1’b1; 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) begin if(rst==1’b1) q=1’b0; else if(en==1’b1) q=data; else ; end endmodule module dff_synrst(data,rst,clk,q); input data,rst,clk; output q; reg q; always@(posedge clk) begin if(rst==1’b1) q=1’b0; else q=data; end endmodule 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 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 begin q[0]=din; q=q1; end end endmodule 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; q=tmp[3]; end en
文档评论(0)