V0 第10节 硬件设计描述

2023-12-10 19:38
文章标签 设计 描述 硬件 v0

本文主要是介绍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
  • 结构更为简单,目的在于大家能够着眼于更为简单的验证环境搭建

这篇关于V0 第10节 硬件设计描述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/478147

相关文章

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

如何安装HWE内核? Ubuntu安装hwe内核解决硬件太新的问题

《如何安装HWE内核?Ubuntu安装hwe内核解决硬件太新的问题》今天的主角就是hwe内核(hardwareenablementkernel),一般安装的Ubuntu都是初始内核,不能很好地支... 对于追求系统稳定性,又想充分利用最新硬件特性的 Ubuntu 用户来说,HWEXBQgUbdlna(Har

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

v0.dev快速开发

探索v0.dev:次世代开发者之利器 今之技艺日新月异,开发者之工具亦随之进步不辍。v0.dev者,新兴之开发者利器也,迅速引起众多开发者之瞩目。本文将引汝探究v0.dev之基本功能与优势,助汝速速上手,提升开发之效率。 何谓v0.dev? v0.dev者,现代化之开发者工具也,旨在简化并加速软件开发之过程。其集多种功能于一体,助开发者高效编写、测试及部署代码。无论汝为前端开发者、后端开发者

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

SprinBoot+Vue网络商城海鲜市场的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w+

单片机毕业设计基于单片机的智能门禁系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍程序代码部分参考 设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订