学习目标
UVM项目实战1
学习内容
1.MCDF的设计更新
slave node的接口发生变化
registers的接口发生变化
formatter的接口发生变化
2.slave node的接口:
DATA(31:0):通道数据输入
DATA_PARITY:data数据的奇偶校验位
VALID:数据有效标志信号
WAIT:暂停接收
PARITY_ERR:slave node侧发现数据或数据校验位出错
接收从上行发来的数据(32bit的data和1bit的奇偶校验位)
数据能否被接收的三个条件:
数据是否有效(VALID);
内部FIFO的状态(不满);
数据有效性的校验结构;
PARITY_ERR信号同时作为RO状态位可以通过APB读出,而且它只能通过APB设置P_ERR_CLR寄存器来清除复位
3.registers的接口(AMBA APB标准总线):
PADDR(7:0):地址
PWR:写标识
PEN:总线使能
PSEL:总线选择
PWDATA(31:0):写入数据
PRDATA(31:0):读出数据
PREADY:读写操作完成标识,可以用于延迟
PSLVERR:总线操作错误(例:无效空间访问)
未定义的空间访问,返回BUS Error
4.formatter的接口:
PKG_VLD:数据包有效标识
PKG_FST:数据包首个数据标识符
PKG_DATA(31:0):数据输出端口
PKG_LST:数据包末尾数据标识符
REV_RDY:接受侧准备就绪标识
5.AMBA(advanced microcontroller bus architecture)高级处理器总线架构,不同的速率需求构成了为高新能SOC设计的通信标准:
AHB(advanced high-performance bus)高级高性能总线
APB(advanced peripheral bus)高级外围总线
AXI(advanced extensible interface)高级可拓展接口
AHB:主要针对高效率、高频宽及快速系统模块所设计的总线,它可以连接如微处理器、芯片上或芯片外的内存模块和DMA等高效率模块;
APB:主要用在低速且低功率的外围,可针对外围设备作功率消耗及复杂接口的最佳化。APB在AHB和低宽带的外围设备之间提供了通信的桥梁,所以APB是AHB的二级拓展总线;
AXI:高速度、高宽带,管道化互联,单向通道,只需要首地址,读写并行,支持乱序,支持非对齐操作,有效支持初始延迟较高的外设,连线非常多;
6.AHB的组成:
master—能够发起读写操作,提供地址和控制信号,同一时间只有1个master会被激活
slave—在给定的地址范围内对读写操作作响应,并对master返回成功、失败或者等待等状态
arbiter—负责保证总线上一次只有1个master在工作,仲裁协议是规定的,但是仲裁算法可以根据应用决定
decoder—负责对地址进行解码,并提供片选信号到各slave
每个AHB都需要1个仲裁器和1个中央解码器
AHB基本信号:
HADDR—32位系统地址总线
HTRANS—M(主)指示传输状态,NONSEQ(第一个数据)、SEQ(后续数据)、IDLE、BUSY(没准备好)
HWRITE—传输方向1-写,0-读
HSIZE—传输单位
HBURST—传输的burst类型,SINGLE、INCR、WRAP4、INCR4等
HWDATA—写数据总线,从M写到S
HREADY—S应答M是否读写操作传输完成,1-传输完成,0-需延长传输周期
HRESP—S应答当前传输状态,OKAY、ERROR、RETRY(重试)、SPLIT
HRDATA—读数据总线,从S读到M
AHB基本传输:
两个阶段;
地址周期(AP),只有一个周期;
数据周期(DP),由HREADY信号决定需要几个周期;
流水线传送;
先是地址周期,然后是数据周期
7.APB接口
主要应用在低宽带的外设上,如UART、I2C,它的架构不像AHB总线是多主设备的架构;
APB总线的唯一主设备是APB桥(与AXI或APB相连),因此不需要仲裁一些request/grant信号;
APB的协议固定两个时钟周期完成一次读或写的操作;