Quartus波形发生器频率可调verilog代码仿真

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

名称:Quartus波形发生器频率可调verilog代码仿真(文末下载)

软件:Quartus

语言:Verilog

代码功能:

波形发生器频率可调

可产生正弦波,锯齿波,三角波,方波4种波形(频率可调),

2.具有波形选择、起动、停止功能。

设计文档.doc

1. 工程文件

Quartus波形发生器频率可调verilog代码仿真,fpga开发

2. 程序文件

Quartus波形发生器频率可调verilog代码仿真,fpga开发

3. 程序编译

Quartus波形发生器频率可调verilog代码仿真,fpga开发

4. RTL图

Quartus波形发生器频率可调verilog代码仿真,fpga开发

5. Testbench

Quartus波形发生器频率可调verilog代码仿真,fpga开发

6. 仿真图

整体仿真图

Quartus波形发生器频率可调verilog代码仿真,fpga开发

Quartus波形发生器频率可调verilog代码仿真,fpga开发

相位累加器模块

Quartus波形发生器频率可调verilog代码仿真,fpga开发

锯齿波ROM

Quartus波形发生器频率可调verilog代码仿真,fpga开发

方波ROM

Quartus波形发生器频率可调verilog代码仿真,fpga开发

三角波ROM

Quartus波形发生器频率可调verilog代码仿真,fpga开发

sin波ROM

Quartus波形发生器频率可调verilog代码仿真,fpga开发

波形选择模块

部分代码展示:文章来源地址https://www.toymoban.com/news/detail-767756.html

timescale 1ns / 1ps
//输出频率f=clk_50M*frequency/2^10
module DDS_top(
    input clk_50M,//时钟输入
 input wave_en,//波形起的停止开关
    input [1:0] wave_select,//波形选择开关:00输出锯齿波,01输出sin,10输出方波,11输出三角波
    input [7:0] frequency,//频率控制字,控制输出波形频率
    output [7:0] wave//输出波形
    );
 
wire [9:0] addra;
wire [7:0] douta_fangbo;
wire [7:0] douta_sanjiao;
wire [7:0] douta_sin;
wire [7:0] douta_juchi;
//锯齿ROM
juchi_ROM i_juchi_ROM (
      .clock(clk_50M),    // input wire clka
      .address(addra),  // input wire [9 : 0] addra
      .q(douta_juchi)  // output wire [7 : 0] douta
    );
//方波ROM
fangbo_ROM i_fangbo_ROM (
      .clock(clk_50M),    // input wire clka
      .address(addra),  // input wire [9 : 0] addra
      .q(douta_fangbo)  // output wire [7 : 0] douta
    );
 
//三角波ROM
sanjiao_ROM i_sanjiao_ROM (
  .clock(clk_50M),    // input wire clka
  .address(addra),  // input wire [9 : 0] addra
  .q(douta_sanjiao)  // output wire [7 : 0] douta
);
//sin波ROM
sin_ROM i_sin_ROM (
  .clock(clk_50M),    // input wire clka
  .address(addra),  // input wire [9 : 0] addra
  .q(douta_sin)  // output wire [7 : 0] douta
);
//相位累加器
Frequency_ctrl i_Frequency_ctrl(
. clk_50M(clk_50M),
. frequency(frequency),//频率控制字
. addra(addra)//输出地址
    );
//波形选择控制
wave_sel i_wave_sel(
. clk_50M(clk_50M),
. wave_en(wave_en),
. wave_select(wave_select),//00输出锯齿波,01输出sin,10输出方波,11输出三角波
. douta_fangbo(douta_fangbo),//方波
. douta_sanjiao(douta_sanjiao),//三角
. douta_sin(douta_sin),    //正弦   
. douta_juchi(douta_juchi),
. wave(wave)//输出波形    
    );
endmodule

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

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

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

相关文章

  • 【FPGA/verilog -入门学习10】verilog 查表法实现正弦波形发生器

    用查找表设计实现一个正弦波形发生器 寻址的位宽是10位,数据量是1024个,输出的数据是16位 数据量是1024个: x = linspace(0,2*pi,1024) 输出数据是16位: y范围:0~2^16 -1 = 0~65535 y =( sin(x)+1)*65535/2 寻址的位宽是10位 输入是0~1023 1023 占用10位 操作步骤 1,使用matlab 生成数据,制作

    2024年02月05日
    浏览(67)
  • 多路波形发生器的控制

            本次波形发生器,主要使用运算放大器、NE555以及一些其他的电阻电容器件来实现。整体电路图如下所示: 产生的三角波如下: 正弦波如下 方波如下: 运算放大器(Operational Amplifier,简称OP-AMP)是一种重要的电子放大器,常用于模拟电路和信号处理电路中。它是

    2024年02月09日
    浏览(41)
  • 单片机课程设计波形发生器

    怎么说呢,前面半个月被这个单片机课程设计搞得焦头烂额的,再加上运气属实有点“好”,就脾气有点“暴躁”,好的,也就骂了半天的脏话。有一说一,没有素质确实舒服。 好了,事情目前是过去了,那就好好回顾一下遇到的问题,以及找到了怎样的解决方案,和最后仍

    2024年02月09日
    浏览(48)
  • 单片机实验——简易波形发生器设计

    波形发生器广泛地应用于电子和通信等领域,是应用最广泛的电子仪器之一,本设计用51单片机以及DAC0832实现基本波形的输出,参考电路如下: 可以产生方波、三角波、正弦波、锯齿波等波形,用仿真的示波器查看。 用4个按键分别控制输出相应波形。 利用C51设计程序完成以

    2024年02月12日
    浏览(47)
  • 51单片机入门教程(4)——波形发生器

    目录 1、总述 2、系统硬件设计  3、系统软件设计思路  3、测试与分析 (1)Proteus仿真测试 (2)直流稳压电源测试 (3)实物测试 该篇为51单片机入门教程的实战篇 ,本篇介绍了以51单片机和DAC0832数模转换芯片为核心的波形发生器,并对DAC0832和UA741的结构和工作原理以及电

    2024年02月08日
    浏览(46)
  • 基于51单片机的DAC0832波形发生器

    输出1HZ正弦波、三角波、方波、锯齿波 使用LCD1602显示 DAC0832的D0~D7数据输入口,IOUT1、IOUT2互补输出口,RFB反馈端口、 VREF基准电压值(一般是5V)。用定时器控制段码表输出速度来控制波形的频率。 (定时数值)*10^(-6)*256=波形频率。 ( 1 )锯齿波的实现原理:   锯齿波的实现

    2024年02月06日
    浏览(86)
  • NE555波形发生器手把手教程之NE555内部结构(一)

    工程链接:https://pan.baidu.com/s/1T-9bdnO1IrWUsjmRTl12zQ  提取码:py66   参数 供应电压:4.5-18V 供应电流:10-15mA 输出电流:225mA (max) 上升/下降时间:100 ns [3]  引脚位 ne555的结构图 Pin 1 (接地) :地线(或共同接地) ,通常被连接到电路共同接地 [3]  。 Pin 2 (触发点) :这个脚位是触

    2024年02月05日
    浏览(90)
  • Verilog | M序列发生器

    m序列 :最长线性反馈移位寄存器序列的简称。是一种反馈移位型结构的电路,由n个移位寄存器加异或反馈网络组成,反馈多项式为本原多项式,其最大序列长度 M = 2 n − 1 M = 2^n-1 M = 2 n − 1 。是一种伪随机序列、伪噪声码。 伪随机序列:不能预先确定但可以重复实现的序列

    2024年02月07日
    浏览(35)
  • Verilog设计_序列发生器

    一种序列信号发生器设计,周期性进行输出。 目录 一、序列发生器 二、代码实现 序列信号是指在同步脉冲作用下循环地产生一串周期性的二进制信号,能产生这种信号的逻辑器件则称为序列发生器。在设计中有些时候会需用使用某些非常特殊的数字信号,一般情况下就将这

    2024年02月09日
    浏览(42)
  • 蓝桥杯单片机学习13——NE555方波发生器&频率测量

    NE555是一种高度稳定的控制器,内部用三个阻值为5KΩ的电阻分压,因此叫做555芯片。能够产生精确的定时脉冲。单稳态工作时,延时由一个外部电阻和一个电容控制。工作稳定,频率和占空比由两个外部电阻和一个电容器精确控制。具有以下特点: 【1】:大电流驱动能力(

    2024年02月03日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包