语句不能综合,因为它在not (时钟边缘)条件下不能保持其值
尝试在u_txack边沿上重置=>0信号u_txreq,并在时钟边沿上设置=>1它
process (CLK, u_reset_n, u_txack)
begin
if (u_reset_n='0')then
u_txreq<='0';
elsif rising_edge(CLK) then
u_txreq<='1';
elsif rising_edge(u_txack) then
u_txreq<='0';
end if;
end process;

发布于 2019-01-07 22:42:59
为了使HDL代码可综合,目标库中必须存在实现所请求功能的硬件。
目前还没有同时支持以下功能的硬件:
1/在低电平有效信号时同步复位a。(if (u_reset_n='0'))
2/上升沿触发(elsif rising_edge(CLK))
3/在的第二个独立上升沿触发。(elsif rising_edge(u_txack))。
您必须重写代码以仅使用一个上升或下降时钟沿。
发布于 2019-01-08 18:28:45
查看my signals synchronization async u_txack with sync CLK:
if rising_edge(CLK) then
count<=count+B"00000001";
n1_txack <= u_txack;
if( n1_txack='0' AND u_txack='1')
then
u_txreq<='0';
count<=B"00000000";
end if;
if (count=B"00000010") then
u_txreq<='1';
end if;
end if;https://stackoverflow.com/questions/54076345
复制相似问题