FPGAExpress:总线的单个位不能用作时钟信号-Xilinx-AMD社区-FPGA CPLD-ChipDebug

FPGAExpress:总线的单个位不能用作时钟信号

描述

紧迫性:标准

一般描述:

FPGAExpress不允许总线的单个位用作时钟信号。

下面的代码将导致FPGA Express崩溃:

前& GT;

库IEEE;

使用IEEE.STDYLogiCy1164.ALL;

实体总线

端口(BigCLK:在StdLogLogic向量中(3下降到0);

DIN:在StdLogLogic向量(3下降到0);

RST,EN:在STDYLogic中;

DUT:OUT STDYLogLogic向量(3下降到0);

结束总线;

布斯克建筑群

开始

进程(RST,BigCK(3),EN)开始

如果(RST=‘1’)

DUT(3)& lt;=“0”;

Esisif(BigCLK(3)′事件和BigCK(3)=1′)

如果(EN=‘1’)然后

DUT(3)& lt;=DIN(3);

如果结束;

如果结束;

结束过程;

尾岔;

&;

解决方案

解决方法是首先将总线位分配给中间信号,如图所示:

前& GT;

库IEEE;

使用IEEE.STDYLogiCy1164.ALL;

实体总线

端口(BigCLK:在StdLogLogic向量中(3下降到0);

DIN:在StdLogLogic向量(3下降到0);

RST,EN:在STDYLogic中;

DUT:OUT STDYLogLogic向量(3下降到0);

结束总线;

布斯克建筑群

信号ITCLK3:STDYLogic;

开始

ItClk3& lt=BigClk(3);

进程(RST,ITCLK3,EN)开始

如果(RST=‘1’)

DUT(3)& lt;=“0”;

ELSIF(ITCLK3’事件和ITCLK3=‘1’)

如果(EN=‘1’)然后

DUT(3)& lt;=DIN(3);

如果结束;

如果结束;

结束过程;

尾岔;

&;

请登录后发表评论

    没有回复内容