fpga生成pwm简单案例

  • 易灵思相关代码
clike 复制代码
`timescale 1ns/1ns

parameter CLOCK_FREQ = 100_000;
parameter LED_ON_PERIOD = 2*CLOCK_FREQ; // 1 秒对应的时钟周期数除以 10,即亮 1 秒
parameter LED_OFF_PERIOD = 18*CLOCK_FREQ; // 19 秒对应的时钟周期数除以 10

module motor
(
    input               pll_inst1_CLKOUT0,
    input               pll_inst1_LOCKED,
    output              led,
    output              pwm0,
    output              pwm1,
    output              pwm2,
    output              pwm3,
    output              pwm4,
    output              pwm5
);

wire    clk_ref = pll_inst1_CLKOUT0;        
wire    sys_rst_n = pll_inst1_LOCKED;

reg [31:0] counter;
reg led_state;

always @(posedge clk_ref or negedge sys_rst_n) begin
    if (!sys_rst_n) begin
        counter <= 0;
        led_state <= 0;
    end else begin
        counter <= counter + 1;
        if (counter < LED_ON_PERIOD) begin
            led_state <= 1;
        end else if (counter < LED_ON_PERIOD + LED_OFF_PERIOD) begin
            led_state <= 0;
        end else begin
            counter <= 0;
        end
    end
end

assign led = led_state;
assign pwm0 = led_state;
assign pwm1 = led_state;
assign pwm2 = led_state;
assign pwm3 = led_state;
assign pwm4 = led_state;
assign pwm5 = led_state;

endmodule
  • 直接分配占空比失败 改成了闪烁的逻辑
  • 尽量先用简单逻辑试一试 参考案例较少
  • 注意再xilinx里面 pwm等历程比较丰富 但是尽量少调用ip包 (那种黑箱太多的 尤其ai类)
  • fpga尽量verliog逻辑走 目前尽量不要复杂逻辑 尤其复杂通信算法(用了要确保时序 注意) 但是通信相关的数据吞吐非常好
相关推荐
玩嵌入式谁会脱发呀2 小时前
【FPGA】 verilog设计spi读写flash实现数据DMA搬运
fpga开发
LabVIEW开发1 天前
LabVIEW 如何把地下震源定位误差做到5米内
fpga开发·labview·labview知识·labview功能·labview程序
Dr.kangder1 天前
嵌入式处理器架构解析(十)——DSP+FPGA
fpga开发·架构·嵌入式
szxinmai主板定制专家2 天前
Zynq MPSoC实现半导体真空腔体状态监测|FPGA多传感器时序同步采集方案
fpga开发·zynq·控制器·mpsoc·半导体设备·fpga同步
学习FPGA的电气小兴兴2 天前
基于FPGA的DDS信号发生器设计,生成频率可调的正弦波、三角波、锯齿波和方波
fpga开发·数字信号处理·fpga·vivado·dsp·dds·diy
szxinmai主板定制专家2 天前
Zynq MPSoC半导体高精度运动控制方案|FPGA硬件插补实现亚微米级伺服实时控制
人工智能·嵌入式硬件·fpga开发·zynq·运动控制·ethercat
星夜离尘563 天前
ILA 在线调试:Vivado 抓取片内信号与定位下板问题(附完整实操)
fpga开发
jz_ddk3 天前
[学习] 深入理解 USB 通信与 FPGA 实现:从协议到逻辑设计
学习·fpga开发·xilinx·usb2.0
星夜离尘564 天前
PWM 信号生成与呼吸灯:占空比控制、按键调光与舵机扩展(附完整 Verilog 实操)
fpga开发