verilog中产生方波的代码

这篇具有很好参考价值的文章主要介绍了verilog中产生方波的代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,感谢关注。最近在实验中用到了方波,于是写了一个在verilog中产生方波的代码,并亲测了一下。下面对方波的代码进行解释:

一,方波的信号参数中一共有一下几个参数:

1)周期/频率

2)高幅值

3)低幅值

4)“占空比”

本次的代码直接使用“占空比”是50%的常用方波,则可调参数分别是周期、高幅值和低幅值。

二,方波产生的思路:

先写一个计数器实现分频得到clk_div,再根据clk_div的大小进行方波的赋值。详细的代码如下:

其中:

1)通过更改square_wave_period对方波的周期进行调整

2)通过更改square_wave_amp_H对方波的高幅值进行调整

3)通过更改square_wave_amp_L对方波的低幅值进行调整文章来源地址https://www.toymoban.com/news/detail-524429.html

module square_wave_gen(
		input					clk,
		input					reset_n,
		input		[31:0]	square_wave_amp_H,    // 方波的幅度H
		input		[31:0]	square_wave_amp_L,   // 方波的幅度L
		input		[31:0]	square_wave_period,//matlab 赋值的方波的周期
		output	reg [31:0]	square_wave_out

    );
	 
reg	[31:0]	cnt ;
reg	clk_div;

always@(posedge clk or negedge reset_n)
	begin
		if(reset_n==0)
			begin
					cnt <= 32'b0;
					clk_div <= 1'b0;
			end
		else 
		if(cnt ==square_wave_period)//实现40Mhz到1hz分频
			begin
					cnt <= 32'b0;
					clk_div <= ~clk_div;
					 
			end
		else
			begin
					cnt <= cnt + 1'b1;
					 
			end

	end
 //----------------------------------

always@(posedge clk or negedge reset_n)
	begin
		if(reset_n==0)
			begin
					square_wave_out  <= 32'b0;
					 
			end
		else 
		if(clk_div ==1'b1)//实现40Mhz到1hz分频
			begin
					 
					 square_wave_out <= square_wave_amp_H;
			end
		else
			begin
					 
					 square_wave_out <= square_wave_amp_L;
			end

	end
	//----------------------------------
	
	
	
	
	

endmodule

到了这里,关于verilog中产生方波的代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Verilog实现FPGA上的信号延迟】—— 用Verilog代码实现将信号延迟N拍,这是FPGA中非常重要的一个操作,可以使数据在不同模块之间精确同步。

    【Verilog实现FPGA上的信号延迟】—— 用Verilog代码实现将信号延迟N拍,这是FPGA中非常重要的一个操作,可以使数据在不同模块之间精确同步。 模块是FPGA中最基本的构建模块。通常一个模块代表一个电路,包括输入、输出和处理逻辑。模块中包含的处理逻辑被称为时序逻辑。

    2024年02月04日
    浏览(74)
  • 【信号去噪和分类】基于小波的隐马尔可夫模型统计信号处理(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码、数据、文献

    2024年02月16日
    浏览(60)
  • Verilog基础:仿真时x信号的产生和x信号对于各运算符的特性

    相关阅读 Verilog基础 https://blog.csdn.net/weixin_45791458/category_12263729.html?spm=1001.2014.3001.5482         信号爆x也许是所有IC人的噩梦,满屏的红色波形常让人头疼不已,但x信号的产生原因却常常只有几种,只要遵循一定的代码规范,就可以避免产生信号中出现x的问题。         最常

    2024年02月05日
    浏览(51)
  • FPGA外部触发信号毛刺产生及滤波

    1、背景         最近在某个项目中,遇到输入给FPGA管脚的外部触发信号因为有毛刺产生,导致FPGA接收到的外部触发信号数量多于实际值。比如:用某个信号源产生1000个外部触发信号(上升沿触发方式)给到FPGA输入IO,实际上FPGA内部逻辑判定接收到的触发信号数量大于100

    2024年02月13日
    浏览(84)
  • 基于FPGA线性调频信号LFM的产生

    本文用了DDS来产生LFM信号,DDS的原理可以查看赛灵思的官方文档,这里不做赘述,同时对于LFM信号也不做赘述,直接上工程实现及其方法。 首先,我们要确定脉宽和PRI,在这里脉宽选取10us,PRI选取200us(fpga内部时钟用来100MHz),所以使用计数器去实现这两个信号的计数,当

    2024年02月16日
    浏览(88)
  • STM32 通过PWM输出一个方波并通过定时器输入捕获模式测量方波的周期(cubeMX+keil配置)

    前言:本文章用cubeMX和keil来进行代码编写,实现STM32的相应功能 本文章使用的STM32核心板是STM32H743VIT6,如果使用的是其他的核心板操作过程类似,可以尝试使用此教程。 (1)首先点击左侧的Timers  (2)选择一个定时器配置PWM 我选择的是TIM5,如上图 点击TIM5 Mode的配置如下

    2024年02月19日
    浏览(54)
  • 【FPGA零基础学习之旅#5】产生非等占空比信号

    🎉欢迎来到FPGA专栏~产生非等占空比信号 ☆* o(≧▽≦)o *☆ 嗨 ~我是 小夏与酒 🍹 ✨ 博客主页: 小夏与酒的博客 🎈该系列 文章专栏: FPGA学习之旅 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏 📜 欢迎大家关注! ❤️ 我们通过LED的亮灭来展现等占空

    2024年02月05日
    浏览(53)
  • 【FPGA教程案例34】通信案例4——基于FPGA的QPSK调制信号产生,通过matlab测试其星座图

    FPGA教程目录 MATLAB教程目录 ---------------------------------------------------------------------------------------   目录 1.软件版本 2.QPSK调制原理

    2023年04月12日
    浏览(64)
  • 定时产生不同频率方波

    /*-----------------------------------------------   内容:通过定时产生不同频率方波  ------------------------------------------------*/ #includereg52.h //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 /*------------------------------------------------                     定时器初始化

    2024年02月11日
    浏览(53)
  • 定时产生200ms方波

    /*-----------------------------------------------   内容:通过定时产生200mS方波  ------------------------------------------------*/ #includereg52.h //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 sbit OUT=P1^2;    //定义OUT输出端口 /*------------------------------------------------      

    2024年02月11日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包