|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我首先实现了一个用两位拨码开关控制输出的PWM,代码如下:
- modulepwm(clk,switches,PWM_out);
- parameter sd = 12500;//这是最小间隔,2个播码开关总共可以有4级的强度。每级的计数间隔为sd
- input clk; //50MHz
- input [1:0] switches;
-
- output PWM_out;
- reg PWM_out;
- reg [15:0] counter = 0;
-
- always@ (posedge clk)begin
- counter <= counter+1;
- if(counter<=switches*sd)
- PWM_out <= 1;
- else
- PWM_out <= 0;
- if (counter >=50000)
- counter <= 16'd0;
- end
- endmodule
复制代码
现在我想加入一个控制按键key3,当键值为1时,让端口LED1输出PWM波,也就是说PWM_out赋给LED1就行了,同样当键值为0时,让LED2输出PWM波。
我是这样写的:
- always@ (posedge clk or negedge rst_n) begin
- if(!rst_n) counter <= 16'd0;
- else if(key3)
- assign LED1 = PWM_out;
- else assign LED2 = PWM_out;
- end
复制代码
这个有错误
Error (10043): Verilog HDL unsupported feature error at pwm.v(35): Procedural Continuous Assignment to register is not supported |
|