V0 第10节 硬件设计描述

1. MCDF 简介

  • 遵循硬件设计描述的方式,介绍它的结构、功能、寄存器和时序
  • 熟悉硬件描述的方式,也是进入验证领域的一项基本技能
  • 多通道数据整形器(MCDF, multi-channel data formatter),它可以将上行uplink多个通道数据经过内部的FIFO,最终以数据包data packet的形式送出
  • 上行数据和下行数据的接口协议不同
  • 多通道数据整形器也有寄存器的读写接口,可以支持更多的控制功能

2. MCDF接口描述

系统信号接口

  • CLK(0):时钟信号
  • RSTN(0):复位信号,低位有效

通道从端接口

  • CHx_DATA(31:0): 通道数据输入
  • CHx_VALID(0):通道数据有效标志信号,高位有效
  • CHx_READY(0):通道数据接收信号,高位表示接收成功

控制寄存器接口

  • CMD(1:0)寄存器读写命令
  • CMD_ADDR(7:0) 寄存器地址
  • CMD_DATA_IN(31:0) 寄存器写入数据
  • CMD_DATA_OUT(31:0) 寄存器读出数据

整形器接口

  • FMT_CHID(1:0) 整形数据包的通道ID号
  • FMT_LENGTH(4:0) 整形数据包长度信号
  • FMT_REQ(0) 整形数据包发送请示
  • FMT_GRANT(0) 整形数据包被允许发送的接受标识
  • FMT_DATA(31:0) 数据输出端口
  • FMT_START(0) 数据包起始标示
  • FMT_END(0) 数据包结束标示

3. MCDF 接口时序

在这里插入图片描述

  • 如果当前周期内的valid和ready同时为高,表示该数据被成功接收
  • 如果当前周期的valid为高ready为低,表示该数据没有被接收成功,需要data和valid继续保持到下一个周期去检查ready信号是否拉高,直到ready拉高后数据才得以接收
  • valid如果为低,则表示该周期不发送有效数据

在这里插入图片描述

  • 在读写寄存器时需要给地址端口和指令接口对应的数据
  • 如果要写寄存器应该保证地址端口对应的寄存器是配置寄存器,是可以读写的,而不是只读寄存器无法读写
  • 如果要读寄存器,除了要传入正确的地址外,还需要注意读取的寄存器数值将在下一个周期由寄存器模块送出

在这里插入图片描述
整形器接口时序要复杂一些

4. MCDF寄存器描述

  • 地址0x00 通道0控制寄存器32bits 读写寄存器
    bit(0) 通道使能信号,1为打开,0为关闭,复位值为1
    bit(2:1) 优先级,0为最高,3为最低,复位值为3
    bit(5:3) 数据包长度,解码对应表为,0对应长度4,1对应长度8,2对应长度16,3对应长度32,其它数值(4-7)均暂时对应长度32,复位值为0
    bit(31:6): 保留位,无法写入,复位值为0

  • 地址0x04 通道1控制寄存器32bits 读写寄存器
    同通道1控制寄存器描述

  • 地址0x08 通道2控制寄存 32bits 读写寄存器
    同通道1控制寄存器描述

  • 地址0x10 通道0状态寄存器 32bits 只读寄存器
    bit(7:0) 上行数据从端FIFO的可写余量,同FIFO的数据余量保持同步变化,复位值为FIFO的深度数
    bit(31:8) 保留位,复位值为0

  • 地址0x14 通道1状态寄存器 32bits 只读寄存器
    同通道1状态寄存器描述

  • 地址0x18 通道2状态寄存器32bits 只读寄存器

  • 同通道1状态寄存器描述

5. MCDF结构 (MCDF mini版)

  • 只保留了slave channel 和 arbiter
  • 结构更为简单,目的在于大家能够着眼于更为简单的验证环境搭建
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值