您的位置 首页 厂商

FPGA的两种处理器中止形式

FPGA的两种处理器中断模式-边沿触发用的很少,一般还是以下降沿触发为主。当设备完成一个数据后,会输出一个下降沿,触发处理器。而电平触发,是输出一个电平,并且会保持这个电平, 至到系统处理或者清除该中断后才会输出另外的电平。

一切的入门的屌丝都是知道处理器中止形式是两种是边缘触发和电平触发。

边缘触发用的很少,一般仍是以下降沿触发为主。当设备完结一个数据后,会输出一个下降沿,触发处理器。而电平触发,是输出一个电平,并且会坚持这个电平, 至到体系处理或许铲除该中止后才会输出别的的电平。

FPGA的两种处理器中止形式

在fpga经常会遇到AXI总线或许AVALON总线,总线接口经常是电平触发。假如fpga一端是主控一端。需求规划中止触发状况机以及铲除中止操作。

always@(clk)

begin

if(rst)

else if(irq)

state <= irq_state;

else case (state)

….

end

上述代码,目测是没有问题,可是问题便是irq是电平触发,代码会一向在if(irq)中,不会进入case句子,这个会导致irq一向没方法铲除,一向代码死在if(irq)中。

处理上述方法,一个是得到irq边缘触发,假如高电平有用,便是上升沿。假如是低电平,便是下降沿。

所以代码便是

if(rst)

else if(irq_rising)

else case(state)

这个状况也会导致一个问题,便是假如进入正常的状况,转移到这个状况,会导致数据悉数紊乱。当然,用轮询状况时机好点。也便是说在状况机中运用轮询irq是否高电平。

case(state)

idle :

normal_irq_sw:

begin

if(normal_req)

。。。

else if(irq)

state <=irq——state

end

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/337779.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部