新手入门
- 积分
- 8
- 金钱
- 8
- 注册时间
- 2023-6-23
- 在线时间
- 0 小时
|
1金钱
- module flow_led
- (
- input sys_clk,
- input sys_rst_n,
- output reg[3:0] led
-
- );
- reg[23:0] counter;
- //计数器对系统时钟计时, 计时0.2s
- always @(posedge sys_clk or negedge sys_rst_n) begin
- if(!sys_rst_n)
- counter = 24'd0;
- else if (counter < 24'd1000_0000)
- counter = counter + 1'b1;
- else
- counter = 24'd0;
- end
- // 通过移位寄存器控制IO口的高低电平,从而改变LED的显示状态
- always @(posedge sys_clk or negedge sys_rst_n) begin
- if(!sys_rst_n)
- led = 4'b0001;
- else if(counter == 24'd1000_0000)
- led[3:0] = {led[2:0], led[3]};
- else
- led = led;
- end
- endmodule
复制代码 上面代码是流水灯的代码,用modelsim仿真的话看着没问题,但是写入到fpga里面,流水灯基本不动
把cuunter修改为1_0000后,流水灯几秒钟变一次
把counter修改为1000后,流水灯有时候变很快有时候变很慢
感觉很奇怪,是代码哪里出问题了吗
有一个关于时钟的错误,不知道是不是因为这个?
Warning (332060): Node: sys_clk was determined to be a clock but was found without an associated clock assignment.
|
|