在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4539|回复: 10

[求助] 一个关于fpga复位的问题

[复制链接]
发表于 2018-3-1 17:27:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我的fpga板没有对fpga进行硬件复位的设计,导致fpga的程序没有复位的设计,正常情况下fpga初始化完成后所有寄存器初始化为零,但不知道为什么我的程序初始化完成后所有寄存器不是初始化为零,led_stage初始化完成后不是为8'b00000000,而是为8'b00000001,led初始化完成后却为8'b00000000,大家可以帮我看看这是什么原因吗?

module four
(
output reg [7:0] led,   
input I_sys_clk
);

reg [7:0] led_stage;
reg [50:0] led_counter;
always@(posedge I_sys_clk )
begin
case(led_stage)
8'b00000000:
begin
led_counter<=0;
led_stage<=8'b00000001;
led<=8'b11110000;
end
8'b00000001:
begin
if(led_counter==30000000)
        begin
        led<=~led;
        led_counter<=0;
        end
        else
        begin
        led_counter<=led_counter+1;
        end
end

endcase
end

endmodule
发表于 2018-3-1 17:38:48 | 显示全部楼层
你可以写一个软件复位。
正常情况下fpga初始化完成后所有寄存器初始化为零。你看到led_stage状态是实际下板子跑还是仿真的?
定义的时候也可以初始化reg [7:0] led_stage = 8'b00000000;
 楼主| 发表于 2018-3-2 08:11:00 | 显示全部楼层
回复 2# 秋天叶子落


    实际板子的
 楼主| 发表于 2018-3-2 08:13:05 | 显示全部楼层
回复 3# sarlaga
软件复位怎样实现?
发表于 2018-3-2 08:36:40 | 显示全部楼层
芯片上电之后寄存器不一定默认为0,要看你用的是哪个厂家的芯片。
软复位是老问题了,论坛里面估计都有不少帖子。
发表于 2018-3-2 09:11:36 | 显示全部楼层
顶了,
发表于 2018-3-2 11:20:45 | 显示全部楼层
看代码  风格就是学计算机的渣渣
发表于 2018-3-2 11:31:06 | 显示全部楼层
回复 7# 435661979


   楼上说的对啊
发表于 2018-3-9 16:51:40 | 显示全部楼层
FPGA一般都有POR功能,即上电复位。内部寄存器在上电后,初始值都是0,。楼主的问题是代码的问题,代码中当led_stage为0时,来一个时钟信号就编程8‘b00000001了,所以实际测量的应该是8‘b00000001。如果是仿真,可以在testbench里面指定寄存器的初始值,否则的话是不定态。
发表于 2018-3-10 13:21:38 | 显示全部楼层
楼上的几位说的很正确
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-23 01:57 , Processed in 0.020664 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表