强制 ISE 合成工具合成信号

force ISE synthesis tool to synthesize a signal

在 Xilinx ISE(使用 VHDL 语言)中,我定义了这些信号:

signal  counter  : integer range 0 to 24_000_000;
signal  chTriger : std_logic :='0';

并编写了以下代码:

process_counter: process(clk)
begin 
  if ( clk'event and clk = '1') then
    if (counter < 8192) then
        counter  <= counter + 1;
        chTriger <= not chTriger;
    end if;
  end if;
end process process_counter;`

在 ChipScope 的 select 网络菜单中,由于优化,既没有 counter 也没有 chTriger 信号。
如何强制 ISE 综合工具综合信号?

输出chTriger到FPGA的外部引脚。那就没法优化掉了。

并且由于 chTriger 依赖于 counter,因此 counter 也不会被优化掉。

通读赛灵思约束指南here 特别是综合约束。 有一个叫做 "KEEP"。

总的来说,这是一个非常有用的文档,如果只是为了让您了解自己能做什么(和不能做什么),那么浏览它是非常有用的。