布局和路线时间策略

时间:2014-05-21 13:22:55

标签: vhdl fpga xilinx

这听起来很幼稚,但我想请您对以下伪代码进行专家评论。以下两种方法中的哪一种可以实现最小的位置和在硬件中实现的路由时序。

方法:1

control_proc: process(clk)
begin
    if(clk'event and clk=='1') then
        if sig_delay == 1 then
            sig_ctrl <= '1';
        else
            sig_ctrl <= '0';
        end if;

    end if;
end process


delay_proc: process(clk)
begin
    if(clk'event and clk=='1') then
        if <some-condition> then
            sig_delay <= '1';
        else
            sig_delay <= '0';
        end if;
    end if;
end process

方法:2

control_single_proc: process(clk)
begin
    if(clk'event and clk=='1') then
        if <some-condition> then
            sig_delay <= '1';
        else
            sig_delay <= '0';
        end if;

        if sig_delay == 1 then
            sig_ctrl <= '1';
        else
            sig_ctrl <= '0';
        end if;

    end if;
end process

注意: sig_ctrl用作层次结构中另一个组件的CE(芯片启用),这是一种位串行器。

1 个答案:

答案 0 :(得分:0)

你的两种方法是等价的。任何好的综合工具都能够在两种情况下执行相同的优化。

可能阻止综合工具优化逻辑等效硬件的各种事物是实体层次结构/设计分区边界,但是大多数工具无论如何都会在优化之前弄平网表。

方法2 可能会在模拟中略微提高,因为要安排的流程较少。