Quartus如何优化电路?

时间:2015-08-10 20:44:10

标签: fpga synthesis intel-fpga

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

例如,如果我的指令需要大多数模块,则逻辑消耗很大。但是,如果我使.hex文件仅使用某个模块,则逻辑消耗要少得多。

如果您不打算使用它,合成工具是否会自动优化模块?

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

1 个答案:

答案 0 :(得分:2)

如果你的某些逻辑没有扇出,即它没有驱动任何其他逻辑,那么它将在合成期间被删除。

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

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