Verilog ICE40,如何在上电时重置设计

问题描述 投票:0回答:1

我正在使用 ICE40 和 Verilog 进行设计,并正在寻找可用于在上电时重置状态的信号。 FPGA 和 ICE40 是否提供特定的内置上电复位 (POR) 信号,还是我需要自己实现它,例如有一些计数器或延迟。

我的疑虑是,即使我实现了一个状态机来生成电源复位,如何在没有 POR 信号的情况下在上电时复位它?有点像先有鸡还是先有蛋。

我使用的开发板:Upduino3 https://github.com/tinyvision-ai-inc/UPduino-v3.0/blob/master/Board/v3.0/UPduino_v3.0.pdf

其使用的FPGA:ICE40UP5K-SG48ITR

工具链:APIO cli https://github.com/fpgawars/apio

verilog ice40
1个回答
0
投票

该板没有重置按钮。
FPGA 配置有一个上电复位(原理图上称为 CRESET_N),该复位不会传播到 FPGA 结构中(无法对此进行 verilog 访问)。

在这里找到了一些答案github
有好几个,这个比较简洁:

“点阵芯片不支持寄存器上的初始值。它们在启动和重置时被清除。几乎没有工具可以解决这个问题,因此据我所知,您需要路由初始化信号。我通常会做这样的事情:“

  reg ready = 0
   always @(posedge clk) begin
      if (ready)
        <run>
      else begin
        <initialize>
        ready = 1
      end
  end

建议您点击其他链接以了解链接中提出的各种想法。

© www.soinside.com 2019 - 2024. All rights reserved.