在一个工程中,我写了一个子模块,代码如下:
entity float_to_zheng is
port(din : in std_logic_vector(31 downto 0);
dout : out std_logic_vector(10 downto 0));
end float_to_zheng;
architecture Behavioral of float_to_zheng is
begin
process(din)
begin
if din(30 downto 23)="01111111" then
dout<="00000000001";
elsif din(30 downto 23)="10000000" then
dout<="000000000"&'1'&din(22);
elsif din(30 downto 23)="10000001" then
dout<="00000000"&'1'&din(22 downto 21);
...
elsif din(30 downto 23)="10001001" then
dout<='1'&din(22 downto 13);
end if;
end process;
end Behavioral;
在生成位流文件的时候,显示的警告如下:
Clock net u8/dout_not 0001 is sourced by a combinatorial pin.This is not good design practice.Use the CE pin to control the loading of data into the flip-flop.
请高手指点一下,这是怎么回事,该怎么改进呢?