资讯详情

Verilog数字系统设计教程第三部分练习三

一、题目:

利用10MHz设计单周期形状的周期波形时钟。us低电平,中间10us高电平,后20us低电平为50个周期us。

二、程序语句:

///程序代码: module single_period(clk_in, rst, clk_out); input clk_in, rst; output clk_out; reg clk_out; reg [9:0]j;  always @(posedge clk_in)  begin   if(!rst)                                ///    begin     j <= 0;     clk_out <= 0;    end   else if(j == 199)                        //第20us时翻转      begin       j <= j 1;       clk_out <= ~clk_out;      end   else if(j == 299)                        //第30us时再次翻转      begin       j <= j 1;       clk_out <= ~clk_out;      end   else if(j == 499)                        //第50us时归零      begin       j <= 0;       clk_out <= 0;      end   else    j <= j 1;          end  endmodule

三、testbench语句:

`timescale 1 ns/ 100 ps                    ///时间单位/时间精度 `define clk_cycle 50                       //时钟周期T=2*50ns module single_period_vlg_tst(); reg clk_in; reg rst;                                           wire clk_out;                          single_period i1 (   .clk_in(clk_in),  .clk_out(clk_out),  .rst(rst) ); initial                                    ///定义初始信号和复位端信号                                                  begin   rst = 1;   clk_in = 0;   #100 rst = 0;   #100 rst = 1;  end always #`clk_cycle clk_in = ~clk_in;       //10MHz信号翻转 initial                                    ///定义输入信号终止时间  begin   #500000 $stop;  end                                             endmodule

四、实验波形如下:ab3cea53d1e146cc8cd262b48599e609.png

Verilog夏宇闻,第四版数字系统设计教程。

标签: 接近开关移位传感器vlg10

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台