【问题标题】:How Quartus optimize your circuit?Quartus 如何优化您的电路?
【发布时间】:2015-08-10 20:44:09
【问题描述】:

我正在使用 Altera FPGA 来设计一些电路。在用 Quartus 综合的过程中,我发现如果我给不同的输入信号(我的输入信号是一个 .hex 文件,里面存储了一堆指令),逻辑元素的消耗是不同的。

例如,如果我的指令需要大部分模块,那么逻辑消耗就很大。但是,如果我使 .hex 文件只使用某个模块,那么逻辑消耗要少得多。

如果你不打算使用,合成工具会自动优化模块吗?

我的输入信号实际上存储在指令存储器中,我的处理器每个时钟周期执行一条指令。我在 .hex 文件中写了指令,然后在指令内存模块中,我使用 $readmemh("primenum.hex",Instruction_Memory); 从 .hex 文件中读取指令。

【问题讨论】:

  • “我的输入信号是一个 .hex 文件”——具体是怎么做的?
  • @Qiu 我已经更新了我的问题,请看一下。谢谢

标签: fpga synthesis intel-fpga


【解决方案1】:

如果您的某些逻辑没有扇出,即它没有驱动任何其他逻辑,那么它将在综合过程中被移除。

如果没有修改指令存储器状态的逻辑,那么它将被实现为 ROM。由于指令存储器驱动逻辑执行特定指令,因此综合工具将删除任何不受指令存储器中指令集驱动的模块。

为防止这种情况发生,您需要将您的设计连接到一些可以修改指令存储器状态的 I/O。如果在综合时要执行的指令集是未知的,那么综合工具将假定指令存储器可以采取任何状态,这意味着它最终可以驱动任何可能的指令(模块)的逻辑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多