名稱(chēng):PWM寬調(diào)制電路設(shè)計(jì)verilog代碼basys3開(kāi)發(fā)板(代碼在文末下載)
軟件:VIVADO
語(yǔ)言:Verilog
代碼功能:
寬調(diào)制電路設(shè)計(jì):
(1)脈寬可調(diào);
(2)周期可調(diào);
(3)完成全部流程,設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線(xiàn)、下載驗(yàn)證等。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在Basys3開(kāi)發(fā)板驗(yàn)證,開(kāi)發(fā)板如下,其他開(kāi)發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. Testbench
7. 仿真圖
部分代碼展示:
//PWM實(shí)現(xiàn)不同占空比的PWM輸出,占空比可調(diào) module?PWM_chn( input?clk,//時(shí)鐘 input?reset,//復(fù)位,高電平有效 input?[7:0]duty_word,//占空比控制字,0~100 output?reg?PWM_out//輸出方波脈沖 ); //pwm周期計(jì)數(shù)器,計(jì)數(shù)100 reg?[7:0]?count_duty=8'd0; always@(posedge?clk?or?posedge?reset) if(reset) count_duty<=8'd0; else if(count_duty>=8'd99)//計(jì)數(shù)0~99 count_duty<=8'd0; else count_duty<=count_duty+8'd1;//累加 always@(posedge?clk?or?posedge?reset) if(reset) PWM_out<=0; else if(count_duty<duty_word)//根據(jù)占空比輸出 PWM_out<=1;//輸出高電平 else PWM_out<=0;//輸出低電平 endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=293