首先讲一下再ahb driver和monitor实现过程中的一些细节。首先,drvier在实现驱动时序的时候,我们需要注意,write_data中,要等到grant信号拉高之后,我们将driver拿到的transaction中的地址以及控制信号驱动到接口中相应的信号,完成地址阶段的传送,下一周期将总线驱动为IDLE,同时将写入的数据驱动到接口上,同时在下降沿检查ready信号是否为高,如果为低的就保持数据,直到完成数据的传输。而read_data也一样,再等到有效的grant信号后,将接口上的地址以及控制信号值个相应的transaction,完成地址和控制阶段的读取,下一周期将总线驱动为IDLE,再下一拍先判断ready的值是否为高,如果是低的话就保持,如果是高的话就对他进行读取,完成数据读取阶段。

在driver中应该注意的细节:

1.注意会影响到传输类型的信号,这些信号的取值会直接影响到总线传输的事务的类型,进而影响到传输信号以及其时序:比如AHB中的burst_size(这是数据的位宽,例burst_size=BURST_SIZE_8BIT时,发送的数据只有低8位有效),再比如XACT_TYPE(exat定义了一个枚举类型XACT_TYPE_ENUM,这个枚举类型控制了读操作还是写操作)

接下来讲一讲monitor检测时序时的一些细节。我们要注意,monitor再对数据阶段进行检测的时候,要兼顾考虑ready信号为高时采样数据。采用三目运算符对写入数据或者读取数据进行采样。除此之外,在monitor中立化声明了uvm_analysis_port端口,用于将检测到的transaction广播给cov或者scoreboard等subscriber性质的组件。

在比较数据时,AHBRAM在sequence和在scoreboard做数据比对的实现方式有一些不同之处,需要我们认真分析。首先sequence自定义函数compare进行数据比对, 时对不同的地址进行一次性读写,写操作时对seq进行挂载和随机化时将wdata层层传递到req再通过driver传递到总线,而读操作时req读取总线上的rdata并且通过rsp返回给virt_seq与写数据进行对比。这种方式更加适用于寄存器读写测试这些结构较为简单的数据比对。

而scoreboard时通过monitor观测总线上检测到的写数据按照地址以及协议要求的对其方式存入所声明的关联数组中,将所储存的数据和检测到的数据进行比较,金策到的数据时通过monitor的analysis_port广播进来的,并且考虑到设计中对数据的写入有地址迁移的要求,再scoreboard中实现数据存储时也要按照迁移地址进行存储。因此再比较数据时,我们只需要按照地址偏移写入的数据进行有效位的提取就可以进行比较。

关于AHB-RAM的一些内容2相关推荐

  1. 手机内存RAM、ROM简介

    手机内存包含两个:一个是运行内存(RAM),一个是机身内存(ROM).两者的功能有所不同,运行内存是对手机操作系统和其它程序运行过程中,产生的临时数据进行存储的媒介.如果手机运行的程序比较多,占用运行 ...

  2. ROM、PROM、EPROM、EEPROM、RAM、SRAM、DRAM的区别

    平时对于这些个相近的名词一看到就头疼,看了这篇文章后豁然开朗!!! 在微机的发展初期,BIOS都存放在ROM(Read Only Memory,只读存储器)中.ROM内部的资料是在ROM的制造工序中, ...

  3. Virtex-6中的BRAM(Block RAM)模块、DSP 模块XtremeDSP

    BRAM(Block RAM)模块 Virtex-6中嵌入BRAM,大大拓展了FPGA的应用范围和应用的灵活性.BRAM可被配置为单端口RAM.双端口RAM.内容地址存储器(CAM)以及FIFO等常用 ...

  4. FPGA 内部双口块RAM 读写实现

    由XILINX官网文档PG058 "LogiCORE IP Block Memory Generator v8.2" FPGA 内部块RAM 的读时序如下图: 可知,块RAM的读延 ...

  5. 关于DS12C887 以外部RAM方式访问

    DS12C887 的引脚排列如图1 所示,各管脚的功能说明如下: GND.VCC:直流电源,其中VCC 接+5V 输入,GND 接地,当VCC 输入为+5V 时,用 户可以访问DS12C887 内RA ...

  6. 全国计算机技术与软件专业技术资格(水平)考试【软件评测师】-考试内容总结(一)计算机系统构成及硬件基础知识...

    全国计算机技术与软件专业技术资格(水平)考试 软件评测师--考试内容总结       By林雨辰2014.11.08 1.计算机系统构成及硬件基础知识 1.1计算机系统的构成 1.1.1设计电子数字计 ...

  7. oftPerfect RAM Disk 内存盘管理,提高软件速度

    目录 主要特点 使用 RAM 磁盘的五个理由 如何使用 Chrome 缓存设置 其他 oftPerfect RAM Disk是一种高性能的 RAM 磁盘应用程序,它可以让您在计算机上拥有一个完全存储在 ...

  8. 动态半导体ram依据什么存储信息_静态ram和动态ram的区别是什么

    随机存取存储器(random access memory,RAM)又称作"随机存储器",是与CPU直接交换数据的内部存储器,也叫主存(内存).它可以随时读写,而且速度很快,通常作为 ...

  9. ae RAM 预览需要2 个或更多框架对回放 解决

    After Effects error:RAM preview needs 2 or more frames to playback 解释为:"RAM 预览需要2 个或更多框架对回放&quo ...

  10. CDN到底是什么?浅析一下CDN内容分发网络

    CDN到底是什么?内容分发网络? 一.CDN的解释 二.CDN的作用 三.CDN的工作原理 四.CDN访问与传统访问的区别 五.CDN应用场景 六.关于CDN的一些常见名词 一.CDN的解释 CDN的 ...

最新文章

  1. SAP EWM - 包装主数据 - 包装明细 -2
  2. 下列哪个可以选中矩形文字块_AI制作字母块文字效果
  3. PyTorch 1.4 最新版放出:支持Python2的最后一版,支持分布式模型并行、Java程序、移动端等多项新功能...
  4. 这几款 JVM 故障诊断处理工具,你还不会?
  5. java调用node脚本并获取输出,Node.js用readline模块实现输入输出
  6. 如何安全地进行ddos压力测试
  7. 使用NewtonSoft.JSON.dll来序列化和发序列化对象
  8. 数字经济发展指标体系和测算(含互联网宽带、电话普及率等多指标 内附原始数据) 2011-2020年
  9. 紫罗兰永恒花园rust简谱_Sincerely钢琴谱_TRUE_紫罗兰永恒花园OP
  10. 【解决】电脑开给手机开热点问题
  11. 微信小程序中音频播放
  12. java基础—综合练习
  13. 重磅!道翰天琼解密认知智能核心秘密三大核心技术,机器人大脑API平台。
  14. Linux在加载模块时报insmod: error inserting xxx.ko -1 File exists这个错
  15. 文献综述-家装风格自动分类技术综述
  16. php微信自定个性化菜单,微信开发之个性化菜单
  17. 人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[0]——月晕础润
  18. [Shell]尚硅谷大数据技术之Shell--笔记(3)
  19. Socket并发配置之一config的配置
  20. (11)3DMAX之多边形建模的基本认识、多边形修改器和转换为多边形的区别、认识编辑多边形子层级、编辑多边形功能命令快捷方式

热门文章

  1. Activiti工作并行网关和融合(包容)网关使用经验总结
  2. Most socially-distanced subsequence(贪心)
  3. UE4 Material 101学习笔记——01-07 介绍/PBR基础/UV扭曲/数据类型/翻页动画/材质混合/性能优化
  4. 基于SuperMap的iMobile 3D开发总结(一)
  5. Type-C小家电,将传统小家电的接口从USBMicor接口5V充或者AC DC充电换PD,QC,AFC快充,不再为了充电器而烦恼。
  6. 使用matlab对苹果,橘子,香蕉图像进行分割和判断
  7. markdown写博客工具
  8. PgSQL删除两条重复一模一样的数据解决方案
  9. Handler 中的 handleMessage 所在线程是由什么决定的?
  10. Python笔记:算术运算符, 赋值运算符, 布尔运算符,比较运算符和逻辑运算符