强制 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"。
总的来说,这是一个非常有用的文档,如果只是为了让您了解自己能做什么(和不能做什么),那么浏览它是非常有用的。
在 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"。
总的来说,这是一个非常有用的文档,如果只是为了让您了解自己能做什么(和不能做什么),那么浏览它是非常有用的。