最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

verilog十六分频实现

来源:动视网 责编:小OO 时间:2025-10-02 01:05:58
文档

verilog十六分频实现

《FPGA实验》实验报告(用计数方法实现一个16分频电路)学院:物理与信息工程学院专业:微电子姓名:汪小东学号:111000529一、实验目的及要求实验目的:进一步熟悉verilog语言,学会熟练操作modelsim软件,并用它进行仿真,为以后的进一步发展打下良好基础.实验要求:使用计数方法实现一个16分频电路,用Verilog写出电路实现程序以及测试文件.二、实验设备(环境)及要求实验软件:ModelSimSE6.2b三、实验内容与步骤1.实验总体设计思路用一个计数器(counter)来计数
推荐度:
导读《FPGA实验》实验报告(用计数方法实现一个16分频电路)学院:物理与信息工程学院专业:微电子姓名:汪小东学号:111000529一、实验目的及要求实验目的:进一步熟悉verilog语言,学会熟练操作modelsim软件,并用它进行仿真,为以后的进一步发展打下良好基础.实验要求:使用计数方法实现一个16分频电路,用Verilog写出电路实现程序以及测试文件.二、实验设备(环境)及要求实验软件:ModelSimSE6.2b三、实验内容与步骤1.实验总体设计思路用一个计数器(counter)来计数
《FPGA实验》

实验报告

(用计数方法实现一个16分频电路)

学院:物理与信息工程学院

专业:微电子

姓名:汪小东

学号:111000529

一、实验目的及要求

实验目的:进一步熟悉verilog语言,学会熟练操作modelsim软件,并用它进行仿真,为以后的进一步发展打下良好基础.

实验要求:使用计数方法实现一个16分频电路,用Verilog写出电路实现程序以及测试文件.

二、实验设备(环境)及要求

实验软件:ModelSim SE 6.2b

三、实验内容与步骤

1.实验总体设计思路

用一个计数器(counter)来计数,当计数器等于7时,让输出结果翻转,同时计数器置零,如此往下.

a.输入端口为有时钟信号clk以及复位信号reset,输出为dout,先用reset信号把clk和dout都清零.

b.在时钟上升沿触发,如果计数器counter等于7,则把dout翻转且把counter清零,否则的话counter自加一.

c.这样的话就可以实现对时钟信号的16分频.

2.测试平台设计

模块设计:

`timescale 1ns/1ns

module div_16(clk,

reset,

dout);

 input clk                                 // 时钟信号

input reset;                              // 清零端reset,且高电平有效

 output dout;                     

  reg[2:0] counter;                        // 设置一3位计数器

  reg dout;

  always@(posedge clk or posedge reset)    // 在时钟上升沿和复位端上升沿触发

begin

if(reset)                                

       begin

         counter=0;

          dout=0;                           // 复位端起作用,计数器和输出结果都清零

        end

       else   if(counter==7)                // 若计数器counter为7,dout翻转且计数器清零

         begin                                       

            dout=~dout;

             counter=0;

          end

                else

                    counter=counter+1;        // 否则的话计数器自加1

    end

endmodule                                      //结束

Tesetbench如下:

`timescale 1ns/1ns

module div_bench;

reg clk;

reg reset;

  wire dout;

  div_16 d1(clk,reset,dout);                            // 实例化

  

  always 

   begin                                                 // 对时钟信号clk赋值

    #10 clk=0; 

    #10 clk=1;

   end

  initial

   begin                                               

    reset=1;                                           // 对复位信号reset赋值

    #5 reset=0;

    #1000 $finish;                                      // 1000ns仿真结束

    end

  initial

   $monitor("dout changed to %b at time %t,%b",dout,$time);//监视输出结果

Endmodule                                                  //结束

四、实验结果与数据处理

1.Modelsim仿真结果,波形图。

仿真结果波形图如下:

上图中第一条线是时钟信号(clk),第二条是复位信号(reset),第三条是输出结果(dout),第四条是设置的三位计数器(conuter),复位信号在0时刻清零此时dout和counter都复位,5秒时复位信号失去作用,clk 10ns开始产生,并且周期为20ns,从仿真波形图中可以看出,dout的周期变为clk的16倍,也就是16分频,这正是我们期望的.

文档

verilog十六分频实现

《FPGA实验》实验报告(用计数方法实现一个16分频电路)学院:物理与信息工程学院专业:微电子姓名:汪小东学号:111000529一、实验目的及要求实验目的:进一步熟悉verilog语言,学会熟练操作modelsim软件,并用它进行仿真,为以后的进一步发展打下良好基础.实验要求:使用计数方法实现一个16分频电路,用Verilog写出电路实现程序以及测试文件.二、实验设备(环境)及要求实验软件:ModelSimSE6.2b三、实验内容与步骤1.实验总体设计思路用一个计数器(counter)来计数
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top