apb slave设计

//slave 设计

module APB_slave_bywl(

    input wire pclk,

    input wire preseten,

    input wire psel,

    input wire penable,

    input wire pwrite,

    input wire [63:0]pwdata,        

    input wire [63:0]paddr,         //输入信号不能是reg型

    output wire pready,

    output reg [63:0] prdata        

);

    parameter  REG1_ADDR=16'h0;

    parameter  REG2_ADDR=16'h8;

    parameter  REG3_ADDR=16'h10;

    reg [63:0] REG1;

    reg [63:0] REG2;

    reg [63:0] REG3;

    reg [63:0] NOT_valid_REG;

   


 

    assign pready = 1'b1;

    wire pwrite_valid,pread_valid;

    assign pwrite_valid = (pwrite && psel && penable );

    assign pread_valid = (~pwrite && psel && penable );

    always@(posedge pclk or negedge preseten)

    begin

        if(!preseten)

            begin

                REG1 <= 64'b0;

                REG2 <= 64'b0;

                REG3 <= 64'b0;                                            

            end

        else if(pwrite_valid)

            begin

                case(paddr[15:0])

                    REG1_ADDR: REG1 <= pwdata;

                    REG2_ADDR: REG2 &

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值