名稱:PWM寬調(diào)制電路設(shè)計verilog代碼basys3開發(fā)板(代碼在文末下載)
軟件:VIVADO
語言:Verilog
代碼功能:
寬調(diào)制電路設(shè)計:
(1)脈寬可調(diào);
(2)周期可調(diào);
(3)完成全部流程,設(shè)計規(guī)范文檔、模塊設(shè)計、代碼輸入、功能仿真、約束與綜合、布局布線、下載驗(yàn)證等。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在Basys3開發(fā)板驗(yàn)證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. Testbench
7. 仿真圖
部分代碼展示:
//PWM實(shí)現(xiàn)不同占空比的PWM輸出,占空比可調(diào) module?PWM_chn( input?clk,//時鐘 input?reset,//復(fù)位,高電平有效 input?[7:0]duty_word,//占空比控制字,0~100 output?reg?PWM_out//輸出方波脈沖 ); //pwm周期計數(shù)器,計數(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)//計數(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
閱讀全文