FPGA自学:利用主时钟产生周期方波

本文介绍了如何通过FPGA利用主时钟产生周期方波,主要方法包括使用计数器对时钟脉冲进行计数,当计数值达到方波周期的一半时切换高低电平,从而实现方波的生成。同时,文章提供了相关代码及仿真结果。
摘要由CSDN通过智能技术生成

利用主时钟产生周期方波的基本思路:

1)利用计数器对时钟沿进行计数,计数总数为方波周期/时钟周期;

2)计数总数的一半为高电平,另一半为低电平。

代码:

module Adv(clk_5m,rst,clk_25hz);

input clk_5m;
input rst;
output clk_25hz;

reg [17:0]cnt;
reg clk_25hz;

always @(posedge clk_5m or negedge rst)
	if(!rst) 
		cnt <= 0;
	else if(cnt<199999)
		cnt <= cnt+1;
	else 
		cnt <= 0;
  

always @(posedge clk_5m or negedge rst)
	if(!rst)
		clk_25hz <= 0;
	else if(cnt<99999)
		clk_25hz <= 1;
	else 
      clk_25hz <= 0;


endmodule

 

仿真代码编写:

`timescale 1ns/1ns
`define clk_period 200   //200ns=5Mhz

//定义模块
module Adv_tb;

//定义激励接口(信号发生器接口)
reg clk_5m_tb;
reg rst_tb;
wire clk_25hz_tb;

//连线(信号发生器信号接入模块)
Adv Avd1(
.clk_5m(clk_5m_tb),
.rst(rst_tb),
.clk_25hz(clk_25hz_tb)
);

//输入激励(信号发生器信号波形参数控制输出)
ini
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值