AHB-SRMAC系列(1)

270 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天!

覆盖率包括: 代码覆盖率,功能覆盖率,断言覆盖率 其中,code and assertion coverage 都是可以通过工具比如VCS,questasim 来直接统计的。

验证起点: AMBA 2.0 specification
AHB-master ,sramc-slave;
DFT测试包括:

  • logic : dft-scan FF
  • MBIST

首先要划分Function Point => testcase

AHB-SRAMC Specification

AHB Interface

  • 32 Bits bus,Little-endian
  • Support 8/16/32 Bits access
  • Address mapping range :64KB
  • single write and read , no wait

SRAM

  • single port
  • 64KB memory
  • Low power
    • Pcs = 1000Pncs
    • 8K * 8
  • BIST : Build In Self Test
    • Memory BIST:March C
  • DFT Port
    • DFT port signals

黑盒验证: 对设计内部的细节啥也不懂

白盒(white box)验证: 对设计内部细节十分了解

灰盒验证(gray box)【大部分的设计都是灰盒验证策略】: 对内部的设计了解一点!

Testbench 应该包含的模块:

  • Instance( design的实例)
  • Clock generator(产生时钟,电路都是同步电路)
  • Testcase: 一般都是用initial begin...end

AMBA总线概述

系统总线介绍

  • 芯片系统中各个模块(IP)之间需要有接口来连接
  • 总线作为子系统之间共享的通信链路
    • 共享的话,每个slave都会划分地址空间
    • 直连的话(点点通信),不需要划分地址空间,但是成本高且不易扩展
  • 优点
    • 低成本
    • 方便易用(可扩展性强)
  • 缺点
    • 会造成性能瓶颈(涉及命令分配、排队和冲突问题)

AMBA 2.0

  • Advanced Microcontroller Bus Architecture
    • 片上总线的标准
  • 定义了三种总线
    • AHB(Advanced High-performance Bus)
      • 实际中用的更多的是变种的:AHB-Lite
    • ASB(Advanced System Bus) [了解即可]
    • APB(Advanced Peripheral Bus)
      • 用在Slave中
  • AMBA2.0 升级到AMBA3.0 增加了AXI协议,主要应用场景是复杂高速系统

AMBA发展历史

  • AMBA1.0
    • ASB 和APB
  • AMBA2.0
    • AHB,ASB和APB
  • AMBA3.0
    • AMBA Advanced eXtensible Interface(AXI)
  • AMBA4.0
    • AXI Coherency Extension(ACE) [多核一致性]

一个典型的AMBA 2.0系统

注:我们要验证的是AHB-SRAMAC 模块,即要将AHB接口的数据转换为SRAMC的数据然后写进去,所以学习AHB是必须的!

  • 处理器和其他主设备/从设备都是可以替换的

image.png