D触发器设计实验报告

时间:2024.3.27

                         D触发器设计实验报告

一、实验目的

   (1)?用ISE14.2 的软件开启一个 Spartan3E的项目.

   (2)撰写一个简单的Schematic原理图,?用语法检查器(Syntax Check)来修

   正语法的错误

   (3)产生测试模板(Test Bench) 来辅助你的设计.

   (4)加入系统所需的Constraints 文件.(UCF file)

   (5)完成整个设计?程.并产生D.bit文件。

   (6)?用Adept软件来烧录D.bit 文件到FPGA.

二、实验器材

     ISE14.2 软件

     D.V 文件

     D.UCF 文件

     USB下载线

     Adept软件

     开发板Basys2

三、实验内容

用电平异步时序逻辑电路,实现下降沿的D触发器(无空翻).需要一个复位信号 

RESET,和一个置位信号RET,均为低电平有效.

典型输入时间图如下:

 

X2(CP)

 

X1(D)

 

椭圆: 1椭圆: 5椭圆: 6椭圆: 7椭圆: 6椭圆: 5椭圆: 8椭圆: 5椭圆: 4椭圆: 3椭圆: 1椭圆: 7椭圆: 6椭圆: 5椭圆: 4椭圆: 3椭圆: 1椭圆: 2Z(Q)

接线:

输入信号:

D-------- 接板子上SW0(FPGA内部“p11”);;

CP-------接FPGA内部“B8”(50MHz);

RESET-----接板上Btn0(FPGA内部“g12”);

SET-----  接板上Btn3(FPGA内部“a7”);

输出信号:

Q---------接板子上灯ld0(FPGA内部“m5”);

Q(非)----接板子上灯ld7(FPGA内部“g1”);

四、实验过程

建立原始流程表按照输入信号的变化进行时间的划分,由题意可

知设立8中不同状态,见上图

画出原始流程表:

注:X2为CP,X1为D,Z为Q

化简流程表:

画出状态合并图:

 

选择最小闭覆盖{(231)(4)(568)(7)}并且用ABCD分别表示:

画出状态相邻图;

状态编码设二次状态用y2y1表示,用00,01,11,10分别表示A,B,C,D四种状态,最简二进制流程表如图;

画出卡诺图并求出激励函数和输出函数;

Y2;

Y2=

Y1;

Y1=

Z

Z=y2;

逻辑电路图:

逻辑电路代码:

module D_top_D_top_sch_tb();

// Inputs

   reg SD;

   reg D;

   reg RD;

   reg CP;

// Output

   wire QN;

   wire Q;

// Bidirs

always #50  CP= ~CP;

always #20 D = {$random}%2;

// Instantiate the UUT

   D_top UUT (

        .SD(SD),

        .QN(QN),

        .Q(Q),

        .D(D),

        .RD(RD),

        .CP(CP)

   );

/// always #20 RD = {$random}%2;

// Initialize Inputs

 // `ifdef auto_init

       initial begin

        D = 0;

        SD = 0;

        RD = 0;

        CP = 0;

        #20 RD = 1;

        #40 SD = 1;

        end

 //  `endif

endmodule

输出波形图:

五、课后思考题

1、异步时序逻辑电路与同步时序逻辑电路有何区别?

   答:对于同步时序逻辑电路,因为时钟脉冲对电路的控制作用,所以无论输入信号时电平信号还是脉冲信号,对电路引起的状态响应都是相同的。

而对于异步时序逻辑电路,电路中没有统一的时钟脉冲信号同步,电路状态的改变是外部输入信号变化直接作用的结果;在状态转移过程中,各存储元件的状态变化不一定发生在同一时刻,不同状态的维持时间不一定相,并且可能出现非稳定状态。对输入信号的形式有所区分,输入电平信号与脉冲信号,对电路引起的状态响应是不同的

2、如何发现异步电平时序逻辑电路中的竞争并消除临界竞争?

答:观察当输入信号变化时是否会引起电路中两个或两个以上状态变量发生变化,会引起则存在竞争,否则不存在竞争。若竞争的结果可能使电路到达不同的稳态,即状态转移不可预测,则是临界竞争。消除临界竞争主要在状态编码时避免,有三种方法:相邻状态,相邻分配;增加过渡状态,实现相邻分配;容许非临界竞争,避免临界竞争。

六、实验体会

     通过这次实验,了解了异步的相关知识,懂得了异步电路的处理办法。提高了自己在电路方面的技能。在使用ISP编程环境时要时刻注意保存,操作这样一个系统也需要牢固的基础知识,再就是多加练习,虽然第一次使用碰了很多钉子,但相信随着对它的了解的深入,我能很好地掌握使用方法,在没有硬件的情况下也能很好地将书本上学到的付诸实践。

   

                     计数器的设计

一、实验目的

    1、以计数器为例,掌握时序电路设计方法。

2、熟练掌握ISE软件进行FPGA开发的过程以及实验箱的使用方法。

3、了解ISE设计报告中电路资源利用率情况分析。

4、掌握中规模集成计数器的使用方法及功能测试方法

二、实验内容

用verilog语言设计一个能清0、置数和进位输出增1、减1的4位二进制计数器,

如下图1所示:

输入CLR为清0 端,信号LD为置数端,将A、B、C、D的输入值送到计数器中,并立即在QA、QB、QC、QD中输出。输入信号M为模式选择端,当M=1时加1计数,当M=0时减1计数。CP端输入一个上升信号时进行一次计数,计数有进位/借位时,Qcc端输出一个负脉冲。

三、实验过程

1、启动ISE集成开发环境,创建工程并输入设计源文件。

2、对设计进行时序仿真,分析设计的正确性。

3、在设计文件中输入Verilog代码

`timescale 1 ns / 1 ps

 4 module qu_dou ( clk ,rst , a ,b  );

 5

 6 input            clk ;

 7 wire            clk ;

 8 input            rst ;     

 input            a ;

 wire            a ;

 output            b ;

 reg            b ;

 reg        [31:0]    cnt ;

 reg              clkout ;

 always @ ( posedge clk or negedge rst )

     begin

         if ( rst == 1'b0 )

             cnt <= 0 ;

         else  begin  if ( a==1'b1 ) begin

             if ( cnt >= 32'd3000000 )

             b <= 1 ;

             else

             cnt <= cnt + 1'b1 ;

            

             end

             else begin b <= 1'b0 ;

                 cnt <= 0 ;

             end

         end

     end

  endmodule                                                            功能实现:

 `timescale 1 ns / 1 ps

  module counter4 ( load ,clr ,c ,DOUT ,clk, up_down ,DIN ,sysclk , rst );

 

  input load ;

  input clk;

  wire load ;

  input clr ;

  wire clr ;

  input up_down ;

 wire up_down ;

 input [3:0] DIN ;

 wire [3:0] DIN ;

 input sysclk ;

 input rst ;

 output c ;

 reg c ;

 output [3:0] DOUT ;

 wire [3:0] DOUT ;

 reg    [3:0] data_r;

 /***************** 例化去抖模块  *************************************/

 wire     clk_r ;

 qu_dou qu_dou (

 .clk (sysclk) ,

 .rst (rst) ,

 .a (clk),

 .b  (clk_r));

 //*********************************************************************

 assign DOUT = data_r;

 always @ ( posedge clk_r or posedge clr or posedge load)     

     begin

         if ( clr == 1)      //同步清零

             data_r <= 0;

         else if ( load == 1) //同步预置

             data_r <= DIN;

         else begin if ( up_down ==1)

             begin

                 if ( data_r == 4'b1111)    begin     //加计数

                     data_r <= 4'b0000; 

                     c = 1;            

                     end

                 else  begin                //减计数

                     data_r <= data_r +1; 

                     c = 0 ;   

                 end           

             end

             else

                 begin

                 if ( data_r == 4'b0000)    begin     //加计数

                     data_r <= 4'b1111; 

                     c = 1;            

                     end

                 else  begin                //减计数

                     data_r <= data_r -1; 

                     c = 0 ;   

                 end           

             end    

         end   

     end           

 Endmodule

波形仿真图:

五、实验体会
 刚开始编程时对两位的位选信号不知道怎样更好地实现,通过老师的讲解,我明白了可以用clk1的高低电平来控制选择”01”、”10”实现一个两路选择器,在下载进行验证时,开始锁定的引脚不连续,不方便连线,后来重新锁定引脚后没有保存重新生成bit文件,导致我们的数码管不显示任何结果,经过询问老师后,重新下载成bit文件后出现了结果。总之,我通过这次试验,解决实际问题的能力得到了增强,收获颇大。


第二篇:上升沿触发的D触发器设计


EDA实验报告书

姓名        学号      实验时间     

更多相关推荐:
触发器实验报告

深圳大学实验报告课程名称学院计算机与软件学院实验时间实验报告提交时间教务部制注1报告内的项目或内容设置可根据实际情况加以调整和补充2教师批改学生实验报告时间应在学生提交实验报告时间后10日内

触发器及其应用实验报告

学生实验报告

电子技术实验报告5-触发器及其应用

学生实验报告

数字逻辑实验-触发器实验报告

本科学生综合性实验报告实验课程名称数字逻辑与数字系统

触发器 R-S、D 、J-K 实验报告(有数据)

实验五触发器RSDJK一实验目的1熟悉并掌握RSDJK触发器的构成工作原理和功能测试方法2学会正确使用触发器集成芯片3了解不同逻辑功能触发器相互转换的方法二实验仪器及器件1双踪示波器2实验用元器件74LS001...

D触发器及其应用实验报告

实验五D触发器及其应用实验人员班号学号一实验目的1熟悉D触发器的逻辑功能2掌握用D触发器构成分频器的方法3掌握简单时序逻辑电路的设计二实验设备74LS0074LS74数字电路实验箱数字双踪示波器函数信号发生器三...

数据库实验3 触发器报告

数据库专题训练触发器实验报告系别计算机科学与技术班级计113班姓名黄娟娟学号11101020xx4成绩评语指导教师签字日期实验二触发器一实验环境及要求触发器是一种特殊的存储过程不能被用户直接调用可以包含复杂的S...

触发器工作原理与功能测试 实验报告

中山大学南方学院电子通信与软件工程系学期数字电路与逻辑设计实验实验报告班级姓名学号成绩同组成员姓名学号一实验名称触发器工作原理与功能测试二实验目的1熟悉并掌握RSDJK触发器的构成工作原理和功能测试方法2学会正...

半加器和D触发器实验报告

VHDL硬件描述语言实验实验内容报告1半加器2D触发器半加器实验原理quot和quot与quot进位quot根据半加器的逻辑表达式可知半加器的和so是abco是ab相与所以半加器可以用两个与非门和一个异或门组成...

实验报告 10触发器的创建和使用

辽宁工程技术大学上机实验报告10使用SSMS创建触发器11使用SQL语句创建触发器在ST数据库的Student表上创建一个名为STdeletetrigger的触发器当执行DELETE操作时该触发器被触发禁止删除...

数据库存储过程与触发器实验报告

南昌航空大学实验报告二00年月日课程名称数据库概论实验名称数据库存储过程与触发器班级1220xx姓名同组人指导教师评定签名一实验环境1Windows20xx或以上版本2SQLServer20xx二实验目的熟悉不...

T触发器课程设计实验报告

课程设计报告课程名称课题专业班级计算机1001班学号姓名指导教师刘洞波陈华光陈多20xx年12月08日课程设计任务书课程名称数字逻辑课程设计课题专业班级计算机1001班学生姓名学号指导老师刘洞波陈华光陈多审批任...

触发器实验报告(40篇)