18路方波信号发生器设计Verilog代码Quartus仿真
名称:18路方波信号发生器设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
18路方波信号发生器设计
可以独立产生18路方波信号
方波信号的频率和占空比可调
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件

2. 程序文件


3. 程序编译

4. RTL图(结构图)


5. Testbench

6. 仿真图


仿真图分析

以第一路为例,第一路设置频率参数为200,对应200*50Hz=10000Hz=10KHz。设置的高电平时间参数为100,对应1000ns。

下图测得方波1的周期为100000000ps=100us对应10KHz,以此频率正确

测得高电平时间为1000000ps=1000ns,因此高电平时间正确,周期与高电平时间均正确,则占空比正确

部分代码展示:
//频率50Hz到10KHz,高电平10ns~1000ns module signal_generator( input clk,//100M时钟,周期10ns input [7:0]set_freque,//设置方波频率(1~200) input [7:0]set_high,//设置高电平时间(1~100) output reg square_wave//输出方波 ); //set_freque(1~200)对应频率50Hz到10KHz,乘以50 //set_high(1~100)对应高电平10ns~1000ns,乘以10 //分频参数调整 wire [31:0] div_parameter;//分频参数 assign div_parameter=32'd100000000/(set_freque*8'd50);//set_freque(1~200)对应频率50Hz到10KHz //占空比调整(设置高电平时间) wire [31:0] high_parameter;//高电平参数 assign high_parameter=(set_high*8'd10)/8'd10;//对应的100M时钟周期数 reg [31:0] div_cnt=32'd0; always@(posedge clk) if(div_cnt>=div_parameter-1) div_cnt<=32'd0; else div_cnt<=div_cnt+32'd1;//分频计数 always@(posedge clk) if(div_cnt<high_parameter)//设置方波高电平周期数 square_wave<=1;//高电平 else square_wave<=0;
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 18路方波信号发生器设计Verilog代码Quartus仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 18路方波信号发生器设计Verilog代码Quartus仿真