VHDL编译器是否会对此进行优化?

时间:2017-05-24 13:19:50

标签: vhdl fpga compiler-optimization xilinx

如果我有一个类似下面那个依赖于常量参数的操作,编译器会看到这个if语句总是第一种情况,因此会优化它吗?

entity Thing is 
  generic(
    constant N : integer := 32;
    constant M : integer := 24
);

...

architecture behaviour of Thing is

...

  process(clk)
  begin
    if(rising_edge(clk)) then

      ...

      if N > M then
        -- do a thing
      else
        -- do a different thing
      end if;

    ...
    end if;
  end process;
end behaviour;

1 个答案:

答案 0 :(得分:2)

在我使用的任何综合工具中,任何常量(包括generics)都会在设计中传播,以便产生最简单的输出。这对性能有好处。