一文学习 AHB ram 验证

article/2025/10/13 22:55:58

文章目录

  • 前言
  • 面试答案
    • 1. `uvm_do()` 的源代码
  • 零、计算机体系结构中的memory
    • 1. memory中的大小端存储
    • 2. 内存对齐的理解
      • 2.1 什么是内存对齐
      • 2.2 为什么要内存对齐
      • 2.3 怎么进行内存对齐
  • 一、搭建验证框架
    • 1. code 顺序
    • 2. coverage coding
  • 二、搭建设计框架
    • 1. config 的脉络
    • 2. vif 的脉络
    • 3. rgm 的脉络
    • 4. scoreboard的理解
    • 5. smoke测试中遇到的问题:
    • 6. diff_haddr 测试遇到的问题
    • 7. diff_hsize 测试遇到的问题
    • 8. reset_w2r 测试遇到的问题
    • 9. haddr_word_unaligned 测试遇到的问题
    • 10. 定向做一个边界测试,收集覆盖率
  • 三、AHB 协议 理解
  • 四、DUT (ahb-ram)理解
    • 1. 通过 AHB 总线 存储到 ram 的理解


前言

面试问题:
0. 数据类型 默写下

  1. uvm_do() 的源代码讲一下,
  2. seq 发送到driver,seq_item是如何转换成transaction,为什么要由sequencer?
  3. scoreboard 谁驱动的。信息比较 :monitor拿到的信息 和 写seq中的数据比较这样做对么 ,是靠addr去比较的么
  4. AHB协议, 信号默写下,以及信号的master控制还是slave控制?transfer图默写下
  5. rgm 加深,默写下
  6. 字对齐,理解,默写下
  7. 对于sram只测试读写对么,每一测试代表的含义

以下内容大多是自己的理解,如有错误还请指正,谢谢。

开始是黑盒验证,ram就是mem,按照一定地址写进去,再按一定地址读出来。

在16位的系统中(比如8086微机) 1字 (word)= 2字节(byte)= 16(bit)

32位的系统中(比如win32) 1字(word)= 4字节(byte)= 32(bit)

在64位的系统中(比如win64)1字(word)= 8字节(byte)= 64(bit)

1字节(byte)= 8(bit)


面试答案

1. uvm_do() 的源代码

uvm_transaction ->
uvm_sequence_item ->
uvm_sequence_base ->
uvm_sequence #( uvm_sequence_item) -> rkv_watchdog_base_virtual_sequence -> rkv_watchdog_countdown_virt_seq

零、计算机体系结构中的memory

计算机体系结构

1. memory中的大小端存储

在这里插入图片描述

BE8 : Byte-invariant big-endian (字节不变大端,8bits)
BE32: Word-invariant big-endian (字不变大端,32bits)
Little endian ()

计算机系统中,每个地址单元对应一个字节(8bit),一种数据类型的数据 可能占用若干字节。

大端模式:低位(字节/比特)放在高地址中,高位(字节/比特)放在低地址中。
小端模式:低位(字节/比特)放在低地址中,高位(字节/比特)放在高地址中。

一般操作系统都是小端模式;而通讯协议是大端模式; java和平台无关,默认是大端模式
常见的cpu的大小端:
大端:PowerPC、IBM、Sun
小端:x86
ARM既可以工作在大端模式,也可以工作在小端模式

2. 内存对齐的理解

2.1 什么是内存对齐

内存对齐,就是将数据存放到一个是字的整数倍的地址指向的内存之中。
不论什么数据都有一定的大小,当一个数据所在的地址 和 它的大小对齐的时候, 就说这个数据自然对齐了(naturally aligned),否则就是没对齐。

怎么理解数据的地址和它的大小对齐这句话呢?例如有一个地址a,它是n的整数倍,并且这个n是2的幂,这时候我们就可以说a和n个字节对齐了。举个栗子:当 a = 0x00000008,n = 4,2^2 = 4 的时候,就说地址a和4字节对齐了2。
套用到数据的地址和它的大小对齐这句话,例如一个long变量,它占用4个字节,也就是他的大小是4字节,如果这个变量的地址为 0x00000004、0x00000008 等,那么这个变量就和4字节对齐了,而如果它的地址是0x00000006 之类的,那么它就没对齐。
在这里插入图片描述
当存取一个地址对齐了它数数据大小的数据结构的时候,就说这是一次对齐存取。上面的例子说的是基本数据类型,当一个复杂的数据结构中的所有成员都自然对齐了,我们就说这个数据结构对齐了,为了能让复杂数据结构对齐,编译器一般会对数据结构做一些填充,使得它的成员都能对齐。

2.2 为什么要内存对齐

总结:提升效率和避免出错。

  1. 有不少平台的CPU,比如Alpha、IA-64、MIPS还有SuperH架构,若读取的数据是未对齐的(比如一个4字节的int在一个奇数内存地址上),将拒绝访问,或抛出硬件异常。
  2. CPU处理内存的方式(32位的x86 CPU,一个时钟周期可以读取4个连续的内存单元,即4字节),使用字节对齐将会提高系统的性能(也就是CPU读取内存数据的效率。比如你一个int放在奇数内存位置上,想把这4个字节读出来,32位CPU就需要两次。但对齐之后一次就可以了)。

2.3 怎么进行内存对齐

很多时候,我们是不需要关注内存对齐的问题的,因为处编译器已经自动为数据进行对齐:对于基本数据类型,编译器会给他们分配一个是他们大小n被的地址;对于组合类型数据结构,编译器会在成员函数中填充一些字节使得每个成员都自然对齐。

struct MyStruct
{
char a; // 1 byte
int b; // 4 bytes
short c; // 2 bytes
char e; // 1 byte
};
注释:long long d; // 8 bytes(long 是 4 bytes)

http://chatgpt.dhexx.cn/article/myECwNrD.shtml

相关文章

AHB-SRAM简单设计之总线控制单元 ahb_slave_if.v

前言 这部分的代码在最后,本来打算刚开始就直接上代码,可是200多行,有点占篇幅。我们就先分析下这部分! 推荐一篇硕士论文,可以自行搜索下载,或点击免费下载:基于AHB总线SRAM控制器 的设计及优…

AMBA5 AHB协议规范(AHB5,AHB-Lite)中文版-第六章 数据总线

第六章 数据总线 本章描述了数据总线。它包含以下部分: – 数据总线 on page 6-60. – 大小端 on page 6-61. – 数据总线宽度 on page 6-65. 6.1 Data buses 实现AHB系统需要独立的读写数据总线。虽然推荐的最小数据总线宽度被指定为32位,但可以按照…

[接口-AMBA-AHB] AHB总线协议

一、典型AMBA系统 AHB总线的强大之处在于它可以将微控制器CPU、高带宽的片上RAM、高带宽的外部存储器接口、DMA总线master、各种拥有AHB接口的控制器等连接起来构成一个独立的完成SOC系统,不仅如此,还可以通过AHB-APB桥来连接APB总线系统。 AHB可以成为一…

基于AHB的SRAM设计

基于AHB的SRAM设计 一、描述 作为系统的缓存;SRAM存储体由MeMery complier生成;项目完成SRAM控制器的设计;SRAM作为AHB Slave的形式存在; 二、特性 支持8位,16位和32位的SRAM数据读写操作;支持SRAM的单…

AHB lite协议

文章目录 概述特点AHB的组成单个master的AHB lite结构多个master的AHB lite结构结构1结构2 AHB lite基本信号1.系统信号2.master3.slave信号4.译码器信号5.多路器 信号详细解释HSIZE[2:0]HTRANS[1:0]HBURST[2:0]HREADY与HREADYOUTHRESP AHB基本传输1.没有等待状态的单个传输2.有…

【读书笔记】AMBA 2 AHB、AMBA 3 AHB(AHB_Lite)和AMBA 5 AHB协议比较

1、牛客算是一个Verilog宝藏刷题网站了&#xff0c;网站提供在线仿真环境&#xff0c;不用自己找题&#xff08;点击直达&#xff09;&#xff0c;<刷题记录>专栏&#xff0c;持续打卡中… 2、官方手册&#xff1a;AMBA系列官方协议规范文档&#xff0c;点击下载 更详细的…

Ahb2ApbBridge

一、设计前需注意 &#xff08;1&#xff09;要做总线&#xff0c;协议是关键&#xff0c;每个控制信号与输入输出的时序一定要搞清楚&#xff0c;直接看amba官方spec&#xff0c;链接已贴出http://pan.baidu.com/s/1gfwxTWB。 &#xff08;2&#xff09;Ahb2Apb桥作为逻辑连接…

AHB总线协议

文章目录 1.说明2.简介3. SOC中的AHB4.完整的AHB架构5.AHB接口信号列表6.htrans[1:0]/hsize[2:0]/hburst[2:0]/hresp[1:0]信号解读1.htrans[1:0]2.hsize[2:0]3.hburst[2:0]4. hresp[1:0] 7.基本传输1. 没有等待的读写操作2.有等待的传输3. 多个流水传输3.WRAP4的传输 8. hready…

AMBA AHB介绍

AMBA AHB介绍 AHB是为提出高性能可综合设计的要求而产生的新一代AMBA总线。它是一种支持多总线主机和提供高带宽操作的高性能总线。 AMBA AHB实现了高性能&#xff0c;高时钟频率系统的以下特征要求&#xff1a; 突发传输分块处理单周期总线主机移交非三态执行更宽的数据总线…

qspi AHB总线学习 - 01

经过几天的学习发现如果不了解AHB总线有些知识get不到&#xff0c;下面是转 qixin_william的博客 http://blog.163.com/qixin_william/blog/static/240217035201491133626819/ 一、AHB的基本介绍 AHB是ARM退出的AMBA总线系列中的其中一种&#xff0c;它是一种高性能的pipe系统总…

AMBA5 AHB协议规范(AHB5,AHB-Lite)中文版-第五章 从机响应信号

第五章 从机响应信号 介绍从机响应信号。它包括以下部分: – 从机传输响应on page 5-56. 5.1 Slave transfer responses 在主机开始传输后&#xff0c;控制传输的进展。在传输开始后&#xff0c;主机不能取消传输。 对于支持AHB5 Exclusive_Transfers属性的组件&#xff0c;…

AHB总线学习汇总

博客不是写书&#xff0c;基本的背景也不做什么介绍了&#xff0c;了解的人是不会介意这些东西的。 一、AHB的基本介绍 AHB是ARM退出的AMBA总线系列中的其中一种&#xff0c;它是一种高性能的pipe系统总线。 1. AHB总线有一下特性&#xff1a; a.Burst 传输 b.Split 事务处理…

AHB协议相关

AHB协议相关 Created: November 9, 2021 7:19 PM Tags: AMBA &#x1f340;简介 AHB(Advanced High Performance Bus)总线规范是AMBA(Advanced Microcontroller Bus Architecture) V2.0总线规范的一部分&#xff0c;AMBA总线规范是ARM公司提出的总线规范&#xff0c;被大多数…

AHB协议

文章目录 什么是AHB总线协议AHB总线组成AHB信号描述AHB传输Bust传输 AMBA高级处理器总线架构&#xff0c;不同的速率要求构成了高性能SOC设计的通信标准: AHB高级高性能总线APB高级外围总线AXI高级可拓展接口 什么是AHB总线协议 AHB&#xff1a;主要是针对高速率、高频宽及快…

AHB 协议学习

文章目录 AHB 协议学习一、 AHB 协议 信号二、 AHB 协议 传输2.1 a read transfer with two wait states2.2 a write transfer with one wait states2.3 transfer with HTRANS&#xff08;控制信号&#xff09;**2.4 transfer &#xff1a;Eight-beat incrementing burst, INCR…

AMBA5 AHB协议规范(AHB5,AHB-Lite)中文版-第三章 传输

第三章 Transfers 本章描述读写传输。它包括以下部分: – 基本传输 on page 3-28. – 传输类型 on page 3-30. – 锁定传输 on page 3-32. – 传输大小 on page 3-33. – 突发操作 on page 3-34. – 等待传输 on page 3-39. – 保护控制 on page 3-44. – 内存类型 on page 3-…

AMBA 系列之 AHB 协议

目录 1. 简介 1.1 AHB总线的架构 1.2 AHB基本特性 2. AHB总线的组成 3. 信号描述 3.1 AHB Slave 接口 3.2 AHB Master 接口 3.3 AHB Arbiter 接口 3.4 AHB Decoder 接口 4. 总线操作 5. 基本传输 5.1 没有等待状态的单次传输&#xff08;Single Transfer&#xff0…

AHB总线

大部分的总结在csdn里面都有。这里只是总结自己理解的。 AHB基本特性有&#xff1a; Burst传输&#xff08;一共有Hburst[2 : 0]的类型&#xff09;&#xff0c;single&#xff0c;incr&#xff0c;wrap4&#xff0c;incr4&#xff0c;wrap8&#xff0c;incr8&#xff0c;wra…

AMBA5 AHB协议规范(AHB5,AHB-Lite)中文版-第一章 引言

ARM AMBA 5 AHB 协议规范 AHB5, AHB-Lite 发行信息 变更历史 日期版本保密性更改2006/6/26A非保密First release for v1.02015/6/25B.a保密Update for AMBA 5 AHB Protocol Specification2015/10/30B.b非保密Confidential to Non-Confidential Release Contents ARM AMBA 5 A…

AHB协议详解

AHB总线 AHB总线在AMBA2中就已经定义&#xff0c;AHB总线一开始主要是作为系统高速总线使用&#xff0c;适用于高性能&#xff0c;低功耗的系统设计。目前因为AXI总线作为高速总线的优势更加明显&#xff0c;AHB会用在相对低速的系统设计中。基本排序就是APB适用于低速设计&am…