AHB接口转APB
情景
有一个以AHB接口时序设计的IP,现在需将其移至APB总线上,即将使用APB接口时序驱动该IP。
基本思路
将APB的接口信号映射到AHB的接口信号
要点
APB挂接在AHB上,现在又将APB的接口转换为AHB接口,需留心关键信号的变化沿
分析
AHB与APB接口时序
AHB时序
APB时序
AHB接口
- AHB的Control信号在同一沿动作,而数据在下一个沿被采集
- hready表征salve(slv_hready)是否准备好,若为高电平(有效电平)AHB上的信号需延迟(保持),待hready为低时,Control信号才能进行后续操作
- hready信号在Control信号的下一拍动作(第二拍)
APB接口
- APB的控制信号(psel、penable、pwrite)在不同的沿动作(两个时钟沿)
- pready表征salve(pready)是否准备好,若为高电平(有效电平)APB上的信号需延迟(保持),待pready为低时,Control信号才能进行后续操作
- pready信号在Control信号的第二拍动作
处理方法
结合以上分析,AHB转换APB的关键是读写信号与ready信号的处理
将APB的控制信号变换到第一拍同时动作
pready保持在第二拍动作
assign hsel = psel&(!penable)
assign wr_valid = pwrite && psel;
assign pready = slv_hready;
assign pslverr = 1'b0;