以前实验过并保存了文件
1,基本D触发器
源程序:
moduleDFF_20211103(clk、d和q1 ); //基本d触发器input clk,d; 输出Reg Q1; Always@(Posedgeclk ) beginq1=d; //基本d触发器结尾模块激励文件:
模块SMI _ dff _ 2021 11 03 (; reg clk,d; wire q1; dff_20211103uut(.Q1 ) Q1 )、 clk )、 d ); initialbeginclk=0; d=0; endalways#3d=~d; always#2 clk=~clk; 结束模块波形图:
2,同步复位D触发器
源程序:
模块complex _ df f1 (clk、q、in、reset ); //同步复位的d触发器//同步复位: clk上升沿,reset=0为“是”时,输出清零0输入clk,in,reset; output reg q; always@(Posedgeclk ) Beginif(~reset ) q=0; elseq=in; 结束模块激励文件:
模块sim _ complex _ df f1 (; reg clk,in,reset; wire q; complex_dfF1uut(.clk )、 in )、 q )、 reset ) ); 初始begin clk=0; in=0; reset=0; endalways#2 reset=~reset; always#1 clk=~clk; always#8 in=~in; 结束模块波形图:
3,异步复位D触发器
源程序:
模块dff3(clk,in,q,reset ); //异步复位的d触发器//异步复位:如果clk不在上升沿,reset=0,则输出清零0输入wire clk,in,reset; output reg q; always @ (posedgeclkornegedgereset ) beginif (! reset ) q=0; elseq=in; 结束模块激励文件:
模块SMI _ dff3(; reg clk,in,reset; wire q; dff3uut(.clk )、 in )、 reset )、 q ); 初始begin clk=0; in=0; reset=0; endalways#2 reset=~reset; always#1 clk=~clk; always#8 in=~in; 结束模块波形图:
4,异步复位同步使能的D触发器
源文件:
模块dff4(input clk,in,reset,en,output reg q ); //异步复位同步使能d触发器://异步复位: reset==0、输出清除0//同步使能: clk上升沿时,只要en为1,则输出为赋值always @ (posedgeclkkkk ) 结束模块激励文件:
模块SMI _ dff4(; reg clk,in,reset,en; wire q; dff4uut(.clk )、 in )、 reset )、 en )、 q ) ); initialbeginclk=0; in=0; reset=0; en=0; endalways#2 clk=~clk; always#5 reset=~reset; always#11 en=~en; always#23 in=~in; 结束模块波形图: