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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6900|回复: 18

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

[复制链接]
发表于 2016-7-11 09:25:45 | 显示全部楼层 |阅读模式
100资产
模块代码:module fpga_rst(
   input clk,
   input rst,

output [7:0] dout
    );
reg [7:0] data = 8'h5a;
always @ (posedge clk or negedge rst)begin
   if(rst==1'b0)begin

   data <= 8'h0;

end

else begin

   data <= data + 1;

end
end
assign dout = data;
endmodule


     测试代码:
module tb_fpga_test;

reg clk;

reg rst;

wire [7:0] dout;

fpga_rst uut (

.clk(clk),

.rst(rst),

.dout(dout)

);
       initial begin

   clk = 0;

forever #5 clk = ~ clk;

end


initial begin

rst = 0;

#111;

rst = 1;


end

endmodule


     实际的仿真波形:



   问题:

   为什么从一开始 输出就被复位了?我的理解是dout的初始值应该为5a,然后在clk的第一个上升沿的时候检测到rst=0才复位到0;但是实际的仿真结果给我的感觉是negedge rst这个条件被触发了,但是我给的rst信号一开始就是0然后才为1,就没有下降沿,怎么会触发呢?

发表于 2016-7-11 09:33:02 | 显示全部楼层
寄存器貌似不能设置初始值的,只能通过复位才能置位或复位;
wire型是可以设置初始值的。
 楼主| 发表于 2016-7-11 09:41:26 | 显示全部楼层
回复 2# harry_hust

xilinx的fpga的FF是可以设置初始值的,初始值是FF的一个属性,编译工具也可以识别。xilinx的fpga的FF的初始值和复位值并不一样。
另外,wire型不能设置初值。


我试过:如果一开始不给rst=0,也就是不复位,仿真结果是:一开始FF加载的是初始值5a,谢谢。


请回答我问的问题,谢谢~
4.png
 楼主| 发表于 2016-7-11 09:42:23 | 显示全部楼层
原帖中仿真图没加进去,请看我的回复中添加的图
发表于 2016-7-11 09:47:47 | 显示全部楼层
从unknown到0,仿真工具也认为是下降沿
 楼主| 发表于 2016-7-11 09:51:42 | 显示全部楼层
回复 5# vongy


   谢谢~   你的意思是我虽然在仿真时刻0给rst=0,但是仿真工具依然认为rst是从一个unkonwn状态转换为0的,然后认为它是一个下降沿,从而触发always块的执行对吗?
发表于 2016-7-11 09:54:51 | 显示全部楼层
回复 6# xduryan


   你可以基于5楼的,换成高电平复位试试
 楼主| 发表于 2016-7-11 10:00:21 | 显示全部楼层
回复 7# harry_hust


   结果一样,可能仿真器也认为从未知态到1是上升沿
发表于 2016-7-11 10:02:08 | 显示全部楼层
寄存器变量你赋了一个初始值,这种情况只能用于仿真,是不能用来跑程序的,程序运行的时候,寄存器的值是默认值,Xilinx与Altera都是默认为0。
 楼主| 发表于 2016-7-11 10:03:02 | 显示全部楼层
回复 5# vongy


  我刚截的图,从图中约么可以看出在仿真最开始的时候clk和rst的电平处在中间的位置,但是放大的话就看不出来,必须得缩小了才能看到。
这一部分是不是就是你说的unkown状态
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-22 20:18 , Processed in 0.026303 second(s), 9 queries , Gzip On, Redis On.

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