持续创作,加速成长!这是我参与「掘金日新计划 · 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中
- AHB(Advanced High-performance Bus)
- 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是必须的!
- 处理器和其他主设备/从设备都是可以替换的