电路的逻辑出现错误?

2019-07-16 01:23发布

我使用quartus的ip核生成了一个fft的核,顶层文件直接修改的自动生成的fft_tb.v测试分支文件,在使用signaltap监测时发现end_test这个信号有问题,在代码中对它的赋值只有一下这一段:
  1. always @(posedge clk)
  2.       begin
  3.         if (reset_n == 1'b0)
  4.           end_test <= 1'b0;
  5.         else if (end_input == 1'b1)                               
  6.                          end_test <= 1'b1;
  7. end               
复制代码但是虽然end_input这个信号一直是0,但是只要放开reset键,end_test信号就会自动变高,导致程序无法正常运行,不知道这样的问题是由于什么原因啊?应该如何解决?谢谢大家!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
johuang
1楼-- · 2019-07-16 06:01
把代码改为以下看看
  • always @(posedge clk)
  •       begin
  •         if (reset_n == 1'b0)
  •           end_test <= 1'b0;
  •         else if (end_input == 1'b1)
  •                          end_test <= 1'b1;
  •         else;
  • end
camp
2楼-- · 2019-07-16 09:15
end_input可能在reset后,某一个时钟,拉高一次,导致end_test变高,而你用signaltap 可能观察不到,请核对你的测试方法
youzizhile
3楼-- · 2019-07-16 12:15
end_input 是怎么控制的?是不是end_test控制了end_input 导致end_test赋值为1?

一周热门 更多>