AMBA总线
文章平均质量分 91
协议简介
weixin_45230720
这个作者很懒,什么都没留下…
展开
-
基于vivado的 AXI Verification IP对AXI接口进行仿真
vivado提供了一个AXI VIP设计实例,接下来就生成IP设计实例,并且仿真这个设计案例。原创 2023-08-30 16:42:29 · 1295 阅读 · 0 评论 -
AXI4总线介绍
介绍AXI之前,要知道ARM AMBA(Advance Microcontroller Bus Architecture),这是ARM在1996年提出的一个微控制器的片上总线协议,大家熟悉的AHB或APB等总线协议都是AMBA的一部分,而AXI在AMBA 3.0版本成为该协议的一部分,目前Xilinx的7系列FPGA中用的是AMBA 4.0版本中的AXI协议,所以你会看到Vivado中带AXI接口的IP介绍都是AXI4打头。它们的关系如下图所示:AXI4总线有四种类型:AXI4、AXI4-Lite和AXI4原创 2023-08-27 22:49:06 · 1993 阅读 · 0 评论 -
AHB2APB同步桥设计实例
很多人包括我自己在第一次接触AHB的时候,会被它的两个HREADY信号搞混,分别是HREADYOUT和HREADY(IN)信号。,例如写操作时,Slave是否可以将数据存下来。本质上是Slave对Master的反压信号。。每个Slave在采样地址和控制信号的时候,都要看这个HREADYIN信号是否为1,如果为0的话则代表别的Slave还有未完成的传输,因此不能采样地址和控制信号。首先我们思考一个问题,HREADYOUT默认的复位值应该是多少?然后我们再思考一下,如果没有HREADYIN信号会怎么样?原创 2023-08-25 16:08:40 · 901 阅读 · 0 评论 -
基于AHB2协议的SRAM控制器设计
我们要设计的模块为紧耦合SRAM(Tightly coupled memory),。且只支持32bit位宽的SRAM。支持按字节写,该模块除了用在IC设计中,也可以用在FPGA设计中,因为一般FPGA提供的MIG,只支持AXI或者native接口,这种情况下还是需要AHB2SRAM这个模块完成协议转换的。原创 2023-08-23 15:40:25 · 602 阅读 · 1 评论 -
AHB-Lite 协议简介
全局信号APB总线复位信号为低有效并且通常将该信号直接连接到系统总线的复位信号Master 信号Slave 信号可以看到Slave产生的信号都是送给MUX的,由MUX选择其中一个,送到MasterDecoder 信号Decoder实际上就产生一组信号,直接看文档。Decoder顾名思义,进行译码。对什么进行译码?实际上就是地址,当满足条件的时候,将多组HSELx的其中一个拉高,已选中需要选中的Slave。原创 2023-08-22 15:50:03 · 1167 阅读 · 0 评论 -
AHB总线协议
这要看优先级算法是如何规定的。如果一笔burst被打断,master再度获得接入权限时,会传递剩余的部分。如一笔长度为INCR8的传输在传递3 beat后被打断,master再次获得接入授权后,会继续传输剩余的5 beat,剩余部分可以由一个SINGLE和一个INCR4组成,或者一个INCR。HBUSREQx: master向arbiter发出接入请求的信号。HLOCKx:指示是否要进行不可中断的传输,这一信号与HBUSREQx同时由master向arbiter发出。原创 2023-08-22 14:59:20 · 1008 阅读 · 0 评论 -
AMBA总线介绍
总线:是指计算机组件间规范化的交换数据的方式,以一种通用的方式为各个组件提供数据传送和控制逻辑。chatgpt 给的结果是 :总线(Bus)是计算机系统中用于传输数据、地址和控制信号的一种集合线路。它在计算机内部的各个组件之间传递信息,如中央处理器(CPU)、内存、输入输出设备等。总线可以分为不同的类型,包括数据总线、地址总线和控制总线。数据总线(Data Bus):用于传输数据和指令,使各个组件能够交换信息。原创 2023-08-19 17:37:57 · 1866 阅读 · 0 评论 -
APB slave 设计及介绍
参考ARM公司的例子得到的,链接如下,APB3.0例子APB4.0例子一个简单的APB从接口。32位数据总线,端独立。对于APB3从机示例,数据处理仅为32位。对于APB4从机示例,使用PSTRB信号对单个字节执行写操作。数据传输需要两个时钟周期。4个32位RW寄存器该模块是一个,上面APB相关的信号都介绍过,这里不再重复介绍,其中的ECOREVNUM的意思是ECO revision number,如果没有用到ARM的ECO的话,将该信号固定为全0即可。右边这个slave_reg实际上就对应。原创 2023-08-19 23:04:15 · 768 阅读 · 0 评论