首页 > 编程知识 正文

同步d触发器(EDA实验:各类D触发器)

时间:2023-05-04 04:33:07 阅读:121969 作者:2384

以前实验过并保存了文件

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; 结束模块波形图:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。