美文网首页
SOC电路如何进行软硬件交互

SOC电路如何进行软硬件交互

作者: 罐头说 | 来源:发表于2019-08-08 23:09 被阅读0次

    软件通过C语言将要写的数据写入相应的地址中,硬件是如何获取的呢?

    硬件通过AMBA总线,用写入的方式,将haddr相应的hwdata写入某个寄存器中,然后硬件就可以用该寄存器中的值进行计算。

    always@(posedgehclk or negedge hresetn)

    begin

       begin

          case(haddr_r[7:0])

           PE_CONFIG_ADDR :        pe_en_r <= hwdata[0];//软件启动,软件置位

          endcase

       end

    end

    硬件将某个控制寄存器置位,软件是如何得到该控制寄存器的变化?

    硬件通过AMBA总线,用读出的方式,将该控制寄存器附给haddr相应的hrdata,然后cpu就知道控制寄存器的值发生了改变。

    always(*)

    begin

      if(ahb_rd_en && reg_sel)

      begin

      case(haddr_r[7:0])

    PE_CONFIG_ADDR :  hrdata={31'h0,pe_en_r};

    endcase

    end

    end

    相关文章

      网友评论

          本文标题:SOC电路如何进行软硬件交互

          本文链接:https://www.haomeiwen.com/subject/vcdqjctx.html