【发布时间】:2014-10-01 16:51:58
【问题描述】:
我一直在尝试将信号值分配给输出端口。当我模拟设计时,我得到了正确的信号秒输出,但是一旦我将信号的值分配给输出端口,它就会给我一个警告。此警告粘贴在下方。我尝试使用信号和输出都保持std_logic,但仍然得到相同的错误。
相信你会有我的答案。
提前致谢。
FF/Latch 在 block 中有一个常数值 0。
此 FF/Latch 将在优化过程中被修整。 WARNING:Xst:1896 - 由于其他 FF/Latch 微调,FF/Latch 在 block 中有一个常数值 0。
此 FF/Latch 将在优化过程中被修整。 WARNING:Xst:1896 - 由于其他 FF/Latch 微调,FF/Latch 在 block 中有一个常数值 0。
此 FF/Latch 将在优化过程中被修整。 WARNING:Xst:1896 - 由于其他 FF/Latch 微调,FF/Latch 在 block 中有一个常数值 0。
此 FF/Latch 将在优化过程中被修整。 WARNING:Xst:1896 - 由于其他 FF/Latch 微调,FF/Latch 在 block 中有一个常数值 0。
此 FF/Latch 将在优化过程中被修整。 WARNING:Xst:1896 - 由于其他 FF/Latch 微调,FF/Latch 在 block 中有一个常数值 0。
此 FF/Latch 将在优化过程中被修整。 WARNING:Xst:1896 - 由于其他 FF/Latch 微调,FF/Latch 在 block 中有一个常数值 0。
此 FF/Latch 将在优化过程中被修整。 WARNING:Xst:1896 - 由于其他 FF/Latch 微调,FF/Latch 在 block 中有一个常数值 0。
此 FF/Latch 将在优化过程中被修剪。
这是我的代码!
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity clock is
port ( CLKin: in std_logic;
CLKout: out std_logic);
end clock;
architecture arch of clock is
signal counter: integer:=0;
signal temp : std_logic := '1';
begin
process(CLKin,counter,temp)
begin
if(CLKin'event and CLKin='1') then
counter <=counter+1;
if (counter = 50000000) then
temp <= NOT temp;
counter<=0;
CLKout <= temp;
end if;
end if;
end process;
end arch;
【问题讨论】:
-
您的问题缺乏足够的信息。您至少可以发布您的代码吗?
-
警告表明您的分配将在某处出现问题(基本上锁存器正在优化)。
-
有关具有相同警告的成功问题示例,请参阅VHDL Synthesis - FF/Latch Constant Value。请注意变量的声明(在这种情况下),整数不受限制,导致所有修剪。答案实际上需要 VHDL 代码。