Fpga 强制ISE合成工具合成信号
在Xilinx ISE(使用VHDL语言)中,我定义了以下信号:Fpga 强制ISE合成工具合成信号,fpga,xilinx-ise,Fpga,Xilinx Ise,在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 counte
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;`
process\u计数器:进程(clk)
开始
如果(clk'事件和clk='1'),则
如果(计数器<8192),则
计数器输出chTriger
到FPGA上的外部引脚。那么它就不能被优化了
由于chTriger
依赖于计数器
,因此计数器
也不会被优化掉。请通读Xilinx约束指南
特别是综合约束。
有一种叫做“保持”
一般来说,只要你知道你能做什么(不能做什么),浏览它是一个非常有用的文档 我做到了,但芯片范围内没有触发!此外,我想在芯片范围内实现许多信号,不适用于将它们定义为输出。将调试所需的管脚放在输出上是个坏主意。在许多情况下,你不会有足够的引脚-这就是为什么我们使用ChipScope而不是真正的逻辑分析仪。它对信号的定时有着巨大的影响。从问题中不清楚这是一个仅调试的信号-整个<代码>计数器代码>正在被优化掉,这意味着它的输出目前还没有连接到任何有意义的东西-这也会对定时产生巨大的影响。如果还没有实现将要驱动的计数器
,那么临时驱动一个测试点是有用的-在这种情况下,这可能有用,也可能不有用,但没有足够的信息来判断。(如果受到适当约束,任何时间问题都应该出现在静态时间分析中)。(只是要明确一点——我确实同意接受的答案)我的问题的完美答案:您还应该在合成选项中将“保持层次结构”设置为soft
或rebuilded
。。