Professional Documents
Culture Documents
基于UVM的高速串行SerDes验证 李兆祯
基于UVM的高速串行SerDes验证 李兆祯
團
_ 硕士学位论文
隱
修
基 于 UVM 的 高 速 串 行 S er D e s 验证
作者 姓 名 李 兆 被
学 校 导师 姓 名 、 职称 宋 建军 副 教授
企 业 导师 姓 名 、 职 称 管 幸福 髙工
学 校 代 码 1 070 1 学 号 1 9 1 1 1 2 1 30 1
2
分 类 号 T N4 密 级 公 开
西 安 电 子 科技 大 学
硕士 学位论文
基 于 U V M 的 高 速 串 行 S e rD e 验 证
s
作者 姓名 ?
. 李兆 祯
领域 : 软件 工程
学 位类 别 : 工程硕 士
学 校 导 师姓名 、 职称 : 宋建军 副 教授
企业 导 师 姓名 、 职称 : 管 幸 福 高 工
学院 : 微 电子 学 院
提交 日 期 : 2022 年 8
月
H S e r D e s v e r i fi c a t i o n b a s e d
h p e e d S e r i a
i
-
s l
g
on UV M
A t h e s i ss u b m itt e d t o
X ED AN U N VE R S I T Y
1
I
i n p a r t i a l f u l fi l l m e n t o f th e r e q u
i rem ent s
fo r t h e d e g r e e o f M as ter
i n E n g i n e er i n g
By
L i Z h ao z h e n
S u p e rv i s o r : S o n g J i a nj u n T i t l e : A s s o c i a t e P r o fe s s o r
S u p e rv i s o r : Gu an X i n
g fu T i tl e : S en i o rE n g i n e e r
Au gu s t 202 2
西 安 电 子 科技 大 学
学位论 文 独 创 性 ( 或创新性 ) 声明
谢意
。
,
。
本人签 名 :
李兆 彳t 日 期 2:
°
2 ^
.
-
v
l (
3
西 安 电子 科 技 大 学
关 于 论 文使 用 授 权 的 说 明
送交论文 的 复 印件 ,
允许查 阅 、 借阅论文 ; 学 校可 以 公 布 论 文 的 全部或部 分 内 容
,
保密 的 学 位论文 在 _
年解密 后 适用 本授权 书
。
本人签 名 : 4 彳匕 丰 ^导 师 签 名 :
%A^
日期 :
丨
5 日 期 > :
认 U
3
mm
摘要
高速串 行 S e r D e s ( 串 行器 S e r a l i ze r
i
及解 串 器 De ser i alizer 的简写 ) 以 差 分方式
,
界主 流验证 方法 。
本 课 题 源 于 企业 项 目 , 针对某款 高速 S erD e s 模块 , 对 其开展基 于
UVM 的 验 证 工 作 , 具体为
:
、 。 ,
解 码子 模 块 跨 时 钟 域子 模块 数据 整 形子 模 块 以 及 同 步 子模块 等 模 块 在 此基 础 上
、 、 。
,
课题所采用 的 自 上而 下 系 统环 境 配置方式 可 使 外 部 顶层 环 境具 备对 平 台 内 嵌套 最 小
,
。 ,
。
, 、 ,
于 py ho
t n 脚 本 的 寄存器组件 自 动 化生 成方 案 , 不仅 简 化 了 组件代码 , 还 可避 免人为
撰写失误 。 针对 S e rD e s 结构复杂 、 验证功 能点 多 的特点 , 本文采用 层 次化 验证 HVP
( H i e r ar c h i c a l l y Ve r i f c at o n P a n
i i l ) 流程 反标 功 能 覆盖 率 ,
实 现验证 进程 的 可 视化 ,
减
少 了 人工干预 ,
有效提高验证效率
。
3 ) 、 依 照 验证 需 求编 写 验证 测 试 用 例 ,
采 用 监 视器 、 断 言检测 项 和 比较器等 多 种
验证检 查方式 通过 , V C S ( Ve r i l o g C o mp i l e S i m u l at o n i ) 进行仿真 开展 了 针对 , S erD es
、 1 5 8 8 、 ,
。
关键 词 : UVM ,
串 行解 串 器 , PCS , P MA ,
层 次 化验 证
I
A B S TRA C T
AB S T RAC T
H i
gh
-
s
pee
d s e r a l S e rD e s ( s k e t c h o f s e r a
i i l i z a t o n S e r a l i z e r an d D e s e r a
i i i l i z e r )r e a l i z e s
h gh p e e d c o mmu n c a o n
t hro u
g h ag g r a v a t i o n a nd e q u a za t o n c o c k r e c o v e r y a n d
-
i s t i i l i i
,
l
o t he r t e c hno l o g i e s , w i t h t h e a d van t a g e s o f e s s c h p p n s a n d o n g t r an s m i s s o n
l i i l i
d i st an c e , g r ad u a l l
yr e p ac n g
i l
t he t r ad i t i ona l
p ar a l l el b u s a n d h a s be c o m e a n
,
i nd i s
p e n sa
b e c o mm u n c a t o n m o d u e fo r h g h
l i i l i
-
s
p e e d / ar g e l
-
s c a l eFP GA / AS C I . I nt he
S e r D e s c h p d e s g n a n d d e v e l o p m e n t p ro c e s s
i i
,
t h e ve r f c at o n i i i l i n k i s e s s e nt i a l . T hro u g h
ve r i f c at o n
i i
, i tc a n m r o v e t he e
p i ic
f i e nc y o f c h i pd e s i g na nd d e v e l o
p m e nt , r e d uc et he
c o sto f fl o wc h i p , an d p r o v i d e q u a l i t
y a s s u r an c e . Atpre s e n t
,
S e r D e s v e r f c at o n m a n y
i i i i l
ado
p t s t ra d i t i ona l m e t h o d s s u c h a s F P G A v e r f c at i o n an d d i i i re c t i o na l i nc ent ve
i
ver i i c at
f i on ,
w h c h i i sn o to n l y t me i
-
co nsu m i ng , b u
tal s o ha s t h e p r o b l e m o f n c o mp l e t e
i
f u n c t o n a l c o v e r ag e
i . C o m p ar e d w it h t rad it i o na l v e r i fi c a t o n m e t h o d s i
,
UVM ve r f c a t o n
i i i
h a s t h e ad v a nt ag e s o f c o m p l e t e a r c h i t e c t u r e m at u r e m e c ha n i s m an d h i
, g h r e u s e , w h i ch
i s t he m a i n s t r e a m v e r i fi c at i o n m e t h o d i n t h e c u r r e n t i n d u s t r y . Th i s
p r oj e
cto r i
g na es
t
i
r o m an e nt e r p r
f se
p r oj e c t t o v e r fi e s a h i
gh s
p e e d S e r D e s m o d u e w i t h U V M a s
-
i i l
,
fo l l o ws
:
1
) B a s e do n l
G b/ l O G b E t he r
ne tan dP C I E xp re s s( G E N 3 and a b o v e ) phys ca ay r
e
i l l
p r o o co
t l
,
ii n c t o n a c h a r a c t e r
t hef i l i st i c so fS e r D esmo d u l ean d i t s s u b mo d u -
l e s ar e
stud ied . T h e m a n fu n c t o n a i i l mo d u l e s nc ud e
p
hy s i c a
i l l c o d n gs u bi
-
l ay e rP C S , p
hy s c a i
l
m e d aad d i i t i o n a l a y e r P M A a n d a d v a nc e d p e r p h e r a
l i l b u s A P B C o rr e s po nd n g . i t
o
ca ll a
c o d e c o g ic l
, p hy s i
y e r e l e c t r i c a l t r a n s m i s s o n mo d u e r e g i
,
l i s t e r r e a d a n d w r i t e
c o n fi g u r a t i o n f
i i n c t o ns i . Ac c o r d i ng t o t h e d e s g n r e q u r e m e nt s i i do c ume n t
,
t he
i n c t o n a m o d u
f i i l l e s o f P C S ar e f u r t h e r r e f
i n e d i n t o c o d i n g s u b m o d u l e , cr o s s
-
c lo c k
d o m a i n s u b mo d u l e d a
t a s h ap n g s ub m o du l e a nd s n c h r o n z e d m o d u e O n t h s b as s
,
i
y i l . i i
,
t e s t e d i n e a c h m o d u l e o f S e r D e s a r e e x t r a c t e d
t h e f un c t i o n
p o i n t s o b e
t
, a nd t h e
c o r r e s p o nd i n g v e r i f i c a t i o n p l a n i s fo r mu l a t e d
.
2
)
B a s e d o n t he U V M o p e r a t o n m e c h a n i i s m ,
t he o v e r a l l r a m e wo r ko f
f t he v e r f c at o n
i i i
p l a fo r m
t fo r S e r D e s s t r u c t u r e i s
p r o po s e d A m o n g . t he m , t he to p -
d o w n s
ys e
t
m
e n v i r o nm e n t c o n f
i g u r at o n m e t h o d a d o p t e d n t h e s u bj e c t c a n e n a b
i i l e t h e e x t e r na
l
op e ve l e n v i r o nm e nt t o c o nf
i g u r e t h e s ma e s tm o du e n e s t e d in t h e a t fo r m F u r t h e r
-
t l l
p
l l l .
i
n
西 安 电子科技大 学 硕士 学 位论文
wr i t e t h e c o d e o f e ac h c o m
po ne n n
t r a m e w o r k a n d b u i l d t h e S e r D e s U V M
t he f i
,
v e r i f c a t o n p a t fo r m I n t h e p r o c e s s o f p l a t fo r m c o n s t r u c t i o n
i i l .
, a im in g a t t h e p ro b ems
l
o ma n y S e r D e s r e g i s t e r s a n d e r r o r
of to
p ro n e v e r fi c at o n a nd m a n t e n a n c e t hi s p ap e r
-
i i i
,
p r o p o s e s a n au o ma t i c r e g
t i st e rc o mp o n e n t g e n e r a t o n s c h e m e b a s e d o n P y t h o n s c r i p t
i
,
wh i c h no t o n l
ys mp l if
i e s t he c o m p o n e n t c o d e
i
,
b u t a l s o a v o d s hu m a n w r i t i n i
g e rr o r s
.
Acco rd i n g t o th e c h a r ac t e r i st ic s o f S e r D e s w i t h c o mp l e x s t r u c t u r e a nd m u l t i
p l
e
Ve r i fi c a t i o n f
i x n c t i o n p o i nt s t h ,
i s
p ap e r ad o p s
t th e H V P ( H i e r ar c h i c a l l
y Ve r fi c a t i o n
i
P a n ) p r o c e s s t o s t a nd a r d z e f u n c t o n
l i i c o ve r ag e r e a l i z e t h e v i s u a l i zat i o n o f
,
Ve r f c a
i i ti on
pro
ce ss , r e d u c e m a nu a l i nt e r v e n t i o n , an d e fe c t i ve l y i m p r o ve t he e f
i c ie nc yo f
Ve r i fi c at i o n
.
3
)
Wr it e v e r i f i c at i o n te s t c a s e s a c c o r d i n
gt o
ve r i i c at
f i o nre
qu i r e m e nt s , ad o
p t m o n i t o r ,
a s s e r t i o n d e t e c t o n i t e m s a n d c o m p a r at o r a nd o t h e r v e r i f c at i o n c he c k m e t h o d s a n d
i
i
,
c ar r y ou S t i m u at o n t h r o u g h V C S ( Ve r
l i i l o g C o mp i l e S i mu l at i o n) t o c a r r y o u t
v e r i fi c a t i o n fo r S e r D e s at d i f fe r e n t l e v e l s F o r t h e t e s t c a s e s t h at a r e d . i f i cu
f lt t o b e
d r e c t ly co m
p ar e d w i th t h e s c o r e b o a r d re g is e r ro x i m a l l o o
p b ac k t e s t 1 5 8 8 t e s t
t t est
p
i
, , ,
,
ur t h e r a n a l y s i s a n d v e r i f i c a t i o n a r e
p ac e m n s c na o an o h e
re l e t e ri d t r u s e c as e s
,
f
p e r fo r m e d c o m b n e d w i h h e r e l e va n s u b m o
t t t i d u e w a v e fo r m -
l
.
T hef na i l v a l d at i o n r e s u l t s s ho w e d t ha t t h e f
i i i n c t o na i l c o v e r a g e o f e a c h S e r D e s mo d u l e
t e r w a i v e r e a c he d 1 0 0 % T h e c o r r e c t n e s s a nd f u n c t i o n a l
a ndt h e c o d e c o ver a ge a f .
c o mp l e t e n e s s o f
t h e S er D e s mo d u l e t o be t e s t e d ar e ve r i f i e d
.
K e yw o r d s U V M S e r D e s P C S : , , , P MA , HV P
I
V
插图索 引
插图 索 引
图 1 . 1 S erD es 互连示 意 图
1
图 1 . 2 时钟 数据 恢 复 ( CDR ) 电 路示意 图
2
图 1 . 3 电 容 交 流 耦 合 需 要 DC 平 衡
2
图 1 . 4 高速 总 线 协议数据 处 理流程 图
3
图 1 . 5 受约 束随机测试和 定 向 测试时 间
一
进度轴
5
图 1 . 6 验证方法学 发展 时 间 轴
6
图 2 _ 1 经典 UVM 验证架构
9
图 2 2 . U VM 常见类派生关系 图
1
1
图 2 . 3 U VM 基本树 结 构
1
2
图 2 4 U V M p ha s e
.
汇总
1
3
图 2 5 .
pu 操 作 t 1
4
图 2 6 .
g et 操作
1
5
图 2 7 .
验证 收敛流程 1
7
图 2 8 B ug
.
无法被观测 到 的情形
1
7
图 3 . 1 S erD e s 整体模块结 构
2
1
图 3 . 2 8 b l 0b 编 码 映射 关 系
23
图 3 . 3 两种 6 4 B /6 6 B 报 文格式 27
图 3 4 . 6 4 b6 6 b 编 码 表
27
图 3 . 5 1 6 比特 _
64 b6 6b 模 式编 码 后 输 出 数据
28
图 3 . 6 1 6 比特 _
6 4 b6 6 b 模式 的编码时序 图 28
图 3 . 7 1 28b l 3 0b 编码结构
29
图 3 . 8 PC I e 协议 中 1 28 b l 3 0b 编 码 的物理层实现 3
0
图 3 9 . 1 28b l 3 0b 编 码模块 fs m 图示 3
1
图 3 . 1 0 AP B 协议状态转移 图 3
2
图 3 . 1 1 AP B 写时序 3 3
图 3 . 1 2 AP B 读时序
3 3
图 3 . 1 3 同 步模块示 意 图
3 5
图3 . 1 4 Gb 1 E t h e n e t C o mm a d e t e c t p r o c e s s
3 5
图 3 . 1 5 a l i
gn 模块状态机跳转 3
6
图 4 . 1 UV M 验证环境 总 统框 图 3
9
V
西 安 电 子 科 技 大 学 硕 士 学 位 论文
图 4 2 hs s t
.
验证环 境 目 录结构 40
图 4 . 3 环 境 配 置 系 统 示 意 图 4
1
图 4 4 t e st
.
_
b as e .
s v 部 分代码 42
图 4 _ 5 hs s t
_
e nv 部分代码 42
图 4 6 f ag e nt
.
_
部 分代码 43
图 4 7 f d r v e r
.
_
i
部 分代 码 43
图 4 8 hs st
.
接 口 定义 44
图 4 9 .
pc s 内 部主要功能 45
图 4 . 1 0 o n l
y _ pc s 场 景 下 数据 流 向 45
图 4 . 1 1 hs s t 整体架 构 46
M4 . 1 2
pc s +
p ma 数据流 向 47
图 4 . 1 3 hs s t 基类 定 义 部 分代码 48
04 . 1 4 s e qu e nc e 启 动 方 式代码 48
图 4 . 1 5 接 受测 发包示 意 图 49
M4 . 1 6
p _
rx
_
se
q ue nc e 关 键代码 49
图 4 . 1 7 dr i ver 类工作 原理 图 50
H4 . 1 8 mo n i t or 类工作原理 图 5
1
图 4 . 1 9 参考模型类工 作 原理 图 52
图 4 20.
参 考 模 型 子 任 务 a l i gn
_
pro ce s s 关 键代码 53
图 4 2 . 1 AP B 组件 图 54
图4 . 2 2 a
pb _
ma s t er _
d r ve r
i 驱动 数据代 码 54
图 4 2 3 Te s t
.
_
ba s e 定 义 回 调 函 数代码 55
图 4 24.
寄 存 器 模 型 框 架 56
图 4 2 5 x l s x
.
转换为 csv 脚本不 意 58
图 4 26.
寄 存 器 模 型 正 确 生 成打 印 信 息 58
图 4 2 7 hv
.
p 组 成成分及 其联系 60
图 4 29.
反标 前 的 验证文 档 6
1
图 4 30.
反 标 完 成 的 验 证 计 划 62
图 5 . 1 寄 存 器 测 试 代 码 示 意 图 64
图 5 . 2 寄 存 器测 试 波形 65
图 5 . 3 近端 环 回 场 景示 意 图 65
图 5 . 4 8 b l 0 b ne ar
—
I o o p 场 景 波 开姻 66
图 5 . 5 替 换 场 景 示 意 图 66
V I
插图索引
图 5 . 6 8b l Ob 替 换场 景 断 言 代码 67
图 5 7 _ 8 b l 0b 替 换未 发生 68
图 5 . 8 8b l Ob 发生 替 换场 景 68
图 5 . 9 l o g i c a l o p e r at i o n 验证 替 换场 景 69
图 5 . 1 1 1 588 测试波形 图 70
图 5 . 1 2 b t 寄存器 测试 l og 信息图 7
1
图 5 . 1 3 正 常数据通路 回 归 结果 72
图 5 . 1 4 编码模块代码覆盖 率 73
图 5 . 1 5 PC S 模块代码覆盖率 73
图 5 . 1 6 u t 级功能覆盖率 74
图 5 . 1 7 i t 级 功 能覆盖率 统 计 75
V I
表格 索 引
表格索 引
表 2 . 1 多 重 条 件 的 判 定 组 合
1
8
表 3 . 1 S erD es 端 口 定义
22
表 3 . 2 8 b l 0b 极性规律 分 析表 23
表 3 . 3 5 b6 b 编 码 映 射 关 系 分 析
24
表 3 . 4 5 b6 b 编 码 映射 关系 分析
25
表 3 . 5 控 制 码 映射关 系 分析
25
表 3 . 6 8b l Ob 编 码 功 能 点 提取表
26
表 3 . 7 6 4b66 b 功 能 点 提取
29
表 3 . 8 1 28b l 3 0 b 类编 解码 模块 功 能 点 3
1
表 3 . 9 AP B 端 口 的 名 称及功 能 。 32
表 3 . 1 0 验证计划 表
3 8
表 4 _ 1 ap b _
tr ans 和 u vm _
re
g _
op 的 成员 映射关 系 57
表 4 2 H V P
.
组成成分
59
I
X
符号对照表
符号对照表
符 号 符 号 名 称
G b/s 吉 比 特每秒
b i t 比特
X
I
缩 略 语对照表
缩略语对照 表
>
缩 略 语 英 文 全 称 中 文 对 照
S e r D e s S e r a l i z e r/D e s e r a
i i l i ze r 串 行器 解串 器
/
I C I n t e g r at e d C i rc u it 集成 电路
SOC S ys t e r m On C h i
p 片上系统
F P G A F e d P r o g r a mm a b
i l l e G at e A r r a y
现场可编程逻辑 门
阵列
I P I nt er
ne t P r o t o c o l 互联 网 传 输协 议
U V M U n i ver sa l V er i f c at o n M e t h o d o o g y
i i l
通用 验证 方法 学
e R M e R e u s e M e t ho d o o g y l
E 语 言 重 用 方 法
V MM V er i fi c at i o n Me t ho d o o gyM a nu a l l 验证方法学手册
O V M O p e n V e r f c a i i t i o n M e t ho d o o g y l
开放验证方法学
D UT D e s i
g n
U nd e r Te s t 待测 设计
C D R C o c k D at al Re c o v e r y 时 钟 数据 恢 复
AG C Au t o m a t i c G a in C o nt r o l
自 动增益控制
P C S P hy s c a i l C o d ng S u b i l ay e r 物理编 码子层
P MA P hy s c a i l M ed i um A t t ac h m e nt 物理媒介 附 加 子层
A M B A A d v a n c e d M i c r o c o nt ro l l e rB u s 高 级 微控制 器 总 线
Arc h i t e c t ru e 结构
AX A d va n c e d
I e X t hd b i l e I n t e r fa c e 高级可扩展接
口
AP B A d vanc e d P e r i
ph
e r alB u s 高级外 围 总线
H V P H i e r ar c h i c a l l
yV e r f
i c at i o nP an i l
层 次 化验证计 划
XI
录
目
目
录
摘 要
r
A B S T RA C T I l l
插图索 引
V
表格索 引 I
X
符号 对照 表 X
I
缩略语对照 表 XI I I
第 一
章 绪论
1
1 . 1 选 题 背 景
1
1 . 2 国 内 外 研 究 现 状
7
1 . 3 研 究 内 容 与 文 章 结 构
8
第 二 章 U V M 验 证 方 法 学 研 究
9
2 . 1 UV M 基础
9
2 . 1 . 1 S ys t em Ve r i l o g 语言 简介
9
2 . 1 . 2 UV M 验证平 台 架 构
9
2 . 1 . 3 O bj e c t i o n 机制 1
0
2 . 1 . 4 u v m o bj e c t
_
和 uvm
_
co m p o n e nt 基类 1
1
2 . 1 . 5 UV M 树状结 构 1
1
2 2 . UVM 基 本运 行机制 1
2
2 2 . . 1 P has e机 制 1
2
2 2 2 s e q u e nc e
. .
机制 1
3
2 2 . . 3 F ac to r
y
机制 1
3
2 3 . TLM 通信机制 1
4
2 4 .
寄 存 器 模 型 1
5
2 5 .
覆 盖 率 机 制 1
6
2 . 5 . 1 代码覆盖率 1
7
2 . 5 . 2 功 能覆 盖率 1
7
2 6 .
本 章 小 结 20
第 三 章 S e r Des 模 块 及 验 证计 划 制 定 2
1
3 . 1 S e Des r 整体结构 2
1
3 . 2 编 解 码 模 块 22
3 . 2 . 1 8 b l 0 b 编解码 22
XV
西 安 电 子科技大 学硕 士 学 位论文
3 . 2 2 6 4 b 6 6 b
.
编 解码 26
3 . 2 31 2 8 b
. l 3 0 b 编解码 29
3 . 3 AP B 模 块 3
1
3 . 4 S erd e s 其 余 子 模块 33
3 . 4 . 1
跨 时 钟 域模 块 3 3
3 . 4 2 .
数据 整形模块 3
4
3 . 4 . 3 同 步模块 3
4
3 . 5 验 证 计划 制 定 37
3 . 6 本 章 小 结 3 8
第 四 章 S e r Des 模块验 证 平 台 搭 建 3 9
4 . 1 UVM 整体框架及验证文件 目 录 3
9
4 2 .
环 境 配 置 系 统
4
1
4 . 3 i nt e r fa c e 接口
43
4 4 .
数据 通 路 组 件 实 现
44
4 4 . . 1 不 同 层 次数据通路 44
4 4 2. .
事务基类 47
4 4 3. .
序 列 发生器类 48
4 4 4. .
驱动器类
50
4 4 5. .
检 测 器类 5
1
4 4 6. .
参 考模 型类 5
2
4 5 . AP B 组件 实 现 53
4 6 .
寄 存 器 模 型 ( ml ) 组件 实 现 55
4 7 .
层 次 化 验 证 59
4 7 . . 1 HV P介 绍
59
4 7 2HV P
. .
生 成 的 基本 流程 59
4 7 3. .
使用 HVP 收集代 码 覆 盖 率 的 步 骤 60
4 8 .
本 章 小 节 62
第 五 章 S e r Des 验 证 结 果 分析 63
5 . 1 测 试 用 例 及 仿 真分 析 63
5 . 1 . 1 寄存器测 试 63
5 _ 1 _ 2 近端环 回 测 试 65
5 . 1 . 3 替换场 景 测试 66
5 . 1 . 4 1 588 功 能测 试 69
5 . 2 仿 真 打 印 信 息 分 析 7
1
5 3 .
代码 覆 盖 率 分析 72
XV
I
目
录
5 . 4 功 能 覆 盖 率 分 析 74
5 . 5 本 章 小 结 75
第 六章 总结与 展 望 77
6 . 1 总 结
77
6 2 .
研 究 展 望 78
参考文献 79
83
作者 简 介 8 5
X vl
第 章 绪论
一
第 一
章 绪论
1 . 1 选题背景
需 引 脚少 ,
传输距 离长等优 点 , 是当前 F P GA( 现场可编程逻辑 门 阵 列 F i e l
d
gr am m ab
[ 1
P ro l e t e ) 。
计近 80 %的时间 ,
传 统 的验证方式 因 其局 限 性渐渐无法满 足 SerDes 技 术迭 代 发 展
义
。
( ) , s ( ) 。 1 . 1
, 4
。
Ch i
p
# l Ch i
p
#2
"
…
f
TX十
-
> R X +
— .
厂
仏 ^
C ha n n e l
I
N i
,
RX+ C !
—
.
T X+
-
Re fe r e n c e :
R e fe e n c e
r
c l oc k 1 v LX c o c k 2
l
(
nj i
)
^
? ? ? ?
:
? ?
A Gr〇 u p<
_
(
n n  ̄
)
;
TX 十
( 二 :
RX
+
TX R X
_
"
Chan n e l
j
1
]
—
RX + 〇 >
TX+
-
<
,
RX -
>
VTX
图 1 . 1 S e D e s 互 连 示
r 意图
SerDes 具有 以下特点
:
。 , CDR
行二个任务 ,
时钟还原和 数据恢 复 。 时钟恢 复 技术是指在 己接收到 的 非 归 零码 中
提取 嵌入 数据 的 时 钟 信 号 。 在 数 字 通 信 领域 , 时 钟恢 复 无疑 是 关键 的应用 技 术
,
1
西 安 电 子 科技 大 学 硕士 学位 论文
般有二个部
分 带 有 振 荡 器 反馈 电 路 利 用 调 节 时 钟 的 相 位来追 踪 数据 相 位 错误 的 测 量 电 路
: 、
。
但是 , 非 归 零 码 的 特 点 是 频 谱上 随 机二 进 制 数 据 的 谱 密 度 无 法 直接 映射 数据 的 速
率 换句 话说 时钟 信 息不 能直接 被提取 出 来 为 了 找到时钟信息 经常使用
4
[ 】
。 , 。 ,
, 7
。
Dec i s i on
賴 ^ ^
&A _ r\
Lj R c e
ci
ov er
r c u i
t
y
i W lil
图 1 . 2 时 钟 数据 恢复 ( CDR ) 电路示 意 图
2 S e r D e s
.
采用 了 差 分 的 形 式传 输 数 据 。 这是 因 为在接收时二端往往 很难达到
。 。 s
pp m ,
特定 的要求
。
0
1 0 1 1 l 1 0 1 0
1
十
_
|
^ <^
-
J V
1 1 I I I I I ?0
1
图 1 . 3 电 容 交流 耦合 需 要 DC 平 衡
4 . S e r D es 使用 了 8 b l 0b , 6 4 b 6 6 b 编 解码方式 , 其 具体作 用 如 下
:
( 1 ) 提供 足 够 的 跳变 来 恢 复 时 钟
。
( 2 ) D C 平衡 ,
高 电平和 低 电平的 数量要相 等
。
( 3 ) A G C 自 动 增 益控 制 只 有 交流 分量才 能 实 现放 大
。
2
章 绪论
第
一
f ^
/ >
N , \
\
f
? 传输层 ? 扰频 ? 链路层 ?  ̄ 一
—
—
( 数据 生成 ) 发送 铜 (
)
\
J \
/ V
J V
/ V
J
」
( Sf 理 )
一 传输层 — 解■ — 链路 层 ^
( S5 )
J V
/ V } v ) V
J
SerD es 属 于 物理层 ,
而 物 理层 中 又包括 了 逻辑层 和 电 气层 ,
而物理介质 的相
S u b ay e r
l ) 则 负 责 对 数据流 的 编 码 解码 /
。
实现上 。 I EEE 的 万兆 以太 网 标准 ,
仍然采用 S e r Des 作为 PH Y 元件 此外 。 , S erDes
串 S C S ( S A S
[ 1
I ) 、 , 。
物 理接 口 协议层 。 I nfn i i B a n d 可 以 通 过背 板 或 电 缆 ,
成 为 中 心 服 务 器 与 单个存储
器 间 的 数据 传 输介质 。 而 P C E xp r e s s
I 则 作 为 与 高速卡 或 高速板卡 芯 片 的 数据 通信
地 I / O 总线 。 此外 , 在 开发 的 光纤通信接 口 标准 ( O I F ) 中 ,
光互连论 坛 ( O I F
)
使用 将通信速率提高到
6
Des 6 G bp s/ G bp s | ]
S er l l
。
在过去 ,
数字 电路设计不仅 集成度 很 小 , 而且设计效 能和 设计能力 都 非常低 ,
这
就导 致 了 数字 电路设计 的 复 杂 度 无 法进 行 合理 限 制 ,
进而导致芯片 的设计复杂度
p ) 技术的
问
, 。
加 上近年来半 导 体 企业 如 雨 后 春笋 般涌 现 ,
有 产 品瑕疵 的产 品 也必将 被 市场所淘
3
西 安 电子科技大 学硕士学 位论文
汰 而每 个流片 故 障 的 成本 也将 是 井 喷 式上 升 这就 导 致流前检测 工作 更加 重
一
, ,
要 。 流片 验 证工 作 的 好坏直接影 响 到 芯 片 设计 的 成败 , 而 且验证工作 的 质 量 还会
影 响 到 芯 片 的 设计进度和 设计质 量 。 目 前业 界普 遍认 为 , 在 芯 片 芯 片 设 计 流程
,
验证工作 所 需 的 平均 时 间 超过 半 而在 些 芯 片 领域 验 证 花 费 了8 0 % 以 上 的
一 一
, ,
验 证方 法有 虽 然 可 以 满 足功 能 需 求 , 但往往都拥 有 局 限性 ,
以 下 对传 统验证方 法
的 优缺 点 展开说 明
:
许 多 的 逻辑单位 、 存 储器单位构 成 ,
并含有大量 的 布线 资 源 。
用 户 可 以 根据 需 要
选取 多 个 FP G A 器件 。 当 整个 设 计 的 任 务 完 成 后 ,
设计人 员 所提交 的 RT L 程序 就
会 被 检 验 员 烧 录 到 开 发板 上 并 加 以 实 体 检 验 , 因 为这个 检验方法可 以 利 用 硬 件来
完成 ,
所 以 优 点 是仿真速度快 , 灵敏度 高等 , 特别适合于对 目 前要求大 I P , 大数
据吞吐量 的 S OC 的 检验 ,
而 北方 通用 电 子 的 张跃玲 团 队 则 利 用 了 X i l i nx V i r ex6
t
, ,
的缺点 只 能发 些简 单 的 测 试激励 不 便 于产 生 复杂 激励 并且 随着 设 计 结 构
一
: , ;
,
; ;
2 .
形 式验证是指从数学 的 角 度 出 发完 备 的证 明 或者验证 电路 的 设计方案 确 实
符合 电 路 设 计 所 描述 的 功 能 即 验证 电路实 现和 电路 设计 的 致性 具体可分
一
[
1 G ]
, 。
为 等价 性验证 、 模型 验证 和 定 理 验证 。 这种 试验 方 式 的 好 处 是不要 求开 发 测 试 激
励 , 这就减少 了 对试验 向 量 的 枚举 , 对指 定描述 中 所有可能 的情况都 能够全部覆
盖 , 而且 由 于 试验时 限极短 , 在 电 路 中 的 设计 错 误 也 能 够迅 速地 被检验人 员 找 到
并 纠 正 从而 大 大提 高 了 效率 , 减 少 了 设计 周 期 , 但缺 点 是对验证人员 的 数 学功底
提 出 了 高的要求 , 现 阶段形 式验 证 在 功 能 验证领域得 到 广 泛地 应 用 , 只 能 配合其
他可 以 实现功 能验证 的 验证技术使用 , 但是 1 C 开发 的 其他环节应 用 广泛
。
3 .
定 向 激 励测 试大 多 应 用 在 复杂 度较低 的 单元级 、 模块 级 别 的 验 证 中 。 验证
人 员 需 要提 取 出 待 测 设计 的 测 试 功 能 点 并 设 计 对应 的 测 试激励 的 产 生 , 然后 需 要
按 照 验 证计划 逐 条进行 仿 真测 试 ,
完成仿 真后 , 验证 人 员 需 要 自 行 核 查波 形 中 的
, 。
激励测 试 的 优 点 显 而 易 见 : 它 不 需 要 搭建 十 分 复 杂 的 验 证 环 境 ,
针 对性很强 ,
只
要 能 够 产 生符合要 求 的 激励 并进 行 检 查 即 可 , 所 以 这种 测 试方法 可 以 较 为快 速地
取得 阶段性 成功 简 称 快速测 试 冒 烟 在每 个 功 能 点 的 验证完 成 都可 以有效
一
, , ,
4
第 章 绪论
一
且稳 定 地推 动 验 证 进度 。
但定 向激励测 试也存在 以 下 缺陷 : ( 1 ) 每个功 能 点 都对
, , ,
也 意 味着 只 要 验证 功 能 点 增 多 ,
所 需要 的验证时 间 也就线性增长 ( 2 ) 随着 集成 电
路规模 的 增 大 和 复杂 度 的 提升 , 想 要 列举 出 所有 的 待 测 项 几乎 是不可 能完 成 的
,
验证人 员 凭借 自 己对 设计 的 理解 ,
只 能想到预期会 出 现的 BUG ,
却 无法发现预料
之外 的错误 , 这些错误 的 遗漏 ,
往 往会 导 致数字后 端产生重 大 设计缺 陷 从而 导致
流片 失败 每个定 向 激励仿真 结 束 验证人 员 都 需 要 个 个看波 形 由 于没
一
。 ( 3 ) , ,
况
。
4 .
受 约 束 的 随 机 化 测试要 求对验证平 台 所产 生 的 随 机 化激 励也 需 要 相 应 的 约
, 。
, ,
自 动 化 比对 与 覆盖率驱动 ,
弥补 了 定 向 测试的 不足 , 准 确 率 也得到 了 显 著提升
。
, ,
不可忽略 , 这时 就 需 要 定 向 测 试构 建特殊场 景 来 p
u s h 验 证进度
。
针对 同 个 试验 项 可 以分 别 采用 定 向 测 试 和 受 约 束 的 随 机化 试验 项
一
目 , ,
n
进度 和 时 间 关 系 如 图 1 . 5 所示
A
项
j[ 随机 测试
—
度
… -
丨
I
定 向测 试
;
时间
n
图 1 . 5 受 约 束 随 机测 试 和 定 向 测 试 时 间
一
进度轴 1
1
综上所述 ,
受 约 束 的 随 机 性试验 将 以 其 良 好 的特性成为 目 前业界首选的验证
, ,
证 方 法 学U V M ( Un i ve rs a l Ve r f
i ica t i o n Me t ho do o
gy
l )
。
语 言 的 设 计 方 法 不 同 验证 在 实 现层 面 上 更 倾 向 于 软 件 随 着 ,
。 1 C 产业 的蓬勃 发展
,
5
西 安 电 子 科技 大 学 硕 士 学 位 论 文
, ,
,
不 同 试验 人 员 的 验证 思 路 和 实 现方 式 也 可 能有 较 大 差 异 ,
后 续验 证人 员 技术交流
或工作交接会带来很大 的 不便 , 直 接 降低验证平 台 的 可重用 性 和 移植性 。
因 此验
证 方法学应运而生 可 以 了 解到验证方法学 的 发展历程
2
由 图
|
6
1 1
, 1 .
:
vAv e RM U VM
1 1
U RM
1
i s o r
2 0 00 2 0 0 2 2 007 20 1
0
?
C on t r i bu t i o n sf
ro m
'
2 0 0 3 2 0 0 6 2 0 0 8 C ad e n ce
A VM O V M
2 3 3
RVM yn o p s y
1
S
'
J
’
M
.
2
VM M en t o
r
图 1 .
6 验证方法学发展 时 间轴
i s i t i ( ) 200 0 v i s o r
,
、 。 目 ,
,
自 。 2002
, e ,
对后 来通 用 检验方法学 的 发 展 产生 了 影 响 包括证 明 框架 的 构造
, 、 o bj e c t o n i
机理
、
se
que
nce 。 200 3 , S
yno p sy s ,
r
y
, ,
同 的 类型可 以 重载 。 最 终 三 大 半 导 体 巨 头 公 司 继 承 了V M M 的 寄 存 器 模 型
, 、 0VM
的 fa c t o r
y 机制 , 于 20 1 0 共 同推 出 了U V M 验 证方法 学 , 整合了 平 台优势 , 提供
了 更为 强 大全 面 的库 文件支持 U V M 经推 出 便成 为 了 验证方法学领域 的主
—
, ,
流間
。
6
第 章 绪论
一
1 . 2 国 内 外 研 宄现状
国 外 较 早地开 展 UV M 验证 方 法 的 实 践和 运 用 , 平 台 和 功 能较为 完 善 。
国 内
在 20 1 1 至 20 1 2 年间 ,
依然选用 较为传统 的 F PGA 验证方法 , 但 20 1 3 年之后
,
在国外 各类专家学者 直 在 UV M 验 证 领 域 展 开 探 索 Ay n s 等人
一
, 。 J o hn l ey
利用 自 定 义 寄存器搜索 ,
克服 了 使用 更繁 杂 寄存器 的 问 题 。 如 无法 直接 从 ad a p t e r
, t r an s a c t i o n ,
独特 的 访 问 方案 和 等 人 指 出 了 当 错误地输入 了 激
4
Kur S c hw a r
tz T m C o r c o r an
1
[ ]
。 t i
励 平 台 如 何得到 响应 的 想法 等人基于 给出
5
f Va n c e 了
1 一
"
[
uv m h arne s s
]
,
。 Je ,
解 决方 案 模块配置 或版 本控 制 改变 而 耗 费 大 量 验 证 资 源 问 题 的 新 办法 ,
并利用 这
种 方 法 在 设计模块验证层 次 改 变时 减少 相 关 资 源 的 输入 [
1 6 ]
。
接 口 提供验证环境 时 ,
深 入 研 宄 了 U V M 认 证 平 台 的 框 架 以 及 构 成 平 台 的 基 础 组
件 ,
并发挥 了 对 s
y s t e m Ve r i o g l 验证语言 的继承 , 多态 、 封装 性 以 及覆盖 率 等优 势
[
1 7]
。 张少 真 、 成 丹 等 人 使 用 了M a tl ab 为 引 擎方法 , 并 进 行 了M a t l ab 和 UVM
的
结 合仿 真 ,
Ma t l ab 算法模板 也 顺利 地被 UV M 所访 问 , 在确立二者 的联系 之后
,
,
。
各个 高校 也加 强 了 对 UVM 验证方法学 的研 宄 ,
张瑞在 对某 多 核 调 试模 型 进
了
一
[ ]
1 553 B 双 总 线 协 议验证平 台 ,
切 实提升 了 验证效 果 而陈琳娜则在 己有 UVM
, ,
存 器访 问 配套 了 预警机制 , 并通过 ho o k 函 数和 c a l l b ac k 机制 实 现口 1
。 王泽华还提
出 了 将 区 块链 的 求解从 S H A2 5 6 哈希 函 数过程 , 替 换 为含 C ac h e 结构 的 数字集成
电 路 流程 的 新 方 案 以 克 服 区 块链应 用 中 对 能 源 和 计 算 力 浪 费 的 问 题 [
23 ]
,
。
, I
, 、 ,
7
西 安 电 子科技大 学 硕士 学位论文
1 . 3 研宄 内 容与文 章 结构
第 章 简 单 说 明 了S e Des 的 发 展 由 来 以 及 验 证 在 集 成 电 路 领域 的 重 要 性
一
: r
,
说明
。
第二 章 :
研 究 了 U V M 的 组 成 成 分 和 运 行 机 制 。
从验 证 的 基本 概 念 出 发 ,
对
UVM 的 验 证 方 法 学 展 开 深 入 研 究 , 比如 构成 UV M 平 台 的 基本 组件 、 各种 U VM
特有 机制 , 寄 存器模型 等
。
第三章 :
设计 S er Des 验 证方 案 。
深入研 宄与 待测 设计 密切 相 关 的 以 太 网 协议
和 NCB -
P C I E xp r e s s B as e _
5 . 0r l . O 中 的 物 理层 部 分 以 及 对应 的 三 种 编 解码方 式 ,
待
测 设计 整 体将 被 分 为 AP B , PCS , P MA 三 部 分 , PC S 子 模块 又 分 为 编 解 码 模 块
,
: 。
研 究要 点 , 需 要完成 U VM 平 台 的 总体结构设计 ,
并 通过 在 各 个 阶段 中 构 造 了 试
验平 台 , 对各个 阶段 的 数据 通路 ,
以 及 各 个 UV M 模 块 的 实 现过程进 行 详尽 的 阐
述 ,
并 对 不 同 试验激励 构 造 的 基 本 步 骤进 行 了 说 明 ,
并 结 合波形分析方法来确 定
试验结果 的 可靠性 , 在搭建平 台 过程 中 , 针对 S e rD e s 寄存器多 、 验证 维护 易 出 错
的 问题 本文拟 提 出 种基于 脚 本 的 寄 存器 生 成配置 自 动 化流程 避免人
一
,
p yt ho n ,
为撰写 失误 。
针对 S erD e s 结构复杂 、 验证功 能 点 多 的 特 点 , 本文拟采用 HV P
验
证 自 动 管 理 流程监 视功 能覆 盖率 从而 提 高验 证 工 作 的 效 率
。
第五章 :
分析 S erD e s 的验证结果 , 借助仿真编 译工 具 v c s + ve r d i 对 S e rD e s
模
块 进 行 仿 真 并 结 合 波 形 进 行 测 试 功 能 分 析 经 过进 步 改善 约 束 增 加 回 归 次数
一
。 ,
,
待 测 设计 的 代 码 覆 盖 率 和 功 能 覆 盖 率 若 均 达 到 1 00 % , 则验证收敛 , 达 到 预期
目
标
。
第六章 :
对 全文进行 总 结和 展望 。 对整个研 究 内 容进行总 结 ,
分析优势 与 不
足 , 提 出 未来研 宄工作 的 方 向
。
8
第二章 UVM 验证方法学研 究
第 二 章 U V M 验 证 方 法 学 研 究
证平 台 架 构 、 树状 结 构 下 的 构 成 组件 、 fa c t o r
y 机制 、 o b ec
j
t i on 机制 、
p
has e 机制
、
se
qu
ence 机制 、 TLM 通信 机制 、 寄 存器模 型 、 覆 盖 率机制 等进行 研 % ,
为后 续基
2 . 1 UVM 基础
为基础 ,
并提 出 了
一
个完整 的库 函 数 。
库 文件涉 及许 多 常 见 的基类和 参数 , 对验
证平 台 的 构 造 以 及 使 用 流程做 了 规 定
。
2 . 1 . 1 S y s t e m Ve r i l o g 语言 简介
S y s t e m Ve r i l og 是由 ver i l o
g 发展而来 的 , 可 以完全兼容 ve r i l og 。
在 2002 年被
tm
提 出 并于 , 2005 年正 式成为 美 国 电气 电子工程师 协会的 标 准 即 , I EEE 1 8 00 -
20 05
,
m
诞生后 很快得到 了 业 内 许 多
t
目 前 最新 的版 本是 I E EE 1 8 00
-
20 1 2 。 S y s t e m Ve r i l o
g
2 . 1 . 2 U V M 验证 平 台 架构
f
Sys t e m r i l o
g , /
类和方法 ,
如图 2 . 1 所示为典型 的 UVM 验证架构
。
env
r e fe r e n c e m od e l ? s c o r e bo ar d
, 丨 ,
丨
i n age n t out
_
a g e n t
se u en c e r
q
dr i v er m o n i t o r m on i t or
| |
-
; DUr 1 - -
I
?
^
图2 . 1 经典 UVM 验证架 构
9
西 安 电子科技大学硕士学位论文
该 验证平 台 各个 组 件 的 功 能 描 述 如 下
:
驱动 器 作 为 验证 平 台 核 心 组件 之 负 责将事务转换为信 号 级
一
( 1 ) d r i ve n ,
数据 , 并通过接 口 驱动 到 待测 设计
。
( 2 ) mo n it o r : 与 d r iver 不 同 的是 , 这 个组件 监 视 DU T 的 输 入 或 输 出 行为
,
它 将 信 号 级 数据转换 为事 务 , 并将 它 们 发送 给 后 续 的 组 件 成 员 ,
如 参考模 型 或计
记分板
。
( 3 )se
q u e nc e 与 se
q ue n c e r :
激励产 生 的 源头 , 本是 d r i ve r 的功能 , 但为 了 组
件功 能划 分更加 明 确 ,
从 d r i ve r 中 剥 离开来 , 提 高 激励 的 产 生 的 灵 活 性
。
( 4 ) ag e n t :
将具有相 同 端 口 协 议 的 组件封装起 来 。 dr i ve r 与 mo n it or 两者的
A g e nt 将 二 者 封 装在 起 通 过特 定 变量 来 决 定 是 驱动 型 变量还 是监 测
一
, i s
_
a c t i ve
型变量 。
内 部 总 线 的 连 接方 式具有 了 多 样 性 , 也 简化 了 验证平 台 的 搭建
。
( 5 ) r e fe r e nc e _
mo d e l : , 。
般 和 记 分板 组 件 直 接 连 接 并 把 输 出 结 果 直 接 传 送 给 它 ,
用 来与 待 测 设计物 的 输 出
件 可 以 通过其他 编 程语 言 建模 通 过 接 口 函 数 对接验 证平 台 具 有 很 强 的 灵 活 性 , ,
。
( 6 ) S C 〇 r d bo ar d : 是验证平 台 中 负 责 输 出 验证 结 果 的 组件 , 通过 比对 DUT
输
出 监 测 到 的 数据 和 参 考 模 型 模 仿 DU T 行 为后 得到 的 数据 , 来判 断 DUT 是 否 符合
预期 , 具有 验证结 果 自 动 比对 的功 能 ,
减少 了 人为 的 c he c k , 也是 UV M 验证平 台
便 捷 高 效性来源 之
一
。
( 7 ) e nv :
按照 UVM 树状结 构 实 现各 个组件 的 实 例 化 以 及 连接
。
2 . 1 . 3 O bj e c t i o n 机制
O bj e c ti on 机制也用 于监控 UV M 平 台 中 仿真进程的 结果 。 具体的利用
,
ra i se
_
o bj e c t i o n 与 dro p _
o bj e c t i o n 的配合使用 , 具有提起或撤销 所有 o bj e c t i o n 的功
能 。 当 所有被提到 的 o bj e c t i o n 都 被撤销 后 , 仿真将会停止 , 另 外 即 使 组件 (
如
Dr i ver ) 中 含有 fo r e v e r 语句 , 仿真也不会
一
直循环 下去 , 这 是 因 为在 UVM 中
,
fo r e r v e r 的优先级小于 o bj e c t i o n
。
在 U V M 平 台 实 现 过程 中 每 次进入 个 时 都有 个特定 的 系 统变
一 一
,
p ha s e ,
量 , 该 变量 计算 p h as e 中 o bj e c t i o n 被 提 起 和 撤 销 的 所有 组 件 的 数 量 。 只 有 当 所有
对 象 都 被移 除 时 验证 进程才会进入 下 当整个 过程完 成并执行后
一
,
p has e 。
p
has e
,
平 台 将 调 用 ¥ fm i s h 函 数 终止 整个 仿 真进程
。
以上 结果 , 仅应用 于如上 图 中 所指 的 1 2 种 r un
-
ti m e p has e 。 它 并不适用
ru nj p h a s e , 因此 ru n
_
p
ha s e 和 ru n -
ti m e p ha s e 都 是 可 以 并行执行 的 。 但如 果 十 二 个
动态 p
has e 都有被提起 ,
则 ru n
_ p ha s e 不必 ra i se
_
o b e c t io n
j
也会 自 动执行
。
1
0
第二章 U VM 验证 方法学研 究
2 . 1 . 4 u v m
_
ob
j
ec t 和 u v m _
c o m po ne n t 基类
uv m _
o bj ect 和 u vm
_
co mp o ne n t 是 UV M 中 最 基 本 的 两 个 概 念 , UVM 环境 中
uvm _
o bj e c t 是最基本 的 类 , 它的范 围相当广 阔 ,
以至于在 U VM 中 的 几乎每
个类 都 是 由 它 所衍生过 来 的 , 而 uv m co mp o n e nt 也包含在其 中 。
面 向 对 象语 言 儿
: , ,
。 ,
自u v m 一
o bj e c t 的 类 包 含u v m —
s e
q u e nc e 一
i t e m 、 u vm
—
re
g 等
。
uv m _
co mp o n e nt 类也 由 uvm
_
o bj e c t 派生而来 ,
但和 常见 的派生 自 uvm _
o bj e c t
的类有所 区 别 ,
前 者 能够 稳 定地成为验证平 台 结 构 ,
只 要进 行 了 实例化就可 以 长
“
久的存在 。
而后 者 随 着 仿 真过程 的 进 行 , 不 会 形 成稳 定 的 树状结 构 ,
属于 消耗
”
品 此外 相 比于 具 有两 个特殊属 性 是 通过
一
( ) 函 数 并 设置 p ar e n
t 参 数 形 成树 形 结 构 , 这也成为 p ha se 可以 自 上至下执行 以
及 UV M 验 证平 台 能够 正 常 运 行 的 关 键所在
。
常 见类之 间 派生关系 如 下 图 所示
25
U VM 2 2 .
[ 1
。
u v m _
vo d
i
u v m r e
_
g
u v m r eg fi l e
v i u v md r i vc
r
> u v m o hj e c
_
l /
uv m r e b oc k u v mm o n i t or
g
l
— 一
/ /
/
u v m r e
g
f i e l d ^ i ‘ / u v m
[ 一
s eq u e nc e r
u v m t r an s a ct i o n u v m r e p o rt o b j
ec
t
I
* V '
▲
u v m
I
a
ge n
:
t
=
m m
^r
u e nc e
u v se r l e
q
i
,
u v m c om p o n
i
_
uvm s e u e nc e r b a s e uvm _
s co r e h oa i
d
q
一
= - =
t uvm r oo t \ \
u vm
^
u v m e enc e e nv
qu
s \
_
u v m
1
_
t es t
常见类派生关系 图
2 5
图2 . 2 U V M 【
】
2 . 1 . 5 U V M 树状 结构
,
自 u v m _
co m p o ne n t ,
, 。 。
1
1
西 安 电 子 科技大 学 硕 士 学位论 文
本的 树状 结构 如 下 图 所示
26
UVM 2
[ ]
. 3
。
興中 uvm _
t op 是 UVM 树状结 构 的 根 , 他是直接 由 uv m r oot 例化 得到 的
。
u v m t o
_
p
(
u vm r oo t
)
j
uvm es t t o
p
t
一
m c as e O
( y _
)
i
en v
(
m y e n v )
i a
g
t s c b m d l o a
g t
(
my a
ge n t ) (
m
y —
s c or e b oa rd
) (
m
y m od e l
) (
m
y a
ge n t
)
Z \
s
q
r d r v m on
my
_
s e
q
u e n ce r
(
my d r i ver) (
m
ym o n i t o r
)
基 本树 结构
6
图2
2
. 3 UV M |
]
2 2U V M
. 基本运 行 机制
, ,
2 2 . . 1 P h a s e机 制
p
has e , t nc t o n
fi
i
phase , 具体包括 以 下 两 个
:
( D bu i l d
j h ase :
该 阶段完成验 证平 台 的 创 建 和 配置 工 作 。 特点是 自 上而下
执行
。
( 2 ) C o n n e c t _ p
hase :
该 阶 段 完 成 平 台 各 组 件 的 连接 工 作 , 此外还包括 TLM
通信 的 连接 。 特点是 自 下而上执行
。
另外 种是 这 类要 包含 很 多 它们统称 消耗
一 一
as k hase has e
t
p
,
p , run
_ p ha se 。
仿真时间 , 通 t as k 来 实现 。 驱动 和 监 测 DUT ,
仿真结 果 的 收集 , uv m _
i n fo 信息的
如图 2 4
.
为 UV M 中 的 p
has e 汇总 , 各个 p h ase 会按 照从上至 下 的 次序 自 动运
1
2
第二章 U VM 验证方法学研 宄
p has e
。
。 ,
bu i l d
p
h ase
^
p re r e s et p h a s e
r e se t ha s e
co nn e c t _
ph s
a e
_ p
has e
en d of e l a bo r a t i on p
has e
po st r e se t
p
o n f g u re p ha
s t ar t _
o f e l a bo ra t i on ph ase pre _
c i
—
s e
c o nf
i g ur e p has e
po st c o n f g ur e i
ph a s e
_ _
un ph^ e
r
p re m ai n p
ha s e
ma n i
— ph a s e
ex tr a t
jh as e \ p o st m ai n ph a s e
h u t d o wn
c h ec k p
ha s e p r e s
pha s
c
s h ut d o wn ha s e
re
po r t
ph a s e
p
f i na l
p ha s e ^
po st s h u t d o wn
p h a s e
从宏 观上看 在 顺 序 执 行 过程 中 没 有 时 间 差 但是 由 于同 的
各
一
has e
phase p
,
,
h as e
,
p
才 可 以 进入下 个
2
的进程
一
[
7 l
h ase
。
,
p
不按 既定 顺序 执行 ,
而 是按 照验证 需 要进 行 p
h ase 跳转 , 比如 DUT 在 正常运行 时
突然 收 到 了 复位信 号 , 那 么 验证环境也应 该模 仿 DUT 的行为 ,
跳转到 re S e t
p haS e
阶段来执 行 些 复位清 除 操 作
一
。
在 实 际搭建验证平 台 过 程 中 , 验证人员 并 不 需要 每个 p
h ase 都编 写任 务 ,
了
解各个 p
h ase 的执行顺序 按 需使用 即 可 ,
UV M 定 义诸 多 p
hase 的 目 的足为 了 验证
人 员 留 % 充 分余量来完成验 证任 务
。
2 2 2
. . S e q u e n c e机 制
se
q u e nc e 派生于 uvm
_
ob
j
e ct , 在 仿 真过程 中 不 以 固 定 的 组件 存在 , 它 的作用
是产 生激励传给 s e
q ue nc er ,
再通过 se
qu
e nce r 给到 dr ve r
i
以此驱动 DUT ,
由 于不
s e
q
u e nc e 还支持嵌套使 用 , 当 存在 多 个 en v 子 类或者 多 个 se
qu e nce 时 , 平台
可 以 通过 v i rt ua l s e
q u
e nce 机制 控制 各 个子类环 境 中 se
q u e nc e 的 发包顺序 ,
实 现统
调度
一
。
2 2 3
. . F a c t or
y 机制
, Fac t o r
y
。
u vm
_
o bj e c t 的 基类使用 uv m
_
ob ect
j _
ut i i s 宏 ,
派生 自 uvm
_
c o m p () n e n t 的姐 件 使用
1
3
西 安 电子科技大学硕士 学 位论文
uvm
_
co mp o n e n t _
ut i l s 宏 , U V M在 识 别 到 宏 后 将U V C ( Un i versa l Ve r i f c at o n
i
i
C o mpo ne n t ) 加 到 内 部 的 注 册 表 里 表 明 其 成 员 变量 除 了 常 用 的 .
ne w 函数 , UV M
的 fa c t o r
y 机制 以新建 的 c l ass 代替 旧 类 ,
从而可 以 在注册表 中 找 到要重载 的 组件
时 产生新的类实例 在构造 些 复 杂验证环 境 时 有 时 需要对整 个组件进 行大
一
, 。 ,
, , v i t ua
r
l
t as k , 在 异 常 测 试 用 例 里 只 需 在 声 明 重 载此 类后 重 新对 t as k 编 写 便可完成 内 容 的
替换 这样 来 就可 以 把公 共组件分离 出 来 多 个验 证 人 员 共 同 维护 而当特
一
, , , ,
殊场 景下 需要 重 新 修 改 公 共组件 时 ,
则 可使用 重载 , 这样将 自 己 改动 的 影 响 精 确
到个人负 责 的 case , 而 不 会 对 其 他 人 造 成影 响 ,
提 高 了 验证 效率
。
2 3T L M
. 通信 机制
验证 平 台 组件 间 通信 也 是 不 可 或缺 的 关键组 成部分 , S V 语言 提供 了 全局 变量
、
事务 旗语 和信箱 但是 使 用 这些 由
2 8
( e ve n t ) 、 ( se map ho re ) ( ma i l bo x )
丨 ]
。 , S
V
提供 的 通信 方 法有 许 多 缺 点 , 验证人 员 需 要 消 耗 大 量 时 间 编 写 相 关通信 代码 。
对
此 UVM 提供 了 套 更 为 先进 的 通信 机制 TLM 机制
一
一
,
。
T LM 为 UVM 组 件 间 建立 的 专用 的 通道 , 别 的 组件 的事务不会流到这个通道
去 同 时 给这 个通道 阻塞或者 非 阻塞 的 特 性 于具有独立性
29
,
[ ]
。 由 ,
可 以避免组件
进 行通信 时 出 现混乱 , 保证信 息 的 准确 性 , 这就是 TLM 机制 最重要 的 特性 。
下
操作 如图 2 所示 动作的参与者 A 将 某 个事 情 发 送 给 B 构成
一
p u t 5
-
( 1 ) :
,
此过程 中
“ ” “
个最 简单 的通信 被称 为 通 讯 的
”
。 , A 发起者 , B 称为通信 的 目 标
“ ”
或者 接 受者 , A 的 端 口 用 正 方形表 示 , 称为 P O RT , 而 B 的 端 口 则 用 圆 形表示
,
称为
26
E X P O RT 1 ]
。
动作 发起者
( 目 标
)
数据流
A ] ?£ B
图2 . 5
p u t 操作p 6
]
操作 如图 所示 A 向 B 索取 了 个事务 可看 出 和 操作
一
2 2 6
( )
g e t : .
, ,
pu
t
“ ” “ ”
很相 似 , A 和 B 依然是动作 的 发起者 和 接受者 , 对应 的 p o rt 也没有变
。
1
4
第二章 UVM 验证方法学 研 究
-
'
■
还是 A 对应 PO RT , B 对应 EXPO RT , 只 是 当 数据 的流 向 发 了 改变 , 可 以看到
,
P O RT 和 EX P O RT 体现 的 并 非数 据 流 向 而是 控 制 流 向 ,
pu
t 和 g et 两种操 作 的数据
流方 向 恰 好 相 反 但控制 方 向 是 致的 都 是具 有 P O RT 端口 的 方作为命令 的
一
一
,
,
方作 为接 收方被动接受指令
26
发起方 E X P O RT 端 口 的
一
[ ]
。
,
动 作 发蹄
| 数 据 流
A C B
操作
26
图2 . 6 ge t
[
1
2 4
.
寄存器模 型
比对 , 但如 果 没有 寄 存 器模 型 , 平 台 需 要通过启 动 se
q
uence 并按照总线要求给
提供 的 寄 存器模 型在 保障 正确 率 的 同 时 简 化 了 这 操作
一
UVM
。
他 可 以 根据 仿 真过程 中
“ ”
的 DU T 目
[ 1
DUT ; ,
。
1 .
寄存器 的 访 问 模式
( 1 ) 前 门访 问 :
模拟 DUT 的 行为 , 在 总 线 上发 出 读 写 指 令 , 通过 寄 存 器模
型产生事务级 内 容 ,
在通过 ag e n t 访问 D UT , 消 耗仿真时 间
。
( 2 ) 后 门访 问 :
不 需要消 耗仿真时 间 ,
就可 以 引 用 待测对 象设计的高层次结
构
。
几个 小 时 通过后 , 门 访 问 时 间可 以缩短到 原来
,
1 n 〇〇 。
但后 门访 问 也有不足之处
,
2 .
镜像值和期待值
1
5
西 安 电 子 科技 大 学 硕 士 学 位 论 文
( 1 ) 镜像值 : D UT 的 寄 存 器 值 随 时 都 会 在 模 拟 过程 发 生 变 化 , 但 寄存器模
型 并 没有 实 时 捕 获 这种 变 化 因 此可 能会 出 现模 型 里 的 值 和 实 际 值 不 相 同 的 情 况 ,
。
,
期 待值 比如 D UT 中 个 寄 存 器 的 值 与 寄 存器模 型 的 镜 像 值 样大
一
2
一
( ) :
,
。 , wr it e
写入 , 那 么 期 望 值和 镜 像 值 都 会 改 变 。 也可以使用 set 设置 完 成 期 待 值 后 调 用
任 务 如 果检 测 到 期 待 值和 镜像值 不 致 会把期待值 写 入并更新镜像值
一
up d a t e , ,
。
3 .
常用 操作
( 1 ) r e ad 和 wr it e : 当 使 用 前 门 或后 门 访 问 系 统对 待 测 设 计 的 设 计 进 行读 取
操作 或 写 入操 作后 ,
系 统将 改 变 寄存 器模 型 的 镜 像 值
。
( 2 )
p
eek & p o ke :
p e e
k 为读操作 ,
p o ke 为写操作 作用 与 , r e ad 和 w r it e 相同
,
都会更新 寄 存器模型 的 值 , 但 只 适用 于后 门 访 问
。
( 3 )s et 和 g et : s et 用 来更新期 待 值 ,
但 镜 像 值不 做 改 变 。 G et 操作 会返 回 模
型 中 此寄 存 器 的 期 待 值
。
( 5 ) ran d o m i ze :
寄存器模型 支 持 r a nd o m zei
接口 。
执行 随 机化后 , 期待值会
变成 随 机 的 数值 , 但镜像值不 发生 改变 。
并 非 所 有 寄 存 器模 型 的 每 个 辅 助 寄 存 器
, , ,
获取 的 , 然后在调用 u p d at e 配置 给 DUT
。
2 5
.
覆 盖 率机制
绪论 中 提到 , 无 论 是 定 向 测 试还 是 受 约 束 的 随 机化 测 试 , 在 验证过程 中 ,
需
要有 个 具 体 的 指 标 来 描 述 验 证 工 作 的 完 成 度 这 个 指 标 必 须 包括 D UT 的 所有 功
一
全部代码 , 只 有 解 决 了 上 述 问 题才 能证 明 验证 是 否 收 敛
。
1
6
验证方法 学 研 究
第 二 章 U VM
被执行过 。 验证 收敛 的 流程如 图 2 7 .
所示
。
不 同 的 随 机激 励
^
多 次运 行
I
代码 盖率
? 编 写 定 向 用 例 y
…
& 足 要 永? 收 敛
添 加 约 束 俩
功 能覆 盖 率
修 改代 码
分析覆盖 盲 区 《 不 满足 要 求
图2 . 7 验 证 收敛 流程
2 5 . . 1
代 码 覆 盖 率
1 .
代码 覆盖 率 的 意 义
监 测 待 测 模块源代 码 的 执 行情 况
。
代码覆盖率达到 1 00 % 并 不 能证 明 DU T 完伞没有缺陷… 1
。 如图 2 . 8 所示 ,
由
于 出 现 了 错 误并恰好 相 应选择信 号 选 为 1 ,
导致这个 bug 被遗浞 而 尤法观测 到 缺
陷 ,
。 ,
90 ,
半 左 右 的 设计功 能 能够 被覆盖
[
3 2 i
。
B ug he e
r
一
、
一
^
^
 ̄
_
_
D 〇
f
\ 组 合 逻 辑 1 n
.
、 t _ _
_
'
'
^
无法 观测 到
* - —
b ug
r j
d q pr
J
(
\
I
组合 逻辑 2
j
产生 bu
g 时 , 选择 f i T 3
1
阁2 . 8 B u g 无法被观测到的情形
1
7
西 安 电 子 科技大 学硕 士 学 位论文
2 .
代码覆盖 率 的种类
代码覆 盖率有 不 同 的 种 类 , 对 DUT 从不 同 角 度 分析检测 。
常 见 的 有 行 覆盖 率
( li n e c o ve r ag e ) 、 翻 转覆盖率 ( t o g g l e c o ve r a g e ) 、 条件覆盖率 ( c o nd i t i o n c o ve ra ge
)
以 及状态机覆 盖率 ( F S M c o v e r age )
。
, re vi e w ,
激励是否有场 景缺失 另 方面 也 可 以 分析 代 码 本 身 的 编 写 方 式 是 否 具 有 逻辑
一
, ,
错误 , 无法涵 盖 。 此外 , 对
一
些复杂 的 I P 来讲 , 如 果 只 会 用 到 部 分场 景 , 激励本
身就不 必覆盖他 的全部功 能 , 这种 情况 只 需要说 明 情 况后 忽 略 即 可
。
始 到 结 束 总 共 翻 转 的 次 数 尤 其 是 随机进 行 读 写 数据 时 需 要 确 保每 比特 的翻转
一
,
,
当然也有例 外 比 如 对 于 协议 规 定 的 地 址 信 号 可 能 某 比特 直为低 电平 这种
一
一
, ,
情况 下 翻 转覆 盖 率 无法 保证 1 00 %覆盖 , 此时 分析情况后 忽 略掉 即 可 。 翻 转覆 盖
率 往 往 用 来检 测 模块 互 连 时 信 号 线 连 接 关系
。
能 的情形 , 对于 多 个条件 共 同 作 用 的 语 句 ,
他们 之 间 的 组合都 需 要遍历 ,
才 能证
表2 . 1 多 重 条件 的 判 定 组合
 ̄
判 定语句 :
(
a> b) && (
m> n )
^
条 件 组 合 结 果 |
a > b m> n t ru e
a > b m< n fa l se
a < b m> n fa l se
a< b m < n fa l se
组合 的 互斥情 况 常 常 出 现在 复杂 设计 中 比如 大于 时 定大于
—
, a b , m n
,
, ,
,
验证 人 员 可 以 当 作 冗余项 忽 略
。
状 态 机 覆 盖 率 是 保 证 待 测 设 计 状 态 机 各状 态 间 的 跳 转 都 又 被 覆 盖 , 通过 内 部
计数器 统计 出 DU T 进入某 状态 的 次数 邻 近 状 态 之 间 转 移 的 次 数 通过 状 态 机
一
、 ,
覆盖 , 可 以 直 观地观 察状态 机 是 否 达 成 预 期 的 跳 转 以 此 推 断 是 否 存 在 设 计上 的 错
误
。
1
8
第二章 U VM 验证方法学研 究
2 5 2
. .
功 能 覆 盖 率
1 .
功 能覆盖率 的 意义
功 能 覆 盖率 表 征 现有 激励 下 D UT 是否 达 到预期 的 功 能 它 是和 设计意 图 紧密
,
相连的 。 随机化测 试 的 技术 日 趋完 善 ,
使检验 平 台 更方 便地大 量 产 生 受 约 束 的 随
, , ,
的标准 , 检验 员 将 无从 了 解 这种 随 机 奖 励 能 否 涵 盖 预期 的 所有 功 能 点 , 因 为代码
覆 盖 率 只 是 衡量 设计 的 实 现情 况 , 如 果 某个功 能 点 有 所遗 漏 , 代码覆盖 率 是 无法
发现这个 问 题 的 功 能覆 盖 率 的 出 现 可 以 有 效解 决这 问题
一
,
。
, , ,
果验 证人 员 编 写 错 误 或者有 遗漏 ,
都会导致覆盖 点 与 预期 功 能 的 不对应
。
2 .
功 能覆盖率 的种类和 实现
验证 待 测 设计功 能 时 , 通常 需 要 监视设 计 中 的 状态 ,
以及总线 数据或
一
些关
键指 示 信 号 , 这时候 s
yst e mv er i l og 提供 的覆盖 组 ( c o verag egro u p ) 方法就起 到 了
作用 覆盖组用 来 采样 总 线 上 的 数据 或 者 DUT 中 的 寄 存器 它 与 类相 似 声明
次
一
, ,
后 就可 以 对 它 进 行 实例 化 。
实例 化后 就可 以 自 定义采样 的类型 、 位置 以 及周 期
,
拷贝 了s ys t e m v e r i lo
g 覆盖 组 的 概念
。
功 能覆 盖 率 的 组成要 素 包括 覆 盖 组 覆 盖 点 、 、 仓 其 中 覆 盖组 是 最外层 结构
,
,
多个 可 以被 个 包含 每个 有用 以包
一
c o verag e p o nt i c o v e r ag e g r o u p , c o ve ra
g ep o nti
系 。 即 若变量个数为 N , 则仓的数量为 2
A
N , 但在实 际应 用 中 , 经常 要根 据 特殊
情况针对性对 的 设置仓 的 数量 , 比 如 有些情 况变量 的 值不 可 能 随机到 0 或者 1
,
就需 要 手 动 删 除 掉对应 的 仓 有 时 验证过程 中 不希 望得 到 某 个值 那 么 运用 非
一
,
;
法仓 ( il l e ga l b i n s ) 的 方法 , 可 以 对 是 否 采集到 非 预 期值进 行 预警 %
。
平 台 的 控制 部分 。 也 就 是 说遵 循 尽 量 使 用 DU T 内 部信号采样 的 原 则
。
当 然对于 日 益 复 杂 的 设计 对 验 证 人 员 功 能 覆 盖 模 型 的 撰 写 提 出 了 更 高 的 要 求
,
部分仓 即 可 。
验证过程是没有 终 点 的 , 只 要 芯 片 在 工 作场 景 中 不 出 错 的 概率 足够
高 , 那么 验证过程就可 以 被认 为是 充 分 的
。
1
9
.
西 安 电子科技大 学 硕士 学 位论文
2 6
.
本章 小 结
机理 、 o bj e c t i o n 机理 、 se
q u e nc e 机理 、 fa c t o r y 机制 、 TLM 通信 、 功 能覆盖率机制
等
。
20
模块验证方 案设计
第三 章 S er D es
第 三 章 S e r D es 模块验证方案设计
在对 UVM 验证 方法 学展 开深 入探 索 后 , 本 章 节将 结 合 高速 通 信 协 议 以 及 设
开分析 ,
提取编 解码模块 、 数据整形 模块 、 跨时钟域模块 、 AP B 配置模块 、 同步
模块等子 模块 的 功 能 点 确 定每 种 测 试 的 检查方 式 设计 完 整 的 , , S erDes 验证 方案
。
3 . 1 S er D es 整体结构
目 Ser
。
此模块作 为 高速 串 行 收发 器 完 成数 据 在物 理层 和 协议层 的 传输 工 作 ,
支持 C EL
E t he r ne t , I n t e r ak e n l , P C E U S B G P O N
I , , , E P ON , C P R 1 , J E S D 2 0 4 等协议
,
其 中 待测 设计 S erDes 整体 模块 框 图 如 图 3 .
1
所示
。
A PB M A S TE R
A PB
vn
- -
TX |
P
—
Tx -
B 响 e T Xb r i d
ge
E n c o d er ? ? T o >
^
f e
g
s e n a
l
z
P LL
d k
^
,
l ahn e
R XN
^ d a la
" - —
s y
?
、 ,
l
Rx Rx
<N
B n dg e d n Ve
*R xB r i d
g
e— o t
D 咖 t c
< Jo
^
T
:
C 〇R
e
r £ f
8 g
p
a ra l l e l
^
—
c
?
l k
—
1 R XP
PCS P MA
图3 . 1 S e De r s 整体模块结 构
高级 外 围总线 ( AP B ) 三大模块 ,
其中 P CS 作 为物理逻辑层 负 责 数据 的缓存 ,
比
特翻转 ,
编解码 等功 能 , P MA 作 为模拟模块 负 责 串 并 转 化 ,
时钟 数据恢复 , 提供
P LL 参考时钟 等功 能 ,
APB 对待 测 设计寄存 器进 行配置 工 作 ,
由 于本 Ser Des
模
2
1
西 安 电 子 科技 大 学 硕 士学 位论文
模 块关 键端 口 信 息
。
表 3 . 1 S erD e s 端 口 定义
序号
| 名 称 类 型 功 能 描 述
1
PA —
VD D
I
模拟 电源端 口
2
VD D
I
数字 电 源端 口
3
PA _
G ND
I
模 拟 地端 口
4
G ND
I
数字 地端 口
5 fd a t a[25 5 0 ] :
I
来 自 fa b r i c 的 并 行输入 数据
6 tcl k I 发 送 侧 输入 时 钟 ,
与 fd a t a 同步
7 En a b l e I 芯片 使能信号
8
p cs
_
ne ar _
l oo
p
_
en I 环 回 测试使能信 号
9 p cs
_
rs t
[
3 0 :
] pc 各 通 道 复 位 信 号
I s
1 0
pma _
rst
[
3 : 0 ] p m a 各 通道 复 位 信 号
I
1 1
p l l
_
r st I p
l l
模块复 位信 号
1 2
t x _
s fd
_
lag
f
I
1 5 8 8 时 间 标志 输入 , 与 fd a t a 同步
1 3 t s fd o f fs e t I 1 5 88 时 间 偏移 量输入 , 与 fd a t a 同步
1 4
RXP 、 RXN
I
串 行数据 输入
1 5
T X P TXN .
O
串 行数据 输 出
1 6
p cs
_
d o ut [ 2 5 5 : 0] O 输 出 到 fa b r i c 的 并行 输 出 数据
1 7
rc lk
O
输 出 并 行 数据 同 步 时 钟
1 8 t x _
s fd
_
fl a
g _
o O 输 出 到 fa b r c i
的 时 间 戳标 志
1 9 t x _
s fd
_
o fs e t _
o O 输 出 到 fa b r i c 的 时 间 戳偏 移量
3 2 .
编 解 码 模块
3 2 1. . 8 b l 0b 编 解码
8 b/ 1 0b 的 编 码 方法 是 将 8 比特组合成 1 0 比特 , 其 中 包括 2 5 6( 2
A
8 ) 个数据
字符编码 和 个控 制 字 符 编 码 分别 记录 为
为满
4
G ro up )
3
( D G r o up
-
) 1 2 ( , Dx [ ]
。
足 串 行 解 串 行器功 能所 必 需 的转换
/ , 确保 〇 和 1 元素在数据流 中 数量相 同 , 也叫
. 直流均衡 ; 确 保字 节 同 步 容 易 实 现 ( 找 到 字节 最低 比特 的 位置 )
。
8 b/ 1 0b 的 编 码 方案 将 8 比 特数据分成两块 : 3 个 最 高有 效 位 (
y ) , 5 个最低有
效位 ( X ) 。
代 码 字 的 排 列 顺 序 为 从 最 高有 效 位 到 最 低 有 效 位 分 别 为 : , H 、 G 、 F
、
E 、 D 、 C 、 A 。 这种 编码 方 式可 以 提 高码 率 。 3 位 的子组编码为 4 比特 , 记录为 j
、
h、 g 和 f。 5 比特 的 子组编码 为 6 比特 , 记录为 i 、 e 、 d 、 c 、 b 、 a 等 , 它们 的映
射关系如 图 3 . 2 所不
。
22
第三章 SerD e s 模块验证方 案 设计
m a b i t
O
b i t O A
_
b
"
^
c 5 b i t 子 数 据 模 块^ 5 b / 6 b 编码 6b i t 子数据 模 块
—
17 / /
上
控 制n L J l
 ̄
—
n _
_ _
e
运行不 致
一
i b i t
5
^
F
b i t 5 . .
—
6
" "
b , t
5 3 b i
t 子 数 据 模 块、 3 bMb 编 码 4 b 子 数 据 模 块 i t
T
/
/
b H7
+
j b i t
9
图3 . 2 8 b l
0b 编 码映射关 系
发送和接收
。
8 b l 0b 不平 衡度 指 l Ob i t 编 码 数据 直 流平 衡 的 程 度 ,
通过 0 和 1
数 量绝 对值之
。 4b i t 6b i t 0 1
。
1 , 因 此在 8 b/ 1 0b 编码方案 中 也
使 用 +2 或 者 -
平衡 , 在不平衡 的情况下 , 使用 RD -
表示 1
的数 f j 比 0 的数 L 丨 多 2 ,
使 丨 丨
j R D+
表
示 1
的数 R 比 0 的数 丨 丨 少 2 。 这种极性差別很大 的 l Ob i t
编 码组通常 用 于 K 码控制
字符 , 表 3 . 2 为 8 b l Ob 编解码极性规律
。
表3 . 28 b l 0b 极性规 律 分 析 表
P r ev i o u sR D D i s
p
a r i t
yo f 6o r
4
比 特C o d e N e x t RD
1 i i
)
0 -
-
1 1
+
2
-
1 1
+ 1
-
2 -
_
+ +
1
0
1
和 作为 码 的控 制 字符
这
”
使用
“
8 b/ 1 0b K2 8 . 1 、 K2 8 . 5 K2 8 . 7 K ,
即 co mma 。
种 控制 字 符 的 优 点 是 可 以 根 据 需 要 设 置控制 字 符 的 位 数 、
位宽和位向量 。 Co m ma
只在 个 数据结 构 中 当 作 限 制 文 字 存 在 并 不 在 整 个 数据 信 息 我荷 绀 成 部 分 中
一
,
,
2 }
西 安 电 子 科技 大 学 硕 士 学 位 论 文
因 而也 可 能用 作 指示帧的 起始与 终止 , 甚至 用 作字 节 间 对齐 的 控制 字符
。
1 , 0
或比 更多 的位 初始值为 值取决于
“
更多 的位
和
“ ” “ ” ”
1 1 0 ,
-
1 。 N e x RD t C u rr e n t RD
当前 6b 码或 4b 码的 D i s
p ar
i t
y 。 在实际应用 中 , 这些状 况 是 可 以 直接确 定 的 编 码
1 0 。
RD 值 ,
决定 5 B / 6B 和 3 B / 4B 代码 具体 的 值 , 如下表 3 . 3 和表 3 . 4 所示为 5 b6b
和
3 b4 b 的 映射关 系 , 表 3 . 5 所示为控制 码 的 映射 关 系 如 下
:
表 3 . 3 5 b 6 b 编 码 映射 关系 分 析
I n p ut RD
= -
1 RD
=
+ 1 I n p ut RD
= -
1 RD
=
+
1
E DC B A abcde i E D C B A a b c de
i
D . 0 0 0 0 0 0 0 o o m 0 l 1 1 0 0 0 D . 1 6 1 0000 0 1 1 0 1 1 1 00 1 00
D . 0 2 0 0 0 1 0 1 0 1 1 0 1 0 1 00 1 0 D . 1 8 1 00 1 0 0 1 00 1
1
D . 0 3 0 0 0 1 1 1 1 000 1 D . 1 9 1 00 1 1 1 1 00 1
0
D . 0 4 0 0 1 0 0 1 1 0 1 0 1 00 1 0 1 0 D 2 0 1 0 . 1 0 0 0 0 1 0 1
1
D . 0 5 0 0 1 0 1 1 0 1 00 1 D .
2 1 1 0 1 0 1 1 0 1 0 1
0
D . 0 6 0 0 1 1 0 0 1 1 00 1 D . 2 2 1 0 1 1 0 0 1 1 0 1
0
D . 0 9 0 1 00 1 1 00 1 0 1 D . 25 1 1 00 1 1 00 1 1
0
D . 1 0 0 1 0 1 0 0 1 0 1 0 1 D .
26 1 1 0 1 0 0 1 0 1 1
0
D . l l 0 1 0 1 1 1 1 0 1 00 D . 2 7 1 1 0 1 1 1 1 0 1 1 0 00 1 00
1
D . 1 2 0 1 1 0 0 0 0 1 1 0 1 D . 28 1 1 1 00 00 1 1 1
0
 ̄  ̄
 ̄  ̄
^
D . 1 3 0 1 1 0 1 1 0 1 1 00 D . 29 1 1 1 0 1 1 0 1 1 1 0
|
0 1 000 1
D . 1 4 O H I O 0 1 1 1 00 D . 3 0 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 0
1
D . I 5 0 1 1 1 1 0 1 0 1 1 1 1 0 1 0 0 0 D 3 . 1 1 1 1 1 1 1 0 1 0 1 1 0 1 0 1 00
K . 28 1 1 1 00 00 1 1 1 1 1 1 00 0 0
24
第三章 SerD es 模块验证方 案 设计
表3 . 45 b 6 b 编 码 映射关 系 分 析
i n p ut RD
= -
1 RD
=
+ 1 i n
pu t RD
= -
l RD =
+
1
HGF HG F
 ̄
f
g y
j
f
gh j
D . x O 0
. 1 0 1 1
f 0 1 00 Kx . O O O P 1 0 1 1
0 1 00
00 00 0
D . x . l 1
1 00 1
K x . l 1 1 1 0 1 00
1
x 2 0 x 2 0 0 0
D . . 1 0
0 1 0 1
K . 1 1 0 1 0 1 0
1
D . x . 3 O i l 1 1 00 00 1 1 Kx . 3 O i l 1 1 00 00 1
1
D . x 4 . 1 00 1 1 0 1 00 1 0 Kx . 4 1 00 1 1 0 1 00 1
0
D . x 5 . 1 0 1
1 0 1 0
K x 5 0 0
. 1 0 1 0 1
1 0 1
0
D . x 6 . 1 1 0
0 1 1 0
K x 6 0 0
. 1 1 00 1
Q U
O
D X P 7
. . 1 1 1 1 1 1 0
000 1
表 3 . 5 控制 码 映 射关系 分 析
n p ut RD RD +
= -
=
I 1
1
丁
DEC HEX HG FE D C B A ab cd e i f
g hj ab c d e if
g hj
K . 28 0 . 2 S C 0 0 0 1 1 1 1 00 00 1 1 1 1 0 1 00 1 1 0 0 0 01 0 1
1
K . 28 . 1 1 6 0 3 C 0 0 1 1 1 1 00 00 1 1 1 1 1 00 1 1 1 0000 0 1 1
0
K . 28 2 . 9 2 5 C 0 1 0 1 1 1 00 00 1 1 1 1 0 1 0 1 1 1 0 0 0 01 0 1
0
K . 2 8 3 . 1 2 4 1 C Q 1 1 1 1 1 Q0 00 1 1 1 1 00 1 1 1 1 0 0 0 01 1 00
K . 28 4 . 1 56 9 C 1 00 1 1 1 00 0 0 1 1 1 1 00 1 0 1 1 0 0 0 0 1 1 0
1
K . 28 5 . 1 8 8 B C 1 0 1 1 1 1 00 00 1 1 1 1 1 0 1 0 I 1 0000 0 1 0
I
K . 28 6 . 2 2 0 D C 1 1 0 1 1 1 00 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 0 1
1
K . 23 . 7 2 4 7 F 7 1 1 1 1 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0
1 1 0 1 0 1 1
1
K . 27 7 . 2 5 F B 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 000 OO I OO I O l l
I
K . 29 7 . 2 5 3 F D 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 0 0 0
1 1 000 1 0 1 1
1
K30 . 7 2 5 4 F E 1 1 1 1 1 1 1 0
]
O m i Ol Q Q Q 1 0000 1 0 1 1
1
为适配各协议 , 该 设计 模块 为 8 b/ 1 0b 提供 了 三种 配置模式 , S in
g e l
_
8b l 0b
、
d ual
_
8b l 0b 以及 q ua
d
_
8b l 0b , 通过端 口 信号 cf
g _
en c o d e
_
mo d e 进 行模式选择 ;
还
增 加 了 强 制 极性 控 制 模 块 , 为每个 8 比特通道增 加 2 比 特 的 控制 信 号 t x _
d i s
p _
Ctr
l
和 t x _
d is
p _
s d 。
将 这 段 逻 辑 插 入 到 编 码 极 性 逻 辑 生 成块 中 , 支持强制 替 换对应
8
“ ”
比 特输入数据 的 真实 输入极性 当 时
每
’
,
{
t x_
d i s
p _
ctrl , t x _
d i s
p
_
se l
}
=
2 b 0 0 ,
个 比特 的 输入极性受到 上 个 比特 的输 出 极性 的影 响 即 正 常 编 码 过程
当
一
8 8 , ,
时 强制 将 对 应 的 比特数据输 入 极性为 负
’
{
t x _
d isp _
ctr l , t x _
d is
p _
sel
}
=
2 b l 0 , 8 ,
当
时 强制 将对应 的 比特数据输入极性为负
除
,
=
t x d is ct r l t x d i s se l 2 b l l 8
p p
, , ,
{ 一 _ 一
— }
2 5
西 安 电 子 科技 大 学 硕 士 学 位论文
的 D 1 6 2 .
替 换为 D5 . 6 以 此 保证输 出 极 性 为 负 此时 需 要 将 。
{
t x _
d i s
p _
ctrl , t x _
d isp _
s el
}
配置为 此外 还支持 时 间 戳测 试来 实现 同 步 定 位功 能定 位
通
’
2 b0 1 。 8 b l Ob 1 588 ,
过顶 层 信 号 t x _
s fd
_
fl a
g 以及 t x _
s fd
_
〇 fs e t 标记 数据 比 特位置 在 输 出 标 记 比 特 时 ,
,
拉 高标 志位 t x
_
s fd
_
l ag
f _
o 以及位置 t x _
s fd
_
o fs e t
_
o
。
根 据 上 节 对 设计 模 块 的 分 析 , 8b l 0b 编 码模块 功 能 点 提取如 下 表 3 . 6 所示
:
表3 . 68 b l 0b 编 码 功 能 点 提取表
验 证 功 能 点 配 置 验 证 预 期
正 常 数 据 编 码 编码结构与对照 表
致
一
{
t x
_
d i s
p _
ct r l , t x _
d i s
p _
se l
}
=
00
enc
_
mode : si n gl e / d ua I /
q u ad
时 序 检 查 N A .
输 出 延 后 输入 2 cy c es
l
中 断 上 报 〇 1 11
=
1 &&非 k _
c o de 上报 中 断
强 制 极 性 {
t x _
di s
p _
ct rl , t x_
d i s
p _
sel
}
=
1 0/ l l
输 入 极 性 替 换 负 正 / ,
编码数
据 也相 应变化
替 换 场 景 {
t x
_
d i s
p _
ctr l , t x _
d i s
p _
sel
}
=
0 1 D LE I 输 出 极性为负
1 588 场 景 {
t x
_
d i s
p _
ctr l , t x _
d i s
p _
s e l
}
=
00 标 志 信 号可 以 正 确 拉高 的 同
enc
_
mo de : s i n g e /d u a
l l /
q
u ad 时 位置 也 正 确 指示
1 .
验证 256 种 D _
c〇 de 和 1 2 种 K _
co de 根据 输入极 性进 行 编 码 后 的 数 据 与
对照表 表 表 致
— ?
3 . 3 , 3 4
. , 3 . 5
。
2 . 验证输 出 和 输入 的 延 时 是 否 满足 时 序
。
3 .
验证 k in 指示位若 错误标记 2 4 4 ( 2 5 6 -
1 2 ) 种 无控制属 性 的 D _
co d e ,
会
上报错误 , 将输 出 信 号 i n vai ld
_
k 信号 拉高并上报给 中 断寄存器
。
4 .
验证接 口 信 号 {
t x _
d i s
p _
ctr l ,
t x _
d i sp _
se l
}
配置 为 1 0 , 1 1 时 模块进 行 强 制
极性 替 换 , 编 码 的 数据 应 收 到 强 制 极性 的 影 响 而 非 原 本输入极 性 的 影 响
。
5 .
验证接 口 信 号 {
tx
_
d isp _
ctrl , t x _
d i s
p _
sel
}
配置 为 0 1 时 , 模 块进入 替 换场
景 确 保 链 路 复 位 过程 中 由
, K2 8 . 5 和 D 1 6 2 .
组成 的 I DLE 码 编 码 后 输 出 极性 为 负
,
3 2 2. . 6 4 b66b 编 觯码
R) 上 , 是
一
个将 解 码 和
扰 码 有 机地结 合 的 新 技术
。
首先 ,
把数据 分为 八 个 字节 ( 总共 64 比特 ) 的组 。 然后 , 通过某特 征 多 项 式
的 自 同 步扰码 对这些字节数据进行 了 随机处理 在 此基础上 对每 八字节组
一
, 。 ,
1 0 1 1 , 。 ,
, 1 ;
26
第三章 Ser D es 模块 验证方 案设计
, 〗 〇 。 8 ( 8 b l Ob ,
) 64 。
且每个映射表 中 的 字符都具有唯 的 长度 G FP T8 提供 种 标 准 方法 将
共
一 一 一
。 ,
的 相 应子集映射表 。
同步过程 中 所使用 的 同 步头 0 1
和 ] 0 保持不变 , 不参与 扰码
。 、
。 66 。 3 . 3 6 4 b/6 6 b
码过程 ,
其中 D 代表数据帧信 息 , Z 代表 7 比特控制 框架信 息 , S 代表 帧头 ,
T
代表帧尾 ,
图 3 . 4 所示为 64 b6 6 b 编码 的对应关 系
。
0 1 8 x 8b i t s 数据 分组 ( 己加 扰
)
( a ) 仅 有 数据 信 号 的 64 b / 66 b 码组
1 0 7
x 8 b i t s 数据 、 控制 混合 分组 ( 己加扰
)
( b ) 数据 、 控制 信号 混合 的 64b / 6 6 b 码组
图3 . 3 两种 64 B /6 6 B 报文格式
1 / 技 制 块格 忒
|
头部
| 数裾 负 倚
^
( 扰
D D D D D D D 0 D O/ 1 : 8 D l : S D 2 :
8 D B :
8 D 4 : S D 5 : 8 D 6 : 8 D 7 :
S
ZZ Z Z / ZZ Z Z 1 0 O x l e Z0 : 7 Z l : 7 Z 2 7 Z 3 : : 7 2 4 : 7 Z 5 : 7Z 6 : 7 Z7 :
7
T Z Z Z Z Z Z Z 0 0 x S 7 7 Z
/ 1 I : 7 Z2 : 72 3 : 7 2 4 : 7 Z 5 : 72 6 : 7 2 7 :
7
D D T Z Z Z Z Z 0 O x a a D O
/ 1 : S D 1 : S 5 Z 3 : 7 Z4 : 7 Z5 : 7 2 6 : 7 2 7 :
7
D D D T / ZZ Z Z 0 0 x b 4 D O 1 : 8 D 1 : S D 2 : 8 4 Z4 . 7 Z5 : 7 Z 6 : 7 Z7 :
7
D D D D /T Z Z Z 0 O x c c D O 1 : S D l : 8 D 2 : 8 D 3 : 8 3Z 5 : 72 6 : 7 Z7 :
7
D D D D D T Z Z 0 0 x d 2 D 0
/ 1 : S D i : S D 2 : 8 D 3 : 8 D 4 : S 2Z 6 : 7Z 7 7
:
D D D D /D D T Z 0 O x e D 0 1 l : S D l : 8D2 : 8 D 3 : S D 4 : S D 5 : 8 1 Z 7 :
7
DD D D / D D D T 0 O x f f D 0 1 : S D l : 8 D 2 : 8 D 3 : 8 D 4 : 8 D 5 : 8 D 6 :
8
S D D D D D D D 0 0 x 7 8 D
/ 1 1 : S D 2 : 8 D 3 : 8 D 4 : 8 D 5 : 8 D 6 : S D 7 :
S
ZZ Z Z / S D D D 1 0 0 x 3 3 Z0 : 7 Zl : 7 72 : 1 Z3 : 7 4 D 5 : 8 D 6 : S D 7 :
8
图 3 . 46 4 b6 6 b 编码 及
Syn c
j i ea d e r 的 不同代表 的数据结构不 同 ,
但 在 物 理层 的 设 计 件 朱 区 分 两 比 特
2 7
西 安 电 子 科技 大 学 硕 士 学 位 论文
, ,
,
, 0/ 1 。 cf
g _
e nc o d e mo d e
的 配置来选择 区 分不 同 种 的 6 4 b6 6b 模 式 为 匹 配不 同 速率 支 持 , , 1 6 比特 6 4b6 6b
、
1 6 比特 6 4 b6 7b 、 3 2 比 特6 4 b 6 6 b 、 3 2 比特 6 4 b6 7 b 、 6 4 比特 6 4 b66 b 、 6 4 比特 6 4 b6 7 b
模 式 输 入端 , 口 定义 了 最大位 宽 的 en c
_
d n i
[
63 : 0
]
, 三 比 特 的 头 部输 入 t x h e a de r
[
2 : 0
]
,
( 64b6 7 b 64 b6 6 b , , ) ,
信号 t x _
se
q 辅助编码 , 以 1 6 比特 _
6 4 b6 6 b 编码模式为例 ,
当 t x
_
se
q
=
0 时 , 表示编
码 的 最开始 此时第 个头 部 的 两 比特数据 H O H 进入到 编码数据 的
一
, he ad e r O , 1
最低位 ,
第
一
个 输入 数据 的 低 1 4 比特从低 到 高依 次填 充 s e
q 剩 下 的 位置 ,
高两 比
特进 入 到 第 二个 s e
q 块 的低两 比特 ,
以 此 类推 完 成编 码 , 图 3 . 5 为 1 6 比特 _
64 b6 6 b
模 式 编 码 后 输 出 数 据 的 组成 过 程
。
S M S B L S B S e q M S B
= =
LS B e
q 0 1
| HO H DO D I
| |
1
|
. . .
D |
1 3
| D |
1 4 |
D 1 5 | DO D |
1
| . . .
|
D 1 3
丨
A A
V Y
J
V
he ad e r 0 [
l : 0 ] d m0 [
1 5 : 0 ] d n i l
l
l 5 : 0
]
M M
=
Se
=
4 Se 5
q q
LSB SB LS B S
B
2 5
|
1 4 | 1 5 | 1
I
| [
1
|
. . .
|
l l
|
|
1
|
1 3 |
1
|
1
| [
1
1
. . .
|
1 1
|
A 入
V
V
J
y Y
d i n3 [
1 5 : 0 ] h e ad er l
[
l : 0] d i n4 [
1 5 : 0]
图3 . 5 丨 6 比特 _
64 b66 b 模式编码后输 出 数据
由 于 输 入数据 e nc d n i
和输出端 口e n c do ut 都是 1 6 比特 , 由 于输 出 加 J 头部
, , s eq , 3 . 6
示 1 6 比特 _
6 4 b6 6 b 模式 的编码时序 , 红 框 表示 输入 数 据 无 效
。
< A e o f e nc o d e r
?
c c
y l
e l k 0 1
|
2 3 li
|
3 0 3 1
|
3 2 0 |
//
t x s e
q [
6 : 0
]
h eader O
h e a de r 1
] ?
|
h e a de r 1 5
|
|
 ̄
s
e n c d i n
[
1 5 : 0
] D O D D 2 D |
1
[ |
3
D 4 P 5 D 6 D 7
| | | |
| D i)
60
|
D6 1
| [ |
D 62
|
D 63 | | s
en c d c ur
t
【
1 5 0 】
D |
O
D D 2 D 3 P 4 D 5 D 6
|
1
[ | | |
| l
f
D 59 |
D 6Q |
D6 1
|
D 62
|
D 63 |
D 64 D 6 5 |
?
图3 . 6 1 6 比特 _
6 4 b6 6 b 模式 的 编 码时 序 图
根据上节 对 64 b6 6 编码的分析 ,
提取如下表 3 . 7 所示 功 能 点
。
28
第 章 Se r Des 模 块验证 方 案 设 计
表3 . 7 64 b66 b 功 能点提取
验 证 功 能 点 配 置 配 置 .
1
.
2 预期
I 6 b i
t 6 4 b 6 6 b 模 式 t x se
q
: 0 -
3 2 t x s e
q p
a us e : 3 】
编 码正 确
1 6b i
t 6 4 b 6 7 b 模 式 t x s e
q
: 0
-
66 t x
_
s e
q p
a us e 2 :
1 , 4 4 6 5 编 ,
码正确
3 2b i t 6 4 b 6 6 b 模 式 t x
_
s e
q
: 0
-
3 2 t x _
s e
q _
pa us e : 3 2 编码正确
3 2b i t 6 4 b 6 7 b 模 式 t x
_
s e
q
: 0 -
66 t x
_
s e
q _
paus e : 22 , 4 4 6 6 编 ,
码 :
丨
丨
二
确
64b i t 6 4 b 6 6 b 模 式 t x s e
q
: 0
-
3 2 t x
_
s e
q p
a us e : 3 2 编 码 正 确
64 b i t 6 4 b 6 7 b 模 式 t x —
s e
q : 0 -
66 t x
_
se
q pa u s e 2 2 :
, 4 4 6 6编 , 码正确
异 常 功 能 序 列 错 误 后 恢 复 正 常 N . A |
恢 复正确
对于 64 b6 6 b 而言 , t x
_
se
q 并非 由 内 部计数器 自 动生成 ,
需 要 外 界 激励 输入
,
而上节分析到 不 同 的 , 6 4 b6 6 b 的 位宽模式 t x
_
se
q 的 输 入范 围 不 同 并且每个 ,
t x
_
se
q
, ,
配置 1
给出 了 不 同模式下 t x se
q 的有效范 围 , 配置 2 给出 t x _
s eq
paus
e 代表无效
输 入数据 对应 的 t x _
s e
q 值
。
最后 项 异 常功 能 测 试正 是 考虑 到 是 由 于 外 来输入 存在 链路不稳 定
一
t x _
se
q ,
导 致输入 的 t x S e
q 不连续 ,
需要测试 t x _
S e
q 在 人 为打 乱顺序 后 再 正 常 发送连 续 数
据 , 验证 设计 是 否 具有 恢 复功 能
。
3 2 3 1 2 8 b
. . l 3 0 b 编解码
待测 设 计全 而兼容 各个 版 本 的 PC 办 议 以 对小 M 的客户 窗求 旅容
?
e x
、
r es s V
p
I ) : ,
丨
G EN 1
-
G E N 5五 代 ,
其速率分別为 2 . 5 / 5/8/ 1 6 /3 2 G T /S 。 / l : C3 E N 和 G E N 2 l
模式 下 的
物理层使用 了8 b / 1 0b 编码 , |
〖丨
1 在 G EN 3 及 以 上版本 使用 的 是 1 28b l 3 0 b 编码
。
 ̄ 一  ̄
 ̄  ̄
0 0 2 3 4 5 6 7 0 2 3 4 5 6 7 0 23 4 5 6 7
1 1 1 )
丨 丨 丨 丨 丨 丨 丨 丨 丨 | 丨 丨 | | |
| | |
[ | |
入 JK
V Y
 ̄
, V -
’
 ̄
y
Y
^ yn c
s
y
mbo l 0 s
ym b o l 1 s
ymbo l 1
5
( 0 1
)
? 1 2 8
-
b i t ay l o ad ?
p
? ?
d a ta b l ock
图3 . 7 1 28b l 3 0 b 编码结构
同步头 ( S ync ) 为 0 1
时 , 表不其后跟 的是 O r d e r e dS e t ,
为 1 0 时 ,
表不后 面
t 。 1 28
p a y o a d l
块 ( Da t aB l o ck ) , G EN 1 /2 模式下 ,
P HY 层依 次完成位锁定 ( 比特 Lo ck ) 和字节
2 9
西 安 电子科技 大学硕士学位论文
而完成块锁定需要特殊的数据流 E EO S( EI l ectrical I d e E xl i t O r d e r e d S e t
)
,
G EN 3 G E N 4 G EN 5 的 配 置 有 区
/ / 别 ,
但都是使用 OOh 和 fh 交 替 的 数据流 , E EO S
I
是 O rd e rS e 的 种
一
t
。
1 28b l 3 0b 编码只 是在 1 2 8 比特 的 p ay o a d l
前面加 了 两 比特 的 同 步头 , 严格 意
。 8 b/ 1 0b 。 6 4 b 6 6 b
,
需要进行加扰操作 。 G EN 3 的 扰码算数表达式为 公 式 3
-
1
:
2 3 2 6 8 5 2
1
G
1
(
x ) = x + X + x + x + x + x + 1 ( 3
-
1)
e nc o d e r _
1 28b l 3 0 b 的 输 入 信 号 有 上 个 模块 输入 的 电 气 使 能 信 号 T xE L e c i d l e ,
当
T xE Lec i d e l
拉低 时代表退 出 电气 空 闲 状态 而进入正 常 编 码 , TxD a t a Va i l d 信 号代表
当 前输入数据 是 否 为有 效输入 , 拉 高 时 对应 的 数据 正 常 编 码 , 拉低时表示当 前 拍
I I
I
Powe Do w n
r
[
2 0 |
(
(
PO I I
\
'  ̄
^
1 I
TxE ec
t l d e l
\
f
f
… … -
-
y ^
T * D * ava , kl
( ) . .
.
=I T j
\
j
L
-
Tx s a n i a o ck A A A r [J \ A
A
普
\
一
Tx s ?H e a a e
'
,
f
, °
*
( n r Vi V i m
 ̄ — —
 ̄ ' ? —  ̄
 ̄
厂
、
谈
Tx D a 5 0 B oc k 。 B oc k B oc k 2 B ock3 B oc k O
t B o ck 2 B oc k 3
a 1
^
t l
l l l i … l l
l ]
^ j ^ ( ^ \
j
j
■ i
i
图3 . 8 P C I e 协议 中 1 28b l 3 0 b 编 码 的 物理层实现
待 测 设计 使 用 状 态机完成 了 相 应 1 2 8 b l 3 0 b 编码子模块设计 如 图 ( 3 . 9 所示 )
,
定 义 了 三个状 态 , 其中 I N T AL 1 1
_
S T AT E 表示初始状态 ,
当 满足 电气 空 闲 信 号使
能 ( tx
_
e ec l i d l e 拉高 ) , 当 前拍包含 2 比特 同 步头信 息 ( t x
_
s t art _
b o ck
l
拉高 ) 并且
当 前 拍 为有 效输 入 ( t x _
d at ava l i d 拉高 ) 时 , 状 态机进入 B LO C K _
C YCL E 阶段
,
之后 由 于 没有 头 部信 息 ,
状态机进 入 BLOCK _
OTH E R _ ^^# l
t
S 进行循环 ,
循环 次
数取决输入位 宽 以 比特 编码模式为例 个 为 个
共
一
。 32 1 2 8 b l 3 0b , 4 cyc e l b o ck l
输入 1 3 0 比 特 s 数据 , 此 时 对 应 B LO C K _
C Y CLE 持续 1
个 c
yc e
l
而
B LO C K O TH ER _
_
比特 S 持续 3 个 c
yc
l e 。 由 于 输 出 数据位 宽 同 为 32 比特 ,
因此
输入有 2 比特 的 冗 余 数据 ,
那么 在第 1 6 个 b o ck l
发送完时 ,
恰好有 3 2 比特的冗
余 数据 对 应 完整 的 个 比特 输入数据 此时 需 要 拉低 拍
此
一 一
32 , , t x d at a vali d ,
_ _
3
0
第三 章 SerDes 模 块 验证 方案 设计
I I I S ,
。
_
t x
_
e l ec i d l e & t x _
s t a r t b o l c k
& t x d at a v a l i d
\
^
I
I N T A L\
I I (B L O C K \
I
(
e l se l S TA T E V d se
t C Y C L E
)
t x _
e l ec d i l e & T
/
\ t x
_
s t a r t
_
b l o ck &/
\ t x da t a va l i d /
t x d ec i d e&
|
_
e l se
\ / (
! t x
_
s t ar t
_
b l oc k )
&
\ t x d a ta va l i
d
\ / B L O C K \
O TH E R r
B
j
V TS
J
I
t x e l ec i d l e & (
! t x
—
s t art b l o ck
)
& t x d at a v a l i
d
图3 . 9 1 28b l 3 0b 编码模块 fs m 图示
根据 上节分析 , 提取 ] 2 8b 1 3 0 b 模块 功 能 点 如 下表 3 . 8 所示
。
表3 . 8 1 28b 1 3 0 b 类编 解 码模块 功 能 点
验 证 功 能 点 激 励 验 证 预 期
状 态 机 N A .
em
f 正 常跳 转
正舍编码3能 RA 编 码 正 确
异常测试 Tx 在 的第 拍 未 拉 高 具 有 恢 复 功 能
一
一
s t a r t b oc k l b oc k l
异 常 测 试 二 Tx _
d a ta v a l i d 在 b oc k l
循 环 结 束 未 拉 低 具 有 恢 复 功 能
试 Tx 在 的第 拍 未拉高 以 及 Tx 在 循环 结束未拉
一
st art b o ck
l b ock
l d at ava l i d b ock
l
_ _
3 3A P B
.
模块
, , 丨 P ,
S ,
值 。 而 PCS 部分 是设计 人 员 参与 了 代码 的 全部 co d i n
g ,
为其准 备 了 通信接 口 ,
所
以另 种是通过 A P B A d v a n c e dP e a B u s 协 议 配置 PC S 相 关寄存器的
一
h e
p he
( t r i r l
)
3
1
西 安 电子 科技 大 学 硕 士 学 位 论 文
值 。 PC S 的 寄存器包括 pc s _
l a ne 和 p
c s co m mo n 两部分 ,
支持对 P C S4 条 La ne
单
独配置 以 及 公共部 分 的 配 置
。
根据总线功能和 作用 的 区 别 , 将 A M B A A d v a n c e d M ( i c ro
-
co n t r o l l e r Bus
表 3 .
9A P B 端 口 的 名 称及功能
。
名称 功 能描述
PCL K 总线时钟 :
在 PC L K ■ 上升沿时 , 用 作整个 APB 数据传输 的 基 准
PA DDR 地址 : 用 来存放数据
P W R TE 1
^
写信号 :
为 1 时 实现写功 能 为 .
0 实现 读功 能
PSEL 选择信 号 :
为高 电平时 需要进行 .
一
次数据传输
PEN A B LE
使 能信 号 : 为高 电平时 ,
开 始进 行读 或者 写 任务
PW D ATA
写 数据 :
在写周 期 ( 即 PW R 1 TE 为 1 ) 被 驱动
P R DA FA
读数据 :
在读周 期 ( 即 PW RUE 为 0 ) 被驱动
P RE A D Y
准备信号 :
当 P EN A B LE 为低 时 插入 等待状 态 从 而延 长数据
. .
3 . 1 0 , ,
个 c
yc e l
后 拉高 , APB 使能信号 P EN AB L E 开始进入 AC CES S 状态进行读写任务
。
N o t ra n s fe
r
/ D L E X I
y
J p s e
y
=
i x o
/ \ P EN A BLE
/
=
〇
/ T r an s fe r
/
P REA DY =
1
d
an no
PSE x
=
l
l
(
an s fe r
\ P EN A B L E
y
tr
=
〇
P RE A D Y =
0
^
x
. / A CC E S S X j P RE A D Y =
i
{ PSE x l
=
l
y a n dt r
a n s fe r
图3 . 1 0 AP B 协 议状态 转移 图
3 2
模块验证方 案 设计
第 三 章 S erD es
如图 3 . 1 0 表示 AP B 的 写机制 , 写 传 输 过程在 时 刻 T 1
处进 行 , 在 T 1 的 整个
吋 刻 循 环 中 所有 信 息 都 不 改 变 对应状态转移 图 中 的 ETU P 周 期性 在这 个循
一
,
S ,
环中当 P WR TE I
为高 电平状态时 , 才进行读写机制 。
从 T2 的开始 , 对 PA DDR
、
P W D AT A 、 P EN A BLE ,
周 期性进 行 写传输 , 在这
一
时 间 对应 ACCES S 状态
。
P C LK
PAD DR :
a d d H
7
丨
I
— ■
;
s
!
L .
■
P WR I TE
厂
PSE L
〇 j
^ \\
P E N A B L E fT _
i
P W DATA !
I T da
'
j
a l
 ̄
"
P R E A D Y r
{ |
|
|
/
f |
」
图3 . 1 1 A P B 写时序
如图 3 . 1 2 为 AP B 的读机制 时序 ,
读 机制 中 的 S E TU P 周期和 EN A B L E
周 期 的 概念 与 读 机制 相 同 , 在 S ETU P 周期中 , 当 P WR TE 为 低 I 电平 时 ,
进
行 渎传输
。
n X2 X i X T
'
XO L .
4 .
r5 6
C K U u U L
, i , ; ; , |
,
P L
L L
!
 ̄
.
j
L ^
| |
ADD T
'
P R j
f a ddr l
j
P W R TEI
\ \
:
:
PS E L
\ :
| |
\\
|
P E NA BL E f
l
|
I
'
W D A TA H X da t
 ̄
a
一
1
1
U
,
;
P R t A D Y H Y ; ! !
!
y
\\
|
图3 . 〗 2 A PB 读 时序
该模块 的验证功能点为
:
1 . 正 常 时 序 逻辑 下 , 读写 操作 正确性
。
2 .
异常测试 : P EN A B L E 和 P S EL 信 号拉起 的 先后 顺序不 同 时 ,
设计 的 处
次读 写 操 作 未 完 成 ( 即 P R EA D Y 信 号未拉高 )
吋
进 行第 二 次读 写 操作 , 验证 第 二 次读 写 操 作 会 失 败
。
3 4 S e r d e s
.
其 余 子 模块
3 4 . . 1 跨 时 钟 域 模 块
收 发 两侧 均有跨时 钟域 模块 ,
简称跨时 钟 桥 ( hr i d
ge _
u n i t ) ,
基本的结构其中
3 3
西 安 电子 科技大学硕士学位论文
t x _
br d g e
i
只用 作 缓冲 数据 其 内 部 结 构 由 时 中 配置模块和 异 步 , i fo
f 组成 , r x
_
br i d
ge
模式 ( 异步 i fo
f ) 、 c ha nn e l b o n d n g ( i
简称 ceb ) 模式 , et c ( 频率 补偿模式 ) 以及
c eb+ctc 模 式 验证 时 配置 为 。 br d ge
i
_
f fo
i
_
mo d e 进行测 试 冒 烟 对于 异步 。 if
f o 模式
,
除 了 要 验证数据 通 路 是 否 正确 , 还要对 i fo
f 读空 , 写 满 的 情 况进 行验证 。
设计模
块为此专 门 设置 了 中 断 寄 存器 , 该模块 需要验证 的 功 能 点 为
:
写 时 钟 频率 快于读 时钟 频率 数据超过水位上 限值 不 定为 深度
一
1 .
, ( i fo
f
,
可 通过 寄 存器 配置 ) , 能 否 正 常上报 中 断给相 应 的 t x/ r x _
br id g e _
i fo
f _
o ve r f
lo w 寄存
器
。
2 .
读 时钟 频率快于 写 时钟频率 ,
水位低于 下 限值 ( 可 根据 寄 存 器 配置 ) 时
,
能 否 正 常 上报 中 断 给 t x/ rx _
br d g e
i
_
i fo
f _
u nd e r f
lo w 寄存器
。
3 .
未 发生 und e r f
lo w 或者 o ver f
low 时 数据 以 及 控制 信 号 的 跨 时 钟 域操 作 是 否
,
正确
。
3 . 4 2
.
数 据 整 形 模 块
T x/ r x g e a r b o x 用 于 数据 的 拆 分 ( s
p
l i t ) 和拼接 ( un o n i ) , 例如某 d a t a mo d e
_
, , ce 1 , 8
8 8 1 6 ;
enc o d e r
模块输 出 p
ma 2 0 比 特位 宽 数据 , rx 部分则 需 要 配置为 s
p l it 模块保证输 出 给 fa b r i c
的 数据 为 8 比 特 该 模块 需 要 验 证 对 于 不 同 数 据 位 宽 下 数 据 拆 分 和 拼 接 是 否 正 确
。
。
3 4 3
. . 同 步 模块
如图 3 . 1 3 为 同 步 模块示 意 图 经 过编 码 后 的 数据 在 经过 ,
p ma 模拟部 分 的 并 转
串 , 串 转并 变化后 ,
会发生 比特偏移 , 除此之外链路 的 不稳 定也会导 致某些字节
的 缺失或者移位 因 此在 的第 级 经过寄存器打拍 之后 下 个模块 的 作用 是 负
一
一
, nc
3
4
第三章 SerDes 模块验证 方 案 设计
I
I
I
I
I
I
I
I
I
s m s
ync
A g n
I
l i
]
<
1
I
I 1
I
⑶ ?1^ n f〇 r m a on
^
t
c o d e v o a o n
丨 i l
I
i l t i
输
\
I
r  ̄ _ I
输入N
*
0b t
数 \^
> c o m m ad e
1
i
t
1
I
据
一
/ g
1
选择
; !
,
-
o
号
-
l
!
,
器
,
丨 目 de co de
r
I B i t
—
s l i
p 1
?
二
I
!
同 步 模块 丨
图3 . 1 3 同 步 模 块 示 意 图
1 .
〇 ) 1 11 1 ^ _
( ^ 1 ;
模块 负 责 寻找 : (: 〇 1 11 丨 1 3 1
位置 如 。 图 3 . 1 4 所不为千兆 以太 网 (: 〇 1 11 1
?
检 测 流程 示 意 图
。
|
《戈
《
▲如 機缓 | D a t a
*
为 2 0 b D i t a t aw i nd ow 为2 0b i t
I
D
|
I
I
」
1
1
I I
卜 ―
叫 〇_ 为 隱
叫
… …
|
= I _ 」 I _
J
^
1 ) 〇
S l
b
!Z :
h , i
^ ^5 4
;
b
5^ i
b u b
l -
i
6
S^ I S
…
…
^
4
do
'
'
nb b9 b 7 \ b6 b 5 b4 b3 b? b bO
…
…
b i 2 b i o :
,
. l
:
;
- "
— ? . _ . _
.
"
= 二 二 二 二 一 一 二 ir : i rz - 一 一 一 r zr : — - - r z ir z r z r :
: : j ^
|
|
:  ̄ : :
l , , , ? N m ? r r T , r r r , r ? , , T 1 T m f ^ U _ N 邏 . .
1
b l
〇 ;
b l X h i 7 b l 6 b ! I 4 i
) 1 3 ! 2 l l l
〇 ( )
! ! 9 b I 8
l J 一 一 一 二 一 一 一 一 一
!
Do u
t O
腸
…
…
說 枓 8 ^
I
对 每 个 数据 ,
c o m m ad e t e c t 会直接 比 较低 的 1 0 比特或者 高 的 1 0 比特是 否 为
co mma ,
如 果检测 到 co mma ,
则给出 标志 ,
并且将数据输 出
。
3 5
西 安 电子 科技 大 学 硕士 学 位 论文
录位置是 否 为 co mm a , 是 则 表 示 再 次 检 测 到 了 c o mm a
。
在 pcs 比特 s l i
p 模式下 , w o r da l i
gn 模块 会根据 a l i
g n np
e ma 进行移位调 整
;
2 a . l i
gn 模块 :
按 照 协议连续找 到 正 确 位置 的 com ma
。
以 20 比特举例 , 8 b ] Ob 解码会反馈 2 比特 的 co de
_
v o at o n
i l i ( I NV ) 和 co de
j yp e
,
因 为本协议对 c o m ma 的 位置有 奇偶 限 制 ,
所以 20 比特时 , 限定如果 co mm a
在 比特的 L SB 加么 M S B 定是 D 如果 在 MSB L S B 也 定是 D
— 一
20 , , co mma ,
。
, co mma ,
模 块状态 转 移 图 如 下 图 3 . 1 5 所示
:
/ I S YN C A CQ 1 1
p
 ̄
LO S S O F SY N C V
/ //
^ \
A
M S B /L S 4 =
I N V LS
J
-
C \
^
、
s
\ 0< b & 2 <
kh t
I n t
=
l
1
'
\
\
N
/
)
f、
i
1 1 1
5
\\
N
|
< S YNC A CQ 2 \
t
S VN C A C Q 2 A N B
=
C?
>
i
I
\ 1
^
; (
/
\/ X / \ *CQ DET
Z
^ 〇〇 h & go o d _
c n t
=
J
S YN C A CQ ^g〇 〇a S Y N C A CQ A
h
—
_ _
3 l 〇 _ _
3
|
\
n b i 〇 b
沒
/ 〇 n >
^
\
\
f
l h 〇 h 1
h
? i l s i
i
|
MS B M B NV C
=
1 S Y NC _
A CQ _
4
丨
S YN C A C Q _
4 A
b a d : S I
|
LS B LS B NV
=
\ \ ba d : I
J
_
V
J J
y y *
J O b & i
f i
Hul c  ̄
i U3
\ 0 0 b
0 1 b
:
:
{
{
!
S
MSB
MS Bb a
_
ba d
d
,
,
! LS B
LS B b a d
ba d
}
}
^ ^ ^ ’
1 0 b :
{ M S B bad , ! LS B ba d
}
一
" "
MS B
L S B
l l b : bad ,
ba d
I
{ _ _
}
图3 . 1 5 a l i
gn 模块状态机跳转
3 6
第三章 模 块验证 方 案设计
SerDes
3 . 比特 _
s li
p :
移 位 寄 存 器
移位寄存器 比特 _
5
如 可 根据 配置 cf
g _
co mm a _
d et 模 式来选择 是 否 开启 使 能
,
0 ,
, 2 b0 1 ,
择移位 , 将 输入 数 据 移 位 直 到 co _a 的 末 尾 比 特 与 输 出 数 据 最低 位 对 齐
。
同 步模块 的 验证 功 能 点 为
:
1 .
当 c fg _
de t _
m〇 d e 配置为检测 模式时 , 验证 co m ma
_
det 模块能否识别任 意位
置到 的 c o mm a 值 , 对于 20 比 特 的 输入 数据 , c o mma 的 最低位序遍 历 0 -
1 9 所有
位置 并添加 功 能 覆盖率模 型
。
2 .
当 c fg _
det _
mo de 配置为 pc s _
比特 _
s l ip 时 验证 , co mm a _
det 模块是 否 可 以 使
能 比特 _
s li
p ,
并将检测 到 的 c o mm a 移动 到输 出 数据 的 最低 位并 添加 功 能覆盖模 型
。
A l i
gn _
mo d e 状 态 机 的 状态 跳转 是 否 正 确 , 同 步信号是否正确拉 尚
。
3 .
异常场景测试 : 连续 累 计 四 次 b ad
_
c〇 _a ,
检 测 状态 机 是 否 失 去 同 步 到 状
态 LOSS _
OF _
S YN C 以及输 出 信 号 l sm
_
s
y nc 是 否拉低 ,
之后 再发送 go o d _
co _a
后 , 是否 可 以恢复 同 步 并且 丨 s m _
s
y nc 再 次拉 高
。
4 .
临 界场景测 试 : 连续 累 计三 次 b ad _
co mm a ,
再 逐 次 发送 go o d _
c o mm a ,
观
察 同 步 状态 是 否 达 到 临 界 值 后 逐 次 恢 复 到 最 稳 定 状 态 S YN C _
AC Q _
1
。
3 5 . 紐 计 划 设计
, ,
划 好 相 应 覆盖率计划 和 检验 计划
。
栏列 出 要执行 的测 试计划 检查 栏 列 出 各 种 检查 和 覆盖 计 划
“ ”
测试项
“ ”
目 。 了
,
随 后 检查 和 覆盖 栏概述 了 相 应 的 检 查和覆盖
”
并对 各 种 检查计 划 进 行 说明
“ ” “
了 。
计划
。
在 覆 盖率 栏中 覆 盖 率 组表示 测 试 计 划 的 覆 盖 率将 在 相 应 的 覆 盖 组
“ ” 一
“ ”
,
,
覆 盖率 属 性表示使 用 断 言 覆盖 表 示测 试计划 的 统计 情 况排 除 功 能 覆盖 率
“ ” “ ”
, N A .
。
例如 , 对于寄存器测试 ,
采用 的 是 uvm _
m i rr 〇 r 任务 , 如果 D UT 的值和 寄 存
器模 型 值 不 匹配 , 就会直接上报 uvm _
e rro r , 所 以检查方式采用 直接输 出 结 果 ( t e st
编写 UV m _
e rr 〇 r 信 息输 出验证结果 , 这两 者 测试都排 除功 能覆 盖组到 的 收集 ,
故
覆盖栏用 N A .
表示 , 其他测试同理
。
3 7
西 安 电 子 科技 大 学 硕 士 学 位 论文
表3 . 1 0 验 证 计 划 表
测 试项 g
检 查 覆 盖 | |
寄 存器读写测 试
Te s t _
r es u l t
RA .
中 断 测 试 Te st
_
res u l t N A
.
6 4 b66 b 类 TX / R X 功 能 测 试 T x / Rx s c o r eb o ard C o ve r G r ou
p
近端 环 回 ( n e a r oo p
l ) 测 试 T x / Rx s c or eb o ard Cove r G r ou
p
远端环 回 (
fa r l o o
p) 测 试 T x / Rx s c o r eb oard C o ver G ro u p
无 效 控 制 字 错 误 上 报 功 能 A sse t
r p r o pe r
ty C o ve r
pro per
ty
F I F O 相 关 功 能 测 试 Te st
_
re s ult C ove r G r o up
A PB 协 议 测 试 A sse t
r p r o pe r
ty
C o v e r pr o pe rt y
A l i
g n fs m
状 态 跳 转 测 试 Te st
_
re s ult C o ve r G r o u p
输 入 输 出 寄 存 器配 置 功 能 测 试 T x/Rx s c o r e b o ar d C o v e r G r o u p
I d e
l
码 替 换 场 景 测 试 A ss e t
r p r o pe rt y C o ve r
p
ro
p
e rt
y
1 5 8 8 场 景 测 试 Asser
t
t y C o ve r
pr o per pro pe r
ty
3 6
. 本章小结
本章展 开 待测 设计 的 研 究 : 基于 l G b/ 1 0 G b E t he r ne t 、 P C I e xp r e s s ( G EN 3
及
、 、
3 8
第四章 Ser D es 模块验证平 台 搭建
第 四 章 S e r D es 模块验 证平 台搭建
t ho n
py , ,
4 . 1 U V M 整体框架及验证文件 目
录
ha ness
r
 ̄
v i rt u a n t e r fa c e
l i w ra p p
e r d i r ec t c o nn ect i ns t du
t
_
^
< >
Co nf g i db
f v i rt u a r i n t e r fa c e w r a
pp
e r
^
1 es t c a s e
s
y
s t e m i
〇
g ^
.
^ 〇 ,
一 I
? e n
v
j 1
i
ftxa
ge n t p 」 xa g e n t a p ba ge n t f unct on
i
1
c o v e r
;
f
h
mod e
l
r a
p
f r x a
ge n t rx a ent
g
1
i
I *
|
i
i _
_ _ ? 一
!
|
S 丨
-
s core bo ard
r e fe r e n c e m o d e
l
图 4 U VM 验 证 环 境 总 统 框 图
.
1
g
hs
pee
ds e r i a tl r a ns m i t s )
验
证平 台 , 对应 SerD es 高速 串 行传输 的 特性 , 上图 4 . 1
所示为 Se r Des 验证环境总
3 9
西 安 电 子 科技 大 学硕 士 学 位 论文
统框 图
。
和 语 言 搭 建验证平 台 类似 外层都要定义 个 U V M 业 内
一
ve r i l og , mo d u l e ,
H ar n e s s 作 为顶层模块 ,
控制 整个验证平 台 的 开始和 终止 ,
通过调 用 定义在
mo du e l
里的 mn t est
() 任务 ,
测 试用 例 首先被激活 ,
并开始按照 UVM 树形 结构
完成验证平 台 的 bu i l d pha s
e 和 c o nne c t
ph
as e 等 初始化配置 阶段 。
同时用 例所需
mo n i t o r 完成 DUT 的 数据 驱动 和 监测
。
其验证环境 目 录结构如下 图 4 2 .
所示
:
r > l i
t
e n v
,
!
? d v )b t
, ,
h s st >
p c s
? s m
i
? t c
? t h
—
? c h ec k e
r
}
?c o m m H e
k
on l
? f r am e
—
? r a l
?
] _ p g f u t i l
s
」
H u t i l s 1
H p gpu t
i l s
—
1
s c ip
r t HP ga p bu t i l s
[
图4 . 2h s st 验证环境 目 录结 构
1 .
验证层 次 : dv : d e s i
g nve r f c a t o n i i i 总 共集成 了 三个层 次 的验证 , 分别为
:
(
1
) 单元级 un i t t e s t b e nc h( 简称 ut ) 。 确 保 单 元级 模块 的 功 能 的 完 备 性 ,
如
编解码模块
。
2) b o c kt e s t be nc h(
l bt ) , ,
(
的 正 常 工 作机制 ,
如 PCS 模块
,
(
3
)
集成级验证 i nt e g r at e d t e st be n c h( 简称 i t ) ,
负责 P C S + P MA 整体验证
。
从 ut
-
> bt -
> i t 集成度逐步提 高 ,
低层 次 的 验证着 重 于 设计 的 全 面 性完 备 性
,
高层 次 的 验证 在 基本 功 能无误 的 前提下 着重 于 模块 间 通信 的 正 确 性
。
2 c o mm o n
. 组件 :
其 内 包含 的 内 容 , 在 bt/ i t 层 次均可 复用
。
40
第四章 SerDes 模 块验证平 台 搭建
(
1
) c h e c k e r :
检测组件 , 包括 t x/ r xs c o r e bo a r d
。
(
2) e l k : 时 钟 的生成 、 分频模块
。
⑶ i
f 验证 使用 到 的 数据包定义 宏定义
"
ame : h s st 、
(
4)
ra h 寄 存器模型
。
(
5
) u t i l s : age nt 组件 ,
分为 A P B接 口 、 P M A 接 口 、 Fa br i c 接 口
。
s cr i
p
t :
常用脚本 , 包括 全局 环 境变量配置 和 寄 存 器模 型 生 成脚 本
。
3 . c f
g : t e s t b e n c hf
i l e l i st 、 回 归 列 表管理
4 . e nv : 验证环 境主体部分
。
5 s im
. :
仿真 目 录
。
6 . t c :
用例 目 录
。
7 . t h : t e st be n c h 顶层
。
4 2
.
环境配置系 统
。 自 cf
g e nv
c fg 均 是派生 自 u vm
_
o bj e c t 的子类 ,
如图 4 3 .
所示
。
e n v e f
g
p
r x a
gt
c f
g P
tx a
gt _
c f
g
d r vc f
g m o n e fg d r vc f
g m o e
n f
g
d u t e f
g
f rx
_
a
g t c f
g f
_
t x a
gt —
c f
g
d r v
—
c f
g m o n e fg
d r v c f
g m o n ef
g
v i
p
e f
g
a
p
b
—
c f
g p r x se
q _
c fg
f
_
r x s e
q cf
g p2 m p c s r x c fg
1 p 2 m p c s t x c fg
图4 . 3 环境 配置 系 统示 意 图
e nv 将 e nv
_
c f
g 中 的 子项 向 对应 的组件 ,
如 p _
r x _
agt
_
c f
g 分发 ,
发送方式是
4
1
西 安 电 子 科 技 大 学 硕 士 学 位 论 文
u v m c o n f
i gd b ; d u t
_
c fg 定 义 的 随 机 变 量 , 将 会 在 t e stbase 调 用 函 数
e nv _
cf
g . ra n d o m ze ( i
)
全 部 随机化 与 寄存器模 型 搭配使 用 , 通过 AP B 完成对 DUT
以 最底 层 的 drv _
cf
g 为例 ,
其 配置传 输途径 如 下
:
1 .
首先 env
_
c fg 在 t es t
_
bas e 中 创 建并 随机化 。
如图 4 4 .
所示
。
cl a s s t e st b a s e e x t e n d s u\T i i t es t
;
_ _
e nv e n v
;
e nv e o v cf
g
;
v i rtu a l n t e r fa c e
i
—
w ap p e r v f w r ap p e r i
_
;
i m c t i o n v o i d te s t
f _
base : : bu i l d
_
p h a s e ( u vm j
h a s e ph a s e )
;
s u pp e r b u i d . l
_ p
ha s e(
ph a s e )
;
1 ,
f
t hi s . e nv
_
c fg
=
e nv
_
cf
g : : t
yp e _
i d : : c re a te
(
e nv
_
cf
g )
;
t hi s . env
—
cf
g
? nm d o m i z e ( )
;
’
*
=
l i i s e nv
f . e i iv : : t
yp e i d : : ci eate
C eu v ' t h i s )
e ud f
ti n c t i o a
?
eud c l ass
图4 . 4t e s t
_
b as e . s v 部分代码
2 .
其次在 e nv 组件 接 收来 自 t est
_
b as e 传来 的 e nv
_
c fg 组件 , 若未收到 , 上报
fa t a l
信 息终止仿真 ; 若接收到 , 可通过 e nv
_
cf
g 中的 c fg
p r n t i
控制是否打 印全部
信息 。 f
_
age nt 组件 例 化后 , 将 env cf
g 中的 f
_
t x _
agt
_
cf
g 传给 f
_
a g e nt ,
并将 e nv
c l a s shs s t
_
e nv e x t e nd s u v m e nv
;
im c t o n vo i dhs s t
f i
_
env : : b u i dj h a s e ( u v m
l
_ ph a s e p h a s e )
;
” n ” ”
i f
(
! uvm c o n fi g db #
(
em ’
cf
g) : :
ge t
(
t hi s , ,
cf
g ,
cf
g) ) b eg in
" " n
r om
f
T ,
u vm fa al( bu i l d phas e e nv un a b e to g e t c f uv m c on f
i db
_
l :
,
g
l
_
_ g _
)
end
e l s eb e
gin
i f( tl ii s x fg p rint )
_
"
'
p r ints % 0 s U V M N O N E )
' , f , f ,
u\ m m fo ( bu i l d p h a s e s fo m i a t f hi s
T
e nv c f
_
,
( g ,
t . cf
g . s
pr n i t
() ) ,
end
=
” ”
t ais f
f .
—
t x
—
a
g t
pg _
f
| _
a g e nt : : t
yp e 」d : : c re a t
(
f
_
t x _
a
gt ,
t hi s
)
;
1
* ,
, ,
! , *
db # ( p g et ( t h i s h
!
u\ m c o nfi f a
g e nt cf f
j x a gt c fg cf
g f a gt c f
7
s i s tx
_ g _ _ _ _ g) : :
; ? ,
t .
.
_
:
_
g)
fo r e a c h t li i s f . t x v i fI i ] ) b e g i n
( _ _
" M
v i f[ % O d ]
, ,
*
,
h
,
u vm _
c o nfi
g _
d b# (p g _
f
_
v if) : : s et
(
t i s
5
f
_
t x _
a gt ,
S s fo m i a t f
(
f a) ,
f t x _
v i f[ i ] )
;
end
图4 . 5 hs s t
_
e nv 部分代码
1) 在 f
_
a
g e nt 组件接 收到 来 自 e nv 传递 的 f
_
agt
_
cf
g 配置 ,
并通过 f
_
ag t
_
cf
g
42
第四章 模块验证 平 台 搭 建
S erDes
中的 drv
_
en 配置来 决 定 是 否 创 建驱动 器 ( d r ver i ) 组件 , 若打开 ,
即 drv _
en 的值
为 h s st _
d ec : : ON ( 在 rame
f 公共组件 定义 的宏 ) , 则创建 f
_
drv , 并将定义在 f
_
a
g
t
_
cf
g
中的 drv
_
c fg 传给 f
_
drv 。 图 4 6 .
所示为 f
_
a
g
e nt 中 相应的操作
。
c l as s f a g e nt e x t e n d s u v m a g e n t
pg _
_
;
f u n c t i on v o i d f a e nt bu i l d h as e ( u v m
p ha s e ph a s e )
pg g p
: :
;
_ _ _ _
d
su
pper b u i l .
_ p
ha s e ( pha s e )
;
” "
co n f
i g d b # ( p gj f _
a g e ut _
cf
g)
: :
g et( & i s , ' cf
g ' c fg ) ) b e g i n
=
H M
cf f a g e nt cf e d c r e a t( c fg his )
yp
t i
g pg _ _ _ g : r : :
, t
;
e nd
if t
(
hi s . cf
g . d r v en
=
hs s t _
de c : : ON ) b e g
i
n
fo r e a c h
(
f
_
vif[ i ] ) b eg in
M n
t h i s f dr v i
.
[ ]_
=
pg _
fd iv er
r : : t
yp e _
i d : : cre ate
(
S s fo r m a t f( f
_
d rv
[
%Od ] ,
i
) ,
tlii s
)
;
%O d
# , , , '
co n f
ig d
f
db# ( p g dr v
' J
s ¥ s fo m a t f
v er ^d r v
T
uv m f cf se t f
/ c fg h i s cf cf
_ _ _
i i
g) : :
(
t ii i
? ( [ ] ,
i
)
, t .
g
.
_
g [I ] )
;
e nd
e nd
图4 . 6 f a ge n t _
部 分代码
2 ) f
_
drv 收到来 自 f
_
ag e n t 传来的 〇 Jr v _
_
c fg 后实 例化 , 在 ru n
_ p ha s e 的 t as k
关操作
。
f un c t i on v o i d p g
_
f
_
dr
iv e r : : bu i l d
_
p h a s e ( uvm _ ph
ase
p ha s e )
su
pp er b u i l d p h a s e ( ph a s e )
.
_
;
" M
uvm c on f
i g d b# ( p g d
* , T ,
i l
f ! f i i ver
c fg ) : :
g e t ( thi s , \ c fg ,
c fg ) ) b e g n
i
[ _ _ _
M H
h
=
c fg pg _
f dr i v e r _
c fg : : t
yp e i d : : c re a t e
(
cf
g ,
t i s
)
;
_ _
en d
t a sk p g —
f dr i v e r : : ni a i n _ p h a s e ( uv m _
p
h a s e ph a s e )
su er un a s e (p h a s e
p . i
_ p li
)
fo r
i c
be g in
i f
(
t h i s c fg .
. s
qr _
en
=
h s st
_
d ec : ; ON ) b e g
i
n
t hi s g et .
_
tr
_ p ro c e s s
()
;
en d
end
j
o in
图4 . 7f d r ve r
_
i
部分代码
4 3 i n t e r fa c e
. 接口
i nt e r fa c e 的 概念 在 s
y
st e r m ve r i o g l 中提出 , 它是 e nv 与 DUT 的媒介 。 在待测
“ ”
设计过程相 当 繁琐 时 通常 对 个接 口 的修改会 牵连 整 个验 证平 台 所 涉 及 到
一
43
西 安 电子 科技 大学 硕士学位论文
, 。
,
因 为接 口 中所含 的接 口 往往 为 DUT 的接 口 , 其 时钟 信 息 和 复 位信 号 都耍 写 在 括
弧内 表小 和 不仅 足输入 信 号 而且信 号初始值 由 顶层
?
, e l k rs t mo d u e ( h a r n e s s
l
)
提供如 图 4 8
.
所示为 hs s t 接 口 定 义信 息
。
i n t e r fa c e
pg _
t x _
i n t e r fa c e ( n i
putb i t t xc l k np u . i t b i tt x
_
r s tn )
:
SET UP TI M E
-
=
p ara m e t ei 2 0 0p s
:
HOLD T I ME
-
=
200
p ar am e t ei
_
p
s
:
w re[ i
pg c o mm o u de c : : TD ATA D W _
-
l : 0
]
t da t a
;
c l o ck n
g
mck i
@ ( po s
ed
g
e tx c k ) l
;
d e fa i x l t in
p
ut ^ S E TUP _
TIME
:
d e fa u l t o ut
p
ut ^ HOL D T ME _
I
;
ou t
pu t t da t a
:
ei i d c l oc k n mck
i
g
c oc ki n
l
gp
ck
@ ( p o s edg e t x c l k)
:
d e fa u l t i n
p
u t ?? S E T UP T M E _
I
:
d e fa u l t o ut
p
ut ? ? H OL D T I M E
:
i np u t da t a t
;
end c o c ki i i ck
l
g p
:
m od
p
or t m a st ei
^ c oc k ng m c k)
l i
:
or
t v e{ c o c km
m od
gpe k)
a
p p ss i i
:
fce
e
'
ci i di i i t e r f a c c x in t ei
p g
: t
图4 . 8 h s s t 接 口 定
义
ve r i l og w i re re
g ,
口 信号都是用 l og c i
数据 类 型 代 替 。
特殊的 诸 如 待 测 设计端 口 为 i no ut 信 号类型
,
则 需要在接 口 中 替换为 w i re 类型 这是 , 由 于 l og c i
数据类型 不 允 许存 在 多 重 驱动
。
此外 , 宏 定义 了 建立 时 间 和保持 时 间 均为 200
ps , 表示接 口 的采样 和驱动 都有
200
ps 的延迟
。
所 以接
口 是二 维数组 , 通过 c o nf g i
_
d b 从 t e st
_
bas e -
> e n v > a e n t > s u b c o m o n e nt
g
-
p
-
层
层 传递 。 上方代码 已 有 所体 现例 化和传 输过程 , 不 再赘述
。
4 4 .
数据通 路 组件 实 现
4 4 . . 1 不 同 层 次 数 据 通 路
44
第四章 Ser Des 模 块验证 平 台 搭建
J: L TT
x
p
cs rx pc s
_
t
gn
rx a l i
t x en c o d e
r
—
r x _
d e co d e r t x g ea r b o x
r x b r dge i un i t t x _
br dge i
_
un i
t
跨时 钟 域 频差补
(
充 通道绑定等 、
、
)
(
( 跨盯
栉 钟域
时《 域
)
)
r
L _
I
图4 . 9
p c s 内 部主要功 能
发送测 和 接 收侧 数据 互不干扰 ,
所 以本文确 定 的验证思路是 :
在 通 用 性测 试
每种 数据 模 式 对应 个测 试用 例 使用
个
一
( sa n i t
y
t e st ) 中 ( d at a
_
mode ) ( c ase )
en v 例化 t x/ r x 所需要 的 a
gen
t : 、 r e fe r ce mode l
等组件 。
从两 个方 向 分 别 产生测试激
励 , 驱动 数据 , 监测 数据 以及进 行计 分板 比较 ,
当 t x 及 r x 侧 数据 比 对 成功数达
某 个值 此值可通过 中的 配置 般情 况下 侧开始 比
一
s c o r e d bo ard scb c fg rx
至 丨
J
( _
,
较数据较晚 , 故以 r x 侧 为主 ) 吋 , c ase
p
as s , 仿真结束 , 若数据 比对 出 错 ,
依靠
UV M ER RO R ■
信息 。 其中 tr an s c at o n i 事 务流 向 如 图 4 . 1 0 所不
。
rx a e
t s
p
q
.
p _ _ g _
x m o n
P
2 ni tx
—
r x a r\ t a t
jp c s p p
t
g
.
g
. c i
p _
_
p _
_ — —
m2
pcs
rx
p _ _
j |
"
j ?
i
[ ? i
p
r xa g t pm o n
^
.
; P _
rx
_
i f
p |
|
_
t x
_
i
f
a c
t
1 L
r
i
?
;
b e
—
ch ec ke
r
x
2m rx P c sr x Pcs t
pc
s
p _ _
I
e x
p
ex
p
i
L
. . !
fr x i f
f :
t x i f M ft xa
g
t . fni o
n
rx c h e c k e r
- -
-
一
-
一
— ;
?
! !
-
】
飞
「 :
*
ac f rx a t f m o n f t x a
g
t . f d rv
g
.
t _ _
t
f t x a t f s e
q
.
_ _
g _
图4 .
1 0 o n l
y _ pc s 场景 下数扼流向
4 5
西 安 电 子 科技大学 硕 士学位论文
其 中 p 2 m 1
:
p
h
ys ca
a
yer
i t o m a c
l
(
fa b r c
l
)
a
y
er i l
;
m2 p : m a c l aye rt op h y s c a i l l a
ye r
。
对于 t x 侧 , 激励 由 f
_
s eq 产生到 f
_
d r v ,
并通 过 接 口f _
t x i n t e r fa c e 驱动 pcs _
t
x
的 DUT , 此时 f
_
mo n 将采 集 到 的 D UT 的输入 数据 传给 t x _
c he c k e r 在期望 ex
p
处
存起来 而 ,
p _
mo n 会 将 采集 到 的 DUT 的 输 出 数 据首 先送到 解 码模型 ( m2 p p
c s r x
)
侧 解码 ,
然 后 将解 码 后 的 数据 流传 给 t x _
chec ke r 的 act 侧 存起来 , 然 后 比较 act
和 e xp 数据 是 否 相 同
。
对于 r x 侧 , 激励仍然 是U p _
se
q 侧产生 , 但是并不 是直接驱动给 p _
d rv ,
而
是现在参考模型 (
p
2m _ pcs _
t x ) 里编码 ,
将编 码后 的 数据再送给 p drv ,
同样通
过接 口 (
p rx i f) 驱动 DUT , f _
mo n 将采集 到 的 DUT 输 出 数据送 到 r x _
c he c ker
的 ac t 侧 存起来 ,
p m〇 n 将 D UT 的 输入数 据 送给 r x 侧 的 解码模型解码 ,
解码所
得 的 数据送到 rx c he Ck er 的 e xp 侧 , 比 较两 者数据是 否 相 同
。
1 . P C S + P M A 层次
P MA 作为物理媒介 附 加 子层 负 责 串 化 解 串 化 既有 数字逻辑部 分又有 / , CD R
d
pa
I ?
f I
分输
等 士 差 分 输 出
i i I !
ma ve
p
rec e i
p ma _
t ra ns i ni t
(
RX ) (
TX
)
s er i a l t opa ra ll el
p a ra ll e l t o s er ia
l
I
并 输 出 并 行 输 入
¥ j
re c e ve ra n s ai
r
pcs i
pcs _
t
t
iR X ) 7 tx
)
并 输 出 并 行 输 入
¥ j
fa b r i c
图4 . 1 1 hs s t 整体架构
其中 ,
p
mat r a ns m i t 端将 p
c st r an s m it 终端传送 的 并 行 数据 信 息 变 换成 串 行差
分数据传输 ;
p ma 通过 r ec e ve i
端把从 pad 上 收 到 的 差分信 号转换成并行 数据信
息 。 为 此在 on y l
_
pc s 的 基础 上进 行修 改 ,
设 计 了p cs+
p
ma 的 i t 层 次验证环境
,
如图 4 -
1 2 所示为 i t 层 次数据 流 向
。
46
第四章 S er D es 模块验证平 台 搭建
rx a gt p s c
p _ —
.
q
p2m _ pcs t x ^
P _
rx
_
a
g
t .
p d r v
p t xa
g
t .
pm o n
」
卜 二
'
m 2 rx
■ .
|
p _
pcs _
.
|
i
i
|
p
r xa
g t pm . o n^
P r x f pt x f i
i
i
i
i
i
L
" _ -
;
|
- — I : - 一 —
丨
—
丨
I
丁
i
I a c t
fa ke _
pma _
t x fa k e _
pma _
rx
[
 ̄
,
,
j
p
1 —
1 =1 技声伽
1
p2m x
_ p cs _
r
pma r x pm at x
 ̄
|
ex p
I p
p c s rx p cs t x
f t
- -
t .
「
:
〉 :
」 f a
rx —
f i f f t x f t x
g t . f mon
rx ^
一
c h eck er -
-
\
!
-
J
_ _ _
y
|
—
^
r 个
\
L
ac t
f rx a
g
t . f m on f t xa
gt
. fd r v
t
x a eq
f
gt f s
t .
图4 . 1 2 pc s +
pma 数据流 向
On l
y _
pc s 层次 t x 侧 p
c s 的输 出 信号 t o _ pma 直接与 t x 侧接 口 相 接 监测 编码
,
后 的 数据 , 此时对应 的 是 1 0 比特 / 1 6 比特 / 20 比特 /3 2 比特 / 40 比特 / 64 比特 / 1 28
pc s 的输出
信 号经过 p
ma t x 将 并行信 号 转换 为 串 行信 号 , 由 于 高频 的 比特信 号 不利 于采样
,
、
p
i na _
r x fa k e
_
pma _
r x
p
ma
,
将 pma 输 出 的 高速 串 行仿 号 转化 为 并 行信 号 进 行 采样
。
同理 r x 侧 环 境 给 的 并 行 信 号 激励 直 接 给 到 接
, 口 进行监测 经过 , fa k e
j m aj x
进 行 并 串 转化后 经过 p ma _
r x 串 并转化 后 作 为 pcs _
r x 侧 的 输 入数据
。
,
p ma
自
检测
。
4 4 2 . .
事 务 基 类
最 初 的 基类 定 义 在 co mmo n 组件 的 ram
f 目 录下 ,
派生 自 uvm
_
se
que nce _
i t em
,
l 0 b t a mo d e , fa c t o r
y uvm fe d
i l
_
arra
y
i nt ;
了 数组长 度 参 数 co de
_
l e nt h ,
不同的 d at a
_
mo d e 根据特性定 义不 同 的 数组长 度
。
定义 了d a t a _
6 4 比特 , data _
1 2 8 比特 , s
ync _
h e a d e r 等 参 数 为6 4 b 6 6 b , 1 28 1 ) 1 3 0 1
)
类 d at a _
mo d e 提供支持 , 图 4 . 1 3 所示为基类的定 义 ; 而在 f
_
u t i l s 事务类
pg _
f
_
xac t o n i
和 p _
ut i l s 事务类 pg jp _
xact o n i
都是派生 自 fr a me 定义 「 的基类
。
4 7
西 安 电子 科技 大学 硕士 学 位论文
c ass S b 1 O b d a t a e xt e n d u M n s e q u e n c e i t e m
l
pg
;
rand b i t
[
7 : 0 ] da t a 8 b it
[]
;
rand b i t
[
9 : 0] d ata
_
1 0bit[]
;
ra nd i nt c od e —
l en
g
t h
;
r a nd b i t
[
63 : 0] da 6 4 b ta
_
i t
;
ra nd b i t
[
1 2 7 0] d a 2 Sb
: at
_
1 i t;
rand b i t
[
2 : 0] ync h e a d e s r
;
j
一
uvm _
ie d
f l
_
i nt ( c o del en
gt
h ,
UV M A L L O N ) _ _
uvm
一
fi e l d 一
arr a
y _
i nt ( da a t 8 bit . U VM _
A L L O N )
一
endc l ass
4 4 3. .
序 列 发 生 器 类
f
j xj e q u e n c e 负 责 发 送 测 激 励 的 产 生 , 拥有属 于 自 己 的配置系 统 s e
q _
C fg
,
里 面 包含众 多 配置 , 包含 pc s _
mo d e 选择 d at a
_
mo d e , cf
g _
e n c o d er mo d e 选择编解
码模式 , c f
g i t em
_
c nt 控制 发包 的 总 数量 。
根据 不 同 的 配置 , s e
q u e nce 将不 同
d at a
_
m〇 d e 的 包封装 起来 , 用 户 可 以 准确地对包 的 结 构 , 顺 序 具 体 数据 作 修 改 ,
。
s e
qu e n c e 的 启 动方式有三种 , 前文 己 有叙述 本 次设计 。 se
q ue n c e 在 c as e 中启动
。
关键代码如 图 4 . 1 4 下
:
f
—
t x 一
s e qu e n c e f _
s e
q
;
.
“ ”
d
=
f
_
se
q f
—
t x —
se
q u en c e : : t
yp e _
i : : c i e a te ( f
_
se
q )
;
fs e q . s ta t( s eq u enc er )
r
图4 . 1 4s e
q
u e nc e 启 动 方式代码
包含 的 内 容 几乎 与 致 编码前数据和头部信
—
x q u e nc e
que nce
r x se f t se
p _ _
_ _
,
, , , r
x
侧的 v p i ( 参考模 型 ) 中 完 成编 码 过程 再 由 编 码 后 的 数据 发送给 ,
rx
_
dr v e r
i
驱动
。
到 t as k : : co mm a _
s e ar c h 中 , co mm a _
s e ar c h 任务模仿 DUT 实现方式 , 通过静态检
测或者动态移位 的方式 根据 的 配置选择 寻找到 定数量的并
一
( cf
g c〇 _a d et )
_ _
且 位置正确 的 co mm a 时 , 将 定 义在 p2 m _ pc s _
t x 的 状态变量 s
ync _
fa i l
更 改为
s
ync _
ok ,
如 果设计正确 ,
则 此 时 DUT 的 al i g n 模块 也 会将 此通道 的 输 出 信 号
l sm
_
s
y nc 信 号拉高 在 , env 中 定 义专 门 负 责 检测 a l i
gn 状态 的 任务 al ig n _ pro ce ss
,
48
第四章 Se r D es 模 块验证平 台 搭建
只 有当 p
2m
pc s _
t x 四条 l ane 的 s
y
nc
_
ok 信号都拉高 以 及 D UT 中 的四条 l a ne
的
l s m _
S
yn
C 信号均拉高时 , 表征无 论 是参考模型 还是 D UT ,
同步模块 的 行为都正
常 , 在这个前提下 ,
p d r v 接收 到 的 驱动信 息 从 co r mn a _
s e nd ( ) 转换到 p _
r x _
s e
q
提
供 紧接着 。 se
q 根据 相 应 的 数 据 配置 决 定 发 送 何 种 类 型 的 i t e m , 如图 4 . 1 5 为 p _
se
q
发包示意 图 , 图 4 .
1 6 为 p _
r x _
se
que nc e 关键代码
。
c〇
nf g l
_
d b 跨组件传 输
se
p —
q <
rs
i
X
 ̄  ̄
.
攀
"
> V 0
;
;
:
:
1
_ c o m m a ^g S
j 1
ea
;
s rc n n c〇 k
-
l
^
_
来 自 s e
q 的数据包
^
《
誦
貪 球
 ̄
o m m as e n
f
c d :
…
社
拉局
,
纖靜 , P戌 礙?
丨 s ni s nc
_ y
*
p 2 m 』 cs j x ^ |
|
\7
\ 7
.
ZZ p v . i
f
\y
—  ̄  ̄  ̄
 ̄
v
du
t
e n
v
图4 . 】 5 接 受 测 发 包 示 意 阁
v i r t u a l t a s k ho d y ( )
;
h s s t d c c : :
p
c s wor k _
mo d e
_
c a n c l
_ p
c s m o de
;
fo r
k
w h e be
n
g
l l i
i
( )
”
、
"
u v m c o n f
g
i
_
d b# (
h ss t
—
d ec h s s t s
y
n c
_
e )
: : w a i t
一
m od i f i e d( n u l l
,
g e t fu l l
_
n a me (
) ,
s
y
n c
_
s t a U i s
)
;
uv m co n f
i f (
!
i
g
db ( h s st
_
d ec : : h s st s
y nc _
e
)
:
:
" "
mc n cs at u us be
g n
e nu e Fu n a s s s n c s t a t
g
t
(
l l
,
g
t
_
l l
_
( ) , y t
,
y _
) )
i
'
M u
uv m o n am c ( ) u en c ec anno
_
er r r (
g
e t t
y p
e ,
se
q t
g
e t s
ync _
s t al u s
)
en
d
e s e b e
n
g
l i
'
a
% 0s
,
=
u v m n fo e n am e ¥P n 0 sb o d se e nc
g et t s r
qg
s
y
\
(
y p
t t
p p
i
i
( _
() ,
( y ( ) _
g
e t se
q
u e n ce
_
p
a t h ,
s
y nc s t at u s . n a me ( ) ) ,
UVM _
N O N E )
e n d
en d
o i n n on e
j
图4 . 1 6
p _
r x _
s e
q
ue n c e 关键代码
而 Se
q
u e nc e r 的 作 用 较为 简 单 , 它 只 是用 来代 表事务类 型 的 种 类 , 和 普通 的
se
q ue nc e r 没有差 别 , s e
q
u e nc e r 己 经把 所要 求 的 全 部 功 能描 述 完 毕 ,
但因 为普通
仅仅对应 了 个 类型 所 以 在定 义 时 只 需 设置参
一 ?
s e
q uenc
er t r ansac t i on , se
q ue nc c i
4 9
西 安 电 子 科 技 大 学 硕 士 学 位 论 文
数来表 明 的 tr ansact o n i
类型 即可 ,
本 次设计 中 f
_
seq u e nce r 对应 的 t r a ns a c t i on
是
pg _
f xact o n i
,
p _
se
q u e n c e r 对应 的 t r a n s a c t o n i
是 p g _
p _
x ac t o n
i 。
要注意的是 , 扩展
型 f
_
s e
q u e n c e r /p _
s e
q u e ncer 可直接 调用 由 基类所 定 义 的 函 数 和 方法 , 这主 要是 因
为 在其构 造 函 数 阶段和 bu i l d p
ha s e 阶 段 都 使 用 了 s
叩e r 函 数方法
。
4 4 4 . .
驱 动 器 类
dr ver i
主要 的 主 要 职 能是将 数据通 过 定 义 的接 口 驱动给 D UT , 其工作 原理如
图 4 . 1 7 所示
。
f > N
f
基于 uvm
_
dr
ive 基 类 B u d p h a e
r
_
i l
_
s
扩展 l i f dr i vc 进 行 实 例 化
r
厂
> 8 b 1 0b 类驱 动
^
J
,
1
r
^ f
^
对 fd r i v er 进 行 宏注 册
m n p
h as e
6 4 b6 6b 类驱 动
V
,
J v
,
J
i ■
i
、
/
广 、
退 出 1 2 8b l 3 0b 类驱动
un
r
p h as e
V
J V
)
”
工
f ^ f
^
创 建 构 造 函 数
細“
,
N eW ( )
V
x \
J
图4 . 1 7 d r i v er 类工作 原理 图
f
_
d r ver i
负 责 驱动来 自 fa b r i c 端 口 的 数据 t d ata , 通过 d ut
_
cf
g 的 约 束实现
drv
_
cf
g 相 关配置 的 同 步 , 在 不 同 的 数据 模 式 配置 下 , 端 口 每
一
位代表 的 含义有
所不 同 以 为例 每 个字节 的 有 效载荷 需 要搭 配三 比特 的 控 制 信 息
一
, 8b l 0b , : kin
、
共组 成 比特 数据 代表此 时 对 应 的 比特是否
一
t x d c t r 、 t x d s se 1 1 k n 8
p
l
p l 。
i i , i
_
_ _
_
是控制 字符 ( k 码 ) , 后 两 者信 号 的 组 合 决 定 是 否 强 制 极 性 或 者 替 换场 景
。
p _
d r i ve r 负 责 接 收来 自 p ma 传来 的 数据 p ma d n i ,
数据拆分 , 接 口 定 义恰
好是编码过程 的反 向 操作
。
d r ve r i
首先 向 s e
q ue nc er 发出 事务 申 请并阻塞 , 当 s
qr 在接受 申 请之后进 行 回
应 ,
并将 re
q 作为句 柄 , 当 d r ver i
在 接 受 事 务 并 调 用 任 务 处 理完 毕之后 , s
qr
就
50
第四章 S er D es 模块验证平 台 搭建
 ̄  ̄
-
■
次事务 的传递 ,
过
程使用 循环 代表驱动 直进 行 去 冋 隔 时 间 为接
定
一
fo re ve r
@ v f mck F 丨
丨
) ,
( i . ,
波形数据源 源不 断 的 原 因
。
4 4 5
. .
检 测 器 类
mo n i t o r 负 责 监测 接 口 数据 于 ,
dr ve r i
操作 恰好 相 反 但 不 同 于 ,
dr ver i
在 fa b r i
c
和 p
ma 侧各有
一
数据监测 ,
只 是验证平 台 发 展 伴 随 功 能细 化 的 必 然要 求 , 然 而本 次验证平 台 的 设
计 中 并没有 例 化 四 个 组件 , 而 是 只 例 化 了f _
mo n i t 0 !
■
和 P _
mo n i t o t
■
两个组件 。
这
是 由 于可 以通过 mo n c f
g 配置信 号 c fg t x _
s d 来决定是此时 fa b r i c 侧 的数据监测
具 体是 发送测 还 是 传 输侧 , 以 f
_
mo n i t or 举例 ,
其工作 原理如 图 4 . 1 8 所示
。
r n r
^
基 于 uv m
_
mo n i t o r 基 B u i l d
p
h as e
类扩 展 出 fm o n i t o r 进行实例化
1
> T X 输入 fa b r i c 端监测
V
y V
^
对 > 0 n 〇 进 行 宏 进 入
f i l r r
gJ
C X f s e
|
 ̄
_
注 册 u n p h a e r
_
s
i
^
’ 、
0 ?R X 输 出 fa br i
c 端监测
n I
j
j J
参 数 设置
r u? i s C
V
.
,
J ^
^
I
创建 构造 函数
Ne \v
关闭d as
s
( )
v
j V
J
I
图4 . 1 8 m o n i t or 类工 作 原理 图
由 于检测 器 ma n i
p
h as e 使用 了f
o reve r 函数 , 故监测 行 为类似于驱动 器 ,
只
要仿真不停止 ,
会 不 断按照采集周 期进行下 去 , 由 前 文 论述可 知 , 需要采集 的 数
据必须为有效数据 , 对于 64 b66 b 编码 ,
在 某 个 循环周 期 内 的 某 些 固 定 序 列 对应
的 数据 输 入 时 无效 。
如 1 6 比特 6 4 b6 6 b 编 码模 式 ,
在输入序 列 t x _
se
q 为 3 1
时
,
对应输入数据 无效 ,
因此需要在采集数据时 ,
需 要增 加 判 断 条件 ,
当 t x
_
se
q
满
足范 围 在 0
-
3 2 且不等于 3 1 时 ,
方可采集有 效数据 。 同 理对于 1 2 8 b l 3 0h 编码
,
5
1
西 安 电 子科技 大 学 硕 士 学位 论文
采集有 效输 入数据 需 要满 足 t x _
d at a _
va l i d 不为 0
。
4 4 6
. .
参 考 模 型 类
参考模 型 需 要 具 备 和 待 测 设计相 同 的 功 能 ,
根据 数据 通路 分析可知 , 参考模
型 需 要 分 为 两大类 , 通过 c fg
_
t x _
se r配 置 为 发 送 侧 和 传输侧 , 而 发送侧 的 参考模
型又分为 m2 p pcs
t x 和 p
2m
p
cs
—
t x ,
(
m 2 p( m a c a y e rt op h y s c a a y e r )
l i l l
表示 m ac
层 到 物理层 对应 , SerD es 从 fa b r c i
到 p ma 的 数据流 向 ,
p
2m (
p
hys c a i l l a
y e rt om a c
流向 的编码模型 。 而 接 收侧 的 参 考 模 型 分 为 m2 p pcs _
r x 和 p
2m p
cs
_
r x 分别对应
两种 两种 数据流 向 的 解码模 型 ,
参考模型 的工作原理如下 图 4 . 1 9 所示
。
"
/
ni 2p p
cs
」x |
b r i d
ge r e
g p r o c es s
r ^ r \ p 2 m p cs t x r r
;
基 于 x b d ge t r i
_
un i t
p
ro ce ss
e ^
m c om on n B u d a
-
u v p e t i l li s
i
p
^
_
基 逢 扩 展 出 进 行 实 例 化 _ _ ^ e a r
p
r o ce s s
_
_
*
v
t o
i
p p
J
丨
 ̄
v / v e n co d e r
p r oc e s s
y ^
I
t
T
,
t x d r i v er r e
g p
r oc e s s
对v i
p
〇 行 宏 进
i f
汪 册 r u n
p
t
h as e
r
 ̄
X
i
^
1
^
〇
r x s a m pr e gp r oc e s s
参 数 设 置 ^ b
…
= = 5E±=
d
u n h as e
w
r
p a
gn
ord r o c es
s
p
l
_
i
_
j L J |
i
(
1 d e co d e r
p oc
r e ss
/
u
I
一
T
-
) 〔 |
m2
p p
cs
_
r x r x b r i d
g
e u n i t
p
ro c e ss
2 m cs x
创建构造 函数
r
关闭
p p —
r x g
ea r r o ce s
s
c asl s _ p
N ew ( ) ▼
rx b d e ro ce
ge
r r s s
i
_ g _ p
\
^ J
图4 . 1 9 参 考 模 型 类 工 作 原 理 图
参考模型 的 m a np ha s e
i
阶段使用 o rk
f j
o n
i
进 程 定 义 了 若干 个子进程 而 子进
,
程又包含 多 个子 任务 ,
以 解码模 型侧 的 同 步模块 wo rd
_
al g n
i
_
pro c e ss 为例 , 此进
状态机跳转 任务 a l i
gn _
l s m
_ p
r o cess 等 ,
图 4 20.
举例 了a l i
gn _
l s m _
p
r o ce s s 的 关 键代 码
。
5 2
第四章 S e r D es 模 块 验证 平 台 搭建
t a s kpc s _
nc g e:
_
a l i
gn I s m p r oc e s s
(
i n t a n e d l i
,
i n p u t p cs d e c : : r x al g n
i I s m st e c ur s t
,
n put b i t[ 1 0 i s c o mm m a r ef
pc s
d ec r x al i n s m s t en e x t st
g
I
i
: : :
] , _ _ _
,
sb d co m m a c n t m m a)
re f b i tl
p ace l
,
r ef i n t
g oo ,
r e fbi t
ge t _
i rs t
f co
b i t I s b 一
b a d, m s bb ad
;
b i t I sb
—
c o de 一
v o i
,
m sb c o dev o i
;
b i t I s b
—
i s
一
co m m a ,
ms b
—
i s
—
c o mm a
;
b it m sb m s b k k
」 s
一
d ,
i s ,
l sb i s
_
;
i f
(
c ur
—
st
==
pcs —
dec : : GE _
SO LO S S OF —
S YNC )
beg n
i
i f( i s
—
c om mm a [ 0 ] | |
i sc om m m a [ l
] )
&& m s b —
i s d
)
b e g i
n
n e xt s t
=
p cs dec : : GE S I CO M D E T I
;
e n de l s eb e g n
i
=
n e xt s t cu r s t ;
—
g et f i rst
—
c o m ma
=
r b O
;
end
e n de l s e f( c u r
i
_
st
= =
pc s
_
dec : : G ES l
_
COM _
DE T l
)
beg n
i
i f
(
l s b
—
co d e
—
v i o l
|
m s b c o de _
v i o |
|
( (
! l s b co d e _
v i o && ! msb _
c od e _
v o i
)
&& ( m s b _
i s c o mm a & & (
! l s b i
s c o m m a)) )
_ _ |
|
((
! I s b co d e
—
v i o&& ! msb —
c od e v o)& i : & ( (
! m s b」 s d )
&& l s b
_
i s
_
co m m a
) ))
be g n
i
n e xt _
s t
=
pc s
_
dec : : Ge _
SO _
LO S S
—
OF —
S Y NC
;
i r st
f
'
g et _
_
co mm a 1 bO
;
e n de l s e i f
( ( (
! l s b
—
c o d ev i o )& & (
! msb —
c o de —
v o) ) i && (
m sb
—
i s d )& &( l s b i s
_
co m m a
) )
be g n
i
n e xt s t
=
pc s
_
dec : : GE S l
—
CO M D E T —
1
;
e n d e l s e f( ( ( i ! l s b
_
c od e
_
vio )
&&( ! msb _
c o de v o) ) &i &(m s b i s
_
d)& & ( l s b _
i s
_
k) )b e
g n
i
n e xt 一
s t
=
p cs
一
dec : : GE —
S2 一
CO M —
DET 一
2
;
e n del s eb e gi
n
=
n e xt —
s t c ur
—
s t
;
end
e n de l s e f( c u r
i
_
s t
=
pc s _
dec : : GE S2 _
C0 M _
D ET _
2 )
be
g n
i
end
图4 . 20 参 考 模 型 子 任 务 a I i
gn _
p r oc e s s 关键代码
“ ”
图 4 20.
所 示 代码 即 为第 三 章 中 同 步 模块 里 al g n i
模块状态机 的 模仿
,
al ign
_ p ro c
e s s 结 合 由 c o mm a 一
res e ar c h 任务提供 给 a l i
g nj p r o c e s s 相关的 c o mm a
关
键信 号 l sb
_
i s
_
co mm a , ms b _
i s
_
co mm a 等信 息 ,
并根据 c o mm a 相 应 比 特 位置 判 断
是否为 b ad _
co mm a 或者 go o d _
co mm a ,
再根据 相 应 的 条件完 成状态跳转 。
最终完
成和 DU T 致的功能
—
。
4 5A P B
. 组 件 实现
监测 ,
该组件实现 了 寄 存 器 的 前 门 访 问 机 制 ,
结构如图 4 2 . 1
所示 ,
包括 AP B
相
关 环 境 配置 ap b _
c fg , 序列 发生 器 a
p
b _
s
qr , 驱动 器 a
pb _
d r ve r i ,
检测 器 ap b _
mo n
5 3
西 安 电子科技大学硕士学位论文
和接 口a p b i f ,
接 口 信 号 同 前面在 章 节 描述有 p c l k 、
ps
e l 、
p
a ddr 、
pd at a 、
p
r ead
y
、
p
wr i t e 信号
。
a pb c fg
d r
v
m on
s
q r
a
pb i f apb _
a g en
t
图4 . 2 1 A PB 组件 图
AP B 组 件可 以 通过与 a
p b」
f 连接 待 受测 物 的 寄 存器 访 问 控制 模块 , 并与
apb dr i ver 结 合 实现对 DUT 寄 存 器 的 配置 ,
并与 apb
_
mo n 结合实现对 内 部 辅助
寄 存器状 态 的 监视 。 在 ap b i f 系统中 , 通过 mo d p o r
t 可 以将驱动 器与 监视器接
口
分类 ,
以 确 定 信 号 的 输入输 出 方 向
。
A P B的 t r an s c a t o n i
含 有 三个 变 量 ,
分别为 a
pb _
ad d r 、 a
p
b
_ p
d at a 、 a
pb _
r w k nd
i
分 别 对应地址 ,
数据 ,
读写类型 ,
支持参数化配置 。 寄 存器 与 APB 组件之 间 的
b us2 re g master
re
g2 bus 。
读写请求 立即 启 动 , s
q
r , 通过事务和信 号 级 的 相 互转化调 用 任务 se nd
_
t r
_ p ro
cess
对接 口 进行相应的 读写操作 , 图 4 22 .
为 apb
_
maSt er _
dr ve r i
接收到读写事 务 后驱
动接 口 执 行相应的 关键代码
:
t as k pg
a
pb _
n as i t er
_
dr iv e r : : s e nd _
t r
p r oce s s (
i i i t l a i i e i n d e x)
:
x a ct o n pb
a ^) a r
pg i t
j
;
e v er be g n
fo r
i
@ (
t ii i s . a
pb _
v i
Q l an e i n d e x ] mc k ) .
:
l f( t r
q [
l an e i n d ex ] . si ze 〇>0 )
b e g in
r ctit( )
f
=
a
pb tr t r
q[ l a ne i n d ex] p o p
.
:
_
ux n ^
do ca l l b a cks ( pg a
{
^ ) ma ste r d ri v er .
pg a
pb m a s er t clr i v er c bs
.
'
'
tra i i s
_
r ec e n ed
(
t h is ,
a
pb _
t 2
,
t h i s .
c f
g
.
a an i
_
m od e _
e i i ,
t l
ii s . cf
g b
〇 a dc a st
. i
_
e n ,
t his . c f
g
. s ram m o d e ))
:
M w
%O s
' k
U V M H G H )
'
pha s
'
=
wm n fo j\m e S s fc ? n a t ^ s end tr
jp oco s s g e a
pb
a
pb tr s
pr int( ) ) I
\ i , r t t i ,
.
( _
_
,
r vv k d
c a s e( a b tr a
pb i i i
p
.
)
pg a
pb d e c : : R EA D O P : t h s i . re a d( a
{
A )
tr . a
p b a d dr . a
pb t r . a
pb pd a t
a .
l an e
_
i nd ex )
;
W Ri E OP
-
pg
a
p b d ec : : 1 : t h i s .
\\ T i t e
(
a
pb t r . a
pb _
a d di .
a
p
b t r a
.
pb p da t a J an e
_
i n dox )
;
e n d c a se
nde x
=
a
pb _
tr .
l a ne
_
i d l ane 一
i
;
" ”
’
”
%O s
”
u vm
_
i n fo ( nj n
」i i ase , S s fo r ma t l
(
a
i
^ 3
_
nis t
_
drv s e n d _
a
pb t r
=
.
a
pb t r . s
p
ri n t
( )) , U VM H G H I
)
'
u vm do c a l l b ac k s ( p g a
pb
ma s t er dri v e r ,
pg a
pb n ia st er d i i ve r _
c b s . t ra ns
_
e xe c t i e d ( t h i s a b
i
p .
_
t r
))
;
b u fe r
=
T h Ls .
la ne eni
pty [ a p b tr .
l a ne i d] 1
;
se it an
por t i t en d o ne ( )
q
:
?
_ _ 一
e ud
end
n d ta sk se ndt
e : r
pro c e ss
图4 . 2 2 a
p
b
_
m as t e r _
dr ver i
驱动 数据 代码
5 4
第四章 Ser De s 模 块 验证平 台 搭 建
可 以看到 任务里调 用 了
se nd _
t r
_ p ro c e s s t a s k _
r e c e rv e d 以及 t ask _
e xe c t ue d 。
在
当前 AP B 组件 中 并 没有 定 义任 务 内 容 而 在 ,
t e st
_
b as e 中定义了 t ask 内 容 图 。 4 23
.
所示为 t est ba e 中 定 义 回 调 函 数 示 意 图
S
。
_
c b e x te n d s b m a s t er dr i ve r c b s ;
c ass
pc s pg
a
p
l
— _ _
v rt u al ta s k
i tra ns _
r ec erv ed
( pg —
a
p
b
_
m a s te r
_
d r i ve r x a c t o r . re f
pg
a
pb _
xa c t k>n a
p
b tr
.
p
p
:
i
p
: : .
?
_
_ _ _ _ _ _ _
_
b d ec ram mo d e e s r am m od e)
p gj p
: : s
— —
一 _
;
i
l
f ^
s ram
iii ode en
=
pg _
a
p
b
_
de c : O F F ) be g
i
n
bj Mr =
4 ^ 0 0 0 0) b e g n
'
i f a
( p
ti .
^ b >
_
a< [
3 1 : 28
]
i
^ bO OOO
'
b b a ddi n s i de ^ b O OO ^ bOO ^ b OO be g
n
-
If a t r a I 5 1 2 i l l O I l i
p p {
: .
})
. .
[ _
_ ( ]
i f
(
br o a d c a s t _
en
=
pg _
a
p
b
_
de c : : ON )
be
g n
i
a
p
b _
t r a .
p
b _
a dd r
[
3 0
]
=
1
:
a b t r a b a dd r 29 25
=
5 b00 0 0 0
p p
. :
:
_ _
[ ]
e nd e l s e be g n
i
a b t r a b a dd r 30
=
0
p
p
.
:
— —
[ ]
en d
end
en d e l s e b e gi n
ad d r
=
a b t r ? 3 b 3 1 1
p
;
.
_ q _ _
[ ]
dec S R A MO ) a p b t b ad d 0
= =
f sra m m od e a b r a
p r 3 29 21 00)
pg
i
p
: :
. :
;
( _
_
( ]
m ode S R AM ^
*
else if s ra m
=
ap b dec 1 a b br a b ad 3 0 29
=
2 b O O ;
pg
p p
: : .
:
( _ _
_ ) _
[ ]
B R OAD C A S T )
’
m ode d ec
印b 2 b
= =
else i f s ra m a b a b tr a d dr 3 0 29 l O
pg p p
: : . :
:
^ 一 —
—
— _
[ ]
en d
'
u
J n fo C A P B C B M D F \ ¥ s fo n n a % Sh U VM n GH
' '
b ad dr
=
-
a ddi h
-
pb b
u vm tf
(
a _
\a
p _
. a
p _
)
.
_
f
)
;
^
en dt a s k
e n d c la s s
图4 . 23 Te s t
_
b as e 定 义回 调 函数代码
中 , AP B 协议 需要严格遵守 , 因此 AP B 接 口 的 r e ad 和 wr i t e 作为固 定任 务 定 义
在 a
Pb _
d r iver 组件 中 , 而 只 若只针对 PC S 模块 , 只 需预留空间 , 根据 特 定 配置
4 6 . 寄存器模 型 ( ra l ) 组件 实现
由 3 . 4 章节可知 ,
本 设计 的 寄存器访 问 模块 中 定 义 了 多 种 寄 存器 ,
从而 决 定
, ,
体包括 了 寄 存 器模 型 、 AP B 组件 以 及 寄存器桥接 ( ad a
p
t er 模块 ) , 整体框架如 图
4 24
.
所示
。
5 5
西 安 电 子 科技大 学 硕士 学位论 文
i ra j i i s st
一
r e
g
:
A P Ba g e n
t
:
;
I ) UT
H s uk H I
i 船 i
— 一
?
re s l er s
g
l
— 一 '
MON
? *
?
?
| |
jo p
-
h ss
*
t
;
、
a
pb _
t r a ns
| u v mr
e pH e m |
Ana l
ys
i s
.
jx >
n
;
I Xv f a u l
^ r mq^
、
a da e
-
J —
ed or <
t r r c t
p p
i
图4 . 2 4 寄 存 器 模 型 框 架
实现 寄 存 器桥接 、 建立访 问 机 制 等 共 同 完 成 寄 存 器 模 型 集 成
。
( 1 ) 寄 存器模型 设 计
寄存器模型 ra l hsst
_
re
g 例 化 了p c s
_
l ane ,
p c s _
cmn , h s st
_
t op 这三个类型 的寄
存器 区块 , 分别 是 pc s 通道 寄 存 p
cs 公共寄存器 以及 hsst
_
t op 顶层模块寄存
器 t o p x sv 文 件 层 定 义 了 这 三类 的 基 地 址 , 本次 以 pcs j ane 区 块 为 例 ,
其下有几
十个寄存器 每 个寄存器又有 个或者 多 个域组成 同 样每个域也通过单 比特
一 一
, ,
或多 比特实现 ,
不 同 的域映射 寄存器不 同 的功 能 ,
并且相 互独立
。
当 定 义好 了 寄 存器地址 , 名称 , 域 的信息后 ,
需要补充 bu i l d 函 数实现 ie d
f
l
的 实例 化 以 及 配置 配置 需 要对 。 9 个 参 数进 行 设置 从左 到 右 依 次是父 类 位 宽 : 、
、
( 2 ) 寄 存 器桥接模 块 ap b
_
ad a
pter
ad a p t e r ra hs st re
, l
_
_
g
主要 负 责辅助寄存器的操作事务 以 及
uvm _
re
g _
op 和 AP B 事 务 ap b _
t r an s 的 交互 转 换 , 其影 响 作用 最大 的 是 内 部定 义
的 re
g2bus 和 b u s 2 re g 函数 ,
共 同 完 成 了u v m _
r eg
_
op 和 ap b _
t r an s 之 间 的交互映
射 过程 把操 作 位置 类型 数量等传 送给 另 方 和
的
一
, 、 、 。 a
pb j ra ns u vm re
g 一
o
p
成员 映射关系如下表 4 . 1 所示
。
5 6
模 块验证平 台 搭建
第 四 章 S e r D es
表4 ? 丨 a
pb _
t ra ns 和 uv m
_
re
g_
op 的 成 员 映射关 系
操 作 成 员 uv m _
r e
g _
o p a p b
_
tr a ns
操 作 地 址 A d d r a
p
b
_
addr
读 写 数 据 d a
/ t a a p b
_ p
da t a
操 作 类 型 k i nd : :
{
UVM _
W R TE UVM R E A D Y
I ,
_
}
a
pb _
r w _
k i nd
re
g 2 bu s ( ) 函数 的应用 场景为 :
当 寄存器模型 被访 问 时 ,
模型将对应寄存器 的
信 息 保存 在 uv m _
re
g _
op 中 , 同时调用 re
g 2 bu s 〇 , 以 实 现 从 uv m _
re
g _
o
p 到 ap b _
tr an s
的 映射 , 并 同 时返 回 ap b _
tr ans 实例 ,
其次 ap b
_
s
qr 将得到 的 ap b _
tr a ns 传给
ap b
_
dr ve r i , 在 ap b
_
i f 上执 行相 应 寄存器 的 读 写 操作
。
bus 2 re g ( ) 函 数的 应用 场景为 : a
p
b_ _
dr iv er 完 成读 写 操作 后 会返 回 句 柄 给
以表面完成 了 本次 任务 则 直 保 持监 视 状态
当
一
a b s r ap b t r an s a
p
b ad a
p e
t r
p _ q _
,
_
,
捕获 ap b _
s
qr 收到 a
pb _
tr ans 返 回 句 柄后 , 隐 式重新调 用 bu s 2 reg ( ) 函数 ,
实现从
a
pb _
tra ns 任务到 uvm _
re
g _
op 的 映射 ,
将配置信 号反馈给辅 助 寄 存 器模型进行 相
应 的 更新操 作
。
( 3 ) 寄存器访 问
在 2 6 .
章 简 要 介 绍 了 寄 存 器 的 两 种 访 问 方式 ?
.
前 门访问和后 门访 问 , 具体
在脚本验证平 台 , 利用 AP B 进行 的访 问 就属 于 前 门 访 问 , 还 需 要 建立 AP B 组件
和 a d ap t e r 桥接 ,
来实现总 线 与 寄存 器模块之 间 的直 接联系 。 而后 门 访 问 则是通
中 : : ad d _
hd l
_ p at
h( ) 的 函 数实现 。 但 因 为 设计模块 中 辅 助 寄 存器 过 多 , 所 以 单纯使
用 前 门 访 问 就 会耗 费 大 量 时 间 , 而后 门 访 问 则 是 因 为不耗费时 间 而使得 d e bug
复
杂 度大大增加 , 于 是本平 台 就选择 了 前后 门 混合 的 方法 , 创建 了 辅助 寄存器测 试
用例 , 通过前 门 对 所有 的 辅助 寄存 器做 了 读 写 检 测 , 其余则 采用 后 门 访 问 ,
在保
证 寄 存器模 型 的 正 确 性 的 同 时 缩短 了 仿 真 时 间 , 提高验证 效率
。
( 4 ) 脚 本批量生 成寄存 器模 型 文件
对于 结构较为简 单 的 D UT 可 能 只 存在 几个寄存器 , 此时 , 按照 Uv m _
re
g
,
u vr n
_
re
g _
b 〇 Ck
l
层 次划 分 , 参数 设 定 , 地址 映射 的 流程 即 可编 写 简 易 r al , 参数 的
方 法 搭 建 寄 存 器模 型 即 可 但 是 对 于 复 杂 设 计 来讲 。 , 人工编 写 的 方 式效率 极低而
且失误率很高 , 某 名 称 或 者 映 射 地址 的 拼 写 错 误 不 易 显 现 , 导 致 定 位成本 高 昂
,
脚本 的 使用 可 以解决在这 问题
一
。
O f fs e t _
ad d r :
偏 移 地址 , 即 针 对基地址 的 偏 移量
。
N a me :
寄存器的名 称
。
比特 s : 与 之后 的 ie d
f l
配合使 用 , 表征 8 比特的 uv m _
re
g _
b ock
l
分配给 ie d
f
l
的具体位置
。
5 7
西 安 电 子科技大 学 硕 士 学 位 论 文
寄存器最小单元 的名 称 同 个 的每个 作用 可
一
F e d i l : 。 uvm
_
re
g _
b ockl ie d
f l
以 无关
。
T yp e : f
ie l d 的类型 , 常见的是 RW 型 ( 可读 写 ) 和 R0 型 ( 只 读寄存器
)
D e fa u l t : f
ie l d 的 默认 值 , 位宽 同 ie d
f l
所 占 比特数
。
寄 存器表格确认无误 ,
首先使用 p yt
ho n 脚本 x l s 2csv .
py 将 x l s x 或者 x l s 文件转换
成 c sv 文件 。
关键代码 如 下 图 4 25 .
所示
:
i mpor
to s
i m
po r
t p a n da s
de fx l s 2 c s v ( npu t i , ou t p ut )
:
ex cd
' '
r ea d
p a n da s
=
n n d ex 0 o v enc od
^
u tf S
pu t co c o ut
p ut n -
t s
g
. i i l . i
_
( ,
_
) _
( ,
)
d e f m a in
:
()
£ en d s \v h ( ' x
* f
x l s li st
=
f fo r f
ii i o s . li s td ir
Q i f it l s orf e . i i d s \v it h ' xl s x
[ ) ( ) ]
fo r f i nx l s li st
:
’ *
+
f f
x l s 2 c sv
(
f , £ sp li t
(
.
) [
0
]
. c s v
)
’
f n am e
!
i
—
=
ma n i
m a n〇
i
其次使用 ED A 厂 商 提供 的 寄 存器模 型 生 成脚 本 ra l
ge n 生成 RA L F 文件 。
当
所有 寄 存 器 模型 均 生 成且 无格 式错 误后 将 打 印 如 图 4 26 .
所示信 息
。
= =
;
M P C S RA M @ 0 x 4 0 0 0 0 0 0 0+ 0 X 024
- -
( ) [
1 】
1
|
- -
(
rTP C S RA M 0 @0x0
'
| - -
(
FjP C S RA M 0 F [
32 ] @ 0 RW
-
>0
(
R ) P CS R AM l @0 X 0
'
- -
(
FjP C S
_
RAM
_
0
_
F [
32 ] @ 0 RW
-
>0
Synop s
y sU VMR e g i s t e rA b s t r a c t i o nL a y e rC o d eG e n e r ato
r
Copy r i h t c 1 9 9 1 2 0 2 0b y
S y n o p s y sI n c
-
g
.
( )
Al lR i g h t sRe s e r v e d .
图4 . 26 寄 存 器 模 型 正 确 生 成 打 印 信 息
执行 r a l
ge n
-
1 s v -
t H S S T 〇r a -
l
_
H S S Th s s t
_
re
g mo d e l . ra l f 生成 r al
_
hsst . sv
,
ra l
_
PC S _
L AN E . sv ral
_
PC S _
C MN . s v
。
使用 u nt i l s .
py 和 d e f py .
自 动生 成寄 存 器值 的 定 义和 注 册 ( 配合 dut
_
cf
g 对其
进行约束 )
。
最后 用 脚本 wr i t e py .
生成所有 d ut _
c fg 的约束 ,
并在 配置 阶段将 受 约 束 的 随
机值写入 DUT ,
写入可 分为快写 入和慢写 入 ,
快写 入采用 直接复制 的 方法完成
配置 ,
而 慢 写 入 则 是根据 AP B 协 议消 耗仿 真时 间 进行 DU T 的 配置 , 通过使用 脚
本 完成寄 存 器组件 的 生成 ,
有 效减少 人工 维护 成本 , 提高 了 验证工 作 的 效率
。
5 8
第四章 S e rD e s 模 块 验证 平 台 搭建
4 7 .
层 次化 验 证
4 7 1
. . HVP 介绍
随着 验证工 作 的 日 益复杂 ,
需 要 收集所有微观 级 别 的 数据 ( 例如 回归 中 的单
个测 试状态 ,
功 能和 代码覆盖率等 ) ,
以 便更好 的跟踪 。 人工 的 收 集上述数据 可
能会 导 致 人为错误 , 使跟踪 数据 不 准确 。
将 整 个验证 跟踪过程 自 动化是理想 的 解
决方案 , 既保证 了 跟踪 的 准确 性 ,
又避 免 了 工 程 师 繁琐 的 管理
。
S yno p s y s 的 VC S 使 用 层 次化验证计划
HV P ( ( H i e r ar c h i c a l l y
Ve r i fi c a t i o n P an l ) )
, , ,
验 证 计 划 在 电 子 表格 或 文 档 格 式 的 公 共 位 置 收 集 相 关 信 息
。
4 7 2
. . HV P 生 成 的 基 本 流程
。 , i
) 。 hvp ,
,
以表 4 2 .
简要介绍 h vp 的 结构及成分
。
表4 . 2H VP 组成成分
hvp 变 量 描 述
计划 整体 定 义 个层 次结构
一
P a n( l )
F e a t u r e( 特性 )
一
p
l an 定义下包含多个 fe a t u r e
—
一
S o ur c e s ( 源 ) 覆 盖率 的 收集对 象 ( 覆盖组 、 实例 、 模块 等 )
G oa l ( 目 标 覆盖率 需要达到 的 要求
) , 通常 1 00
%
A tt r i b u te( 属 性 特征之外 的属 性 ) ( 字符 串 ,
时间 、 整形 、
枚举类型
)
M e a s ur e ( 测量 )
配合 m e tr i c 使 用 声 明 需 要反标 的 覆盖 率
Me tr i c( 度量 从 ) d a ta b a s e 注释到 vp an l 的值
计划 P l an : 定 义 了 某 个层 次结构 , 由 层 次 性 的 树 形 结 构 所组 成
。
特性 F e at ur e : F ea t u r e F e a t ur e
:
是 HV PM 中 的 基 本 构 造 成 分 , 换言之 , 验证
目 标 Goa l :
度量覆盖率 Me tr i c 的 基本条件 , 通常使 用 目 标表达式来定义
,
可从度量 、 计划或特性 的 声 明 中 确 定
。
属 性 At r i bu t e :
声 明特征之外 的属 性 。 可 以是整 型 、 时间类型 、
字 符 串 或枚
59
西 安 电 子 科 技 大 学 硕 士 学 位 论 文
举类型
。
测量 M ea s ur e :
可 以测试 Measu r e :
测试者 能够使用 Me t r i c 来声 明 对 Feat u re
果 。 高层 次 的 特 征 衡 量值通 常采 用 聚 合低层 次 的 子 功 能 度 量值 来计 算
。
度量 Me t r i c :
度量 Me t r i c Me t i r c 意 味着 要 把 试 验 数 据 库 注 释 到 试 验 计 划 的 值
,
能够对各个度量确 定 分类 、 目 标 、 集合成 员 ,
以 及所有者 属 性
。
反 映 了H V P 组 成 成 分 之 间 的 联 系 可 以看到 定义 了 整个
6
图 P L AN
3
]
4 27
1
.
。
HVP 层 次结构 ,
其下 包括众多 fe a t u r e , ( 或子计 划 s u bp an l ) 诸如 co de 特性和
fu n c t o
i na l
特性 , fu n ct o na i l
特性又可 以 包含覆盖率组 co ver
gro u p 特性和 断 言
a s se r
t on i 特性 ,
这些特性又通过 对应 的 度量 m etr c i
和源 s o u rce 与数据库 c o ve ra
ge
d at aba s e 连接 ,
完成对应 的 反标功 能
。
M OD
-
e at u e
HV
I r
;
P
|
X
'
(
R )
P l an
;
i
,M
丨
(
,
e as
、
: r c
'
j
^ C co v e r
g
r ou p
J
( A ss e rt on ) i
i
j
j
、
j
’
"
?
5
一
、
、 、
丄
i
, '
、
、 广 m e
、
i nc 、
乂 、
, me nc t
7
、
C .
me n e
t
x
一
o u r ce
^
(
? 一 ? 一
; )
0^ ) C f
U
) S (
o u r ce
)
;
L Li 工
,
— ― [」
―
( C o v e r a ge d ata
A
ba se
i
组 成成 分及 其 联系
36
图4 . 27 H VP 【
】
4 7 3
. .
使 用 HVP 收 集 代 码 覆盖 率 的 步 骤
1 .
生成 XML 格式的计划文件
生 成 XM L 格 式计 划 文件 有 两 种 方 式 是可 以 通过 文件调 用 以 下
一
hv
p
,
命令 H v p ge n x l s
-
l e a
-
p a n oc x h v p
l j .
来 生 成该命令将 生 成 文件 xxx xm . l ,
二是可
以
60
模块验证平 台 搭建
第 四 章 S e r D es
1 p l a ns r a m p l a n
;
2 a t t r i b u t ei n t ege r
p h a s e =
l
;
3 a t t r i b u t er e a l v e r s io n
=
0 . 5
;
4 a t t
' ' *
r i b u t es t r i n g r o o tm o d =
;
5 f e a t u r es i n g l e r ea d s
;
6 me a s u r eG r o u p ,
A s s e r t s n p s
;
" "
7 so u r c e= j
p r o pe r t
y :
¥ { r o o tm o d } r ea d
;
8 e n d mea s u r e
9 e n d f ea t u r e
1 0 f ea t u r es i n g l ew r it e s
;
1 1 me a s u r e G r ou p ,
A s s e r t s n p s
;
"
"
1 2 s o u r c e =
p r o pe r t
y : ¥ {
r oo t mod }
w r i t e
1 3 e n a me a s u r
e
1 4 e n d f e a t u r e
1 5 f e a t u r ea d d r
;
1 6 me a s u r e G r o u ps n p s
;
" M
s
*
1 7 o u r c e =
g
ro u p : a d d rc ov
;
1 8 e n d me a s u re
1 9 e n d f ea t u r e
2 0 fea t u r ec o d e
;
2 1 mea s u r eG ro up ,
A s s e r t s n
p s
;
" ,
s
'
2 2 o u r c e= mo d u l e : s r a m
;
2 3 e n d m e a s u r e
2 4 e n d f ea t u re
2 5e n d p l a n
图4 . 2 8 H V P 文 件 格 式
2 .
验证 与 回 归 。
完 成验证 计划 开 发 之后 , 接 下来开 发 测 试 用 例 , 并行运行所
有测 试用例 回 归
。
3 .
合并覆 盖率 数据 库 。
在 s i m 下 m ak e f
i l e 里运 行 m ak e g e n
_
co v _
r
p
t 生成
。
4 .
覆盖率反标
。
y
r
: ■
/
I
|
Swe va * l ue
c hec k e r c o v er m e a s u re s n
ps . s ou r c
e
hts n s G r ou p
;
g p
,
 ̄
—
一
r
 ̄
級 驟 n論 叫
1
碎 磁 ^細 棚 ■ 球 ?
一 ̄
^
_  ̄
— '
.
夺
: ! :
1
一 ―  ̄
nr : : z
ss a 2 zz z z z z zn
j
> :
y
1 c ov erc f
g
e n c o d e m od e= r 二 ^
-
二
—
—
n
? Kcod e ^
?
2 c o v er 1 2 .
2 56
.
7 祕 -
2 。
:
一
将 D U T V S 出 与 馋 考 没立
?
1
〇 c 〇d e
进行比对 检 盪 擴码 迗 ?
一
果 与觀 的
PL U
'
4 x d s c t r
t xd s s e〇 =
t
p l i
p
一
,
i
[
{ .
r 她 c s jcw
?
樹 r偷
、
犧
DtH
i
# 獅 後 r
3 —
J
1
贫轉
J
,頌 , 一
…
,
U c r os s1 2
啤— ,
,
3
;
广
:
二 , 乂亡 ^
'
二
、
m& m _ 翁 d 饮 ^ L 3
^
、 ,
魏 嘴
—
-
_
I
'二
「 一 . ? —
图4 . 29 反 标 前 的 验 证 文 档
上图 4 29 .
所示为反标 之前 的 验证 文档 , 注意 点如下
,
fe a t u r e
h vpp a ne n c g ro u p o urc e
1 . , l , , s
2 S o u rc e
.
歹 丨
J 编写规贝 I
J
。
针对 c o ver
gro
u
p
:
g
r o up :
*
c
g _
xx x ,
*
为通配符 , cg _
x x x 为想要反标的 c o ve rg r o u p
6
1
西 安 电子科技大 学硕士学位论文
针对
-
c o ve r p o n t i
:
g
r o up :
*
c
g _
xx x c .
p _
x x x c
p ,
_
x x x 为想要反标 的 c o v e r b i n
s
针对 c o ve r b n s i
:
g r o u pb n i :
*
c
g _
xxx c p .
_
xx x b n s . i
_
xx x , b i ns
—
x x x 对应 h i erarc h
y 结 构 的b i ns
。
针对 cro ss
:
g o
r u
p :
*
c
g _
xx x c s .
—
xxx , cs
_
x xx 为相 应 gr o u pF 面的 cr o s s
。
3 .
文件格式 当 前反标 只 支 持 。 X ML 格式 将之前 的 文档 内 容直接复制 到 , XML
so ice
f 打开 XML 文件
。
4 .
反标 。 相 关 文件 准 备好 之后 可 以 进 行 反标 ,
反标命令 如 下
,
"
"
hv
p a nn o
t at e -
l e a p a n -
l . / xxx x m . l
-
d i r . /x x x vd b .
x xx x m . l
为准备好 XM L 格式计划 , vd b 为相应 的覆盖率文件
。
下图 4 . 3 0 所示 为反标完成 的 验证计划
:
—
’ "
- r
J J K M n C
S w <
e i
|
va ue
;
l
;
i
,
c he c k e r c o v er meas u r e ¥ n s s ou r ce : ^
[
p
; g
ht
s n
p s .
G rou p ;
;
’
;
*
; < '
*
? -
?
r
>
i 丁 : f 二 H:::: 二 二 I T
二
1 co ve r cf
g
e n c od e r m o d e =
,
:二
^
'
,
一
b 0 00 0 /4 b0 00 1
.
. ,  ̄ 一 -
4
^ ?
"
、
—
2 c over1 2 | ?
i
Kc od e 2 5 61?
n s与 赛考 卿
.
. |
.
齡ur
—
[
1
4 .
{
tx d .
s
pct r
t .
t xd i s
p
s e l
j
=
-
J
i
2 b 0°
} 减] ?二
" "
,
8 c r os s 1 , 2 ,
3 ;
— —
f
二
图4 . 3 0 反标 完成 的 验 证 计 划
4 8 .
本章 小节
62
第五章 S erD e s 验证结果 分析
第 五 草 S e r D e 验 证 结 果 分 析
s
模 块遍 历 各种 工 作 场 景 本 章 将 结 合 某 几 种 测 试 用 例 的 关键 代 码 以 及 对 应 子 模块
,
5 . 1 测试 用 例 及 仿 真 分 析
基于第 四 章 搭建 的 U VM S erD e s 验 证平 台 ,
本 小 节重 点 介 绍 几个特殊 用 例 的
据流 向 的环 回 测 试及对应 ne ar _
l oop 模块 的 仿 真 波 形 使 用 断 言 完 成 检查 的 、 8b l Ob
5 . 1 . 1 寄 存 器 测 试
第二章提到 了 U V M 具有强大 p h a se 机制 和 o bj e c t o n i
机制 , 所 以为 了 专门针
对寄存 器测 试 预 留 这 空间 这 前的
一 一
了 p re co nf
igure p ha s e p ha s
e
,
_
j p ha s e ,
re s et
_
阶段 完成整个 设计 的 复位 , 而后 面 的 co n f gure
i
_ p
h a se 阶段 , e nv 会利 用 它 调 用
cf
g _
dut( ) 任务完成对寄存器 的配置 ,
所 以 在此阶段 只 要 利 用 o bj e c t i o n 机制 , 通过
rai se
_
o bj e c t i o n 和 dro p _
o bj e c t i o n 的 相 互配合就可 以 在不 影 响 其他功 能 的 前提 下 完
成读 写 测试 。 以 〇 nly
_ p
cS 层 次为例 , 下 面简 要介 绍测试用 例 的 构 造 思路
:
寄存器分 为 P C SJLAN E 和 PC S _
C MN , 由 于 PCS 有 四 条通道 l ane O , 1 , 2
,
3 ,
( de f
i ne )
并预 留 了 名 称 和 通道编 号 ,
优化 了 测 试代 码 的 质 量 , 增 强其 可读性 ,
其关键测 试
代码如 下 图 5 . 1 所示
:
63
西 安 电子 科技大 学 硕士 学位论文
t a sk pr e _
co n f i
gu r e _ p
h a s e( u v m
_ p h a s e p h as e )
uvm
_
r e
g re
gs _ q [¥ ]
;
u vm
j r e
g re
g —
fo r
_
t est
[
4
]
uvm s t a tu s e s t at u s
[
4]
;
_ _
b i t
[
7 0 :
] r d _
d ata[4 ] ,
wt —
d a ta 4
[ ]
;
s tr i ng re
g —
na m e [ 4 ] ,
r eg r i
gh t
[
4]
;
i nt r e
g _
s z [ 4]
P ha s e . r a i se . ob e c t
ion(
j
t h i s
)
;
d e fi n e r e g i s t e r —
t e st
(
m o du l e n a m e, l an e n m n ) \
—
b e g i n 、
’ ' ' ' 、 ' '
P CS RA L —
M O DE L . mo d u e l
—
n am e e [
l a ne
—
n um ]
.
g et _
re
g i s t e rs
(
re g s
q) ;
\
' ' ' '
=
reg
_
s z [
l ane _
num ]
re
g s
_
q .
s i ze〇 ;
\
' ' ' '
for i nt
=
O <re s z I an e num ++ be g n \
( j J g _ [ _
] y )
i
” ' '
=
r eg fo r
—
t est
[
l an e _
num ]
re
g s
q pop
_ b a c k( ) ;
\
— _
' 、 、 ' ' ' '
reg name [
l an e —
rx um
]
=
re
g 一
fo r t e st
f
l an e
一
m m i
]
.
ge t 一
M l
—
n am e ( ) ;
\
' ' ' ' ' ' ' '
g ht [
=
re
g _
r i l an e num ]
re
g _
fo r
_
t e s t[ l ane mam ]
.
g et _
ri
gh t s ( ) ;
\
_
re
p e a t ( 3 ) b e g n \ i
' ’ '
'
s t d : : r a n do m ze ( w t i d ata l a ne t uim
\
—
[ _
]) ;
' ' ' ' ' 、 ’ ' 、 、 ' '
re
g fo r t est l a ne n um
]
. r ea d
(
s t atu s [
l ane nu m ] )
rd d ata [ l an e num
\
—
_
[ 一 _
,
_ — ] ) ;
' ' ' ' ' ' ' ' v y ' '
re fo r te st a ne n um wr
i t e ( st a t u s [ a ne n um wt d at a [ an e num
g _
-
[
l
_
-
]
. l
_
 ̄ ] ), _
 ̄
l
_
 ̄ ] )
;
\
' ' ' 1 ' ' ' '
re
g fo r
_
t es t [ l ane
_
n um ]
.
m i rro r
(
s t a t us [
l an e
_
nu m ] ,
U V M C H EC K _
) ;
\
e n d \
e n d\
end
'
re
g i s ter
—
t e st ( P C S —
L AN E ,
0
)
re
g i s t er
_
t e st ( P C S _
L AN E ,
3
)
re
g i s t er
_
t e st( P C S
_
C MN ,
0)
p h as e d r o p .
_
o bj e c t i on ( t h i s
)
p h as e .
j
um
p ( uvm _
re
p o rt _ p
h a se : :
ge t
() )
;
e n dt a s k p r ec o nf
i g u re j p
:
has e
图5 . 1 寄 存 器 测 试代 码 示 意 图
将 队 列 深 度 寄 存器名 称 寄 存器 例 化全称 类 型 分 别 用 、 , , re
g _
sz 、 re
g _
fo r
_
t e st
、
re
g 一
na m e re g _
r i
g ht 缓存起来 首 次 先 读 寄存器 的 初始 值 随 机化 , , 8 比特数据 w d ata
写入 ,
调用 mirr o r 检测 写入和读 出 是否 同 步 , 共 重 复三 次 , uv m _
c he c k 若不通过
会报 错误 提 示镜像值和 实 际 值 不 相 同 若 都通过 进行 下 个寄存器 的读
一
e rro r 。 ,
写 检验 。 当 4 组 PC S _
L ANE 和 1 组 PC S _
C MN 中 所 有 的 寄 存器都读 写检验 成功
后 直接使 用 p h a s e j u mp 调 到报 告 打 印 阶段结束 仿真 。
图 5 2 .
所 示 为 寄 存 器 测 试对
应子模块 的波形 图
。
64
第五章 SerDes 验证 结果 分析
P 5 |
7 .
?
0 (
V
O QO ,
p
o o
,
;
, , , , |
7
?
5 0
f
〇
q
l
f .
9
3 0
, , , , |
i .
9〇 <
V
〇
q
〇 .
p
〇
i
f n
b
p
t
九 叫 i
匪麵 丨 i n 圆 謂睡 j 丨 i i n 腦顧 醒 _ 酬 刚 i 丨 丨 1 s 』 ! 關 圆 mm 謂社川
i ! 1
o f
g
n ^
r s f
c
丨
!
1
?
 ̄
"  ̄
rL rLr i r L r L r L r u L 厂 l t u lt i
" i
f
 ̄
i
f
i n n ji j L rT n n n n n
_ ji _ _ _ _
_ _ _ _ _
一
c f
g _
v ? U〇 i
I 0
■
I
J j
. J I I |
I
c f
g ^
add c
i
l S0 } |
e S 〇
! :
c f
g j^ a t 3 {
7 〇 i
|
j 0 〇 ^ : ) I
c 〇 l
b 8
\
t
c E
q _
c d o t b P〇 i
i f ^ ^ r
厂 I
|
4 a
j
e o
}
b
0
*
c s ad 3 0 f[
i
f
g t
y f l f ) f ] ( I 1 1 ( I 0 f l f l
^
i
图5 . 2 寄存 器 测 试波形
c f e c f e na b e S
ps
l
g g
, l ,
_
_
cf cf e nab e
g pse g
l l , ,
,
_ _
两种情况 : c f
g _
wr i t e 置为 1
表示 向 对应地址 的 寄 存 器写 入配置 值 c f
g _
w d at a ,
当
置为 表示读取此地址 下 寄 存 器 的 值 图中向某 地址 的 寄存
一
c f wr t e 0 c f
g r dat a
g
i ,
_
_
器 连续进 行读写 操 作 ,
每次 寄存器 的 读出 值与 写入值相 同 , 说 明 寄 存器 读 写 配置
功能正确
。
5 . 1 . 2 近 端 环 回 测 试
近端环 回模式 n e ar
Joop 实现具有 P CS 收 发通 路模 式 的 自 检功 能 ,
接 收侧 的
k
模块可 以通过寄 存器 joop 来 选 择 数 拙 来 源 密存
'
第 级
一
rx sam re c f
gj n e ar
_
p _
g ,
l
器配置 为 1
时 , 接收 的 是直接从 p
cs t x 编 码后 的 数据 而 l l
:
P MA 传输的 数裾 ,
通
过将 t x/ r x 侧 配置镜像 的 d at a _
mo de , 实现 PCS 编 解码逻辑 自 检 , 如图 5 3 .
所示为
近端环 回 模式示 意 阁
。
m a
p
—
H r
— — .
直
_
p
c s
jn c
j
;
|
|
p
cs t
x
rx
_
a l i
g n 丨
丨
tx
_
en c o d e r
i n e a r o o p 1
l
d e co d e i1 x g e a r bo x
rx
_
j
t
 ̄ 一  ̄  ̄ 一
 ̄
rx
_
br
i d ge _
un i t
j tK _ _
bn d ge _
un i
t
msf
丨
’
(
跨时 钟 域
)
图5 . 3 近端环 回场 设示总 阳
65
西 安 电子科技大 学 硕士学位论文
此时 , 定 义在 hsst _
e nv 环境中 的 用 于 TLM 通信部分需要受到 c f
g _
n e ar
_
l oo
p
的 约 束 ,配 置 为 0 时 , 数据流正 常 ; 当 配置为 1
时 ,
r x c he c ke r 功能关断 , env
中传至 t x
_
c hecker 的 act 数据 为 f t x mo n 监测 到 的 输 入数据 而 , e x
p 处为 f
_
r x _
mo n
“ ”
监测 到 的输 出 数据 , env
_
c fg
中 约束 cf
g e n c o d er
_
ni o d e
==
cf
g _
deco d e mo de
使
其编 解码模式相 同 , 由于 n e ar
_
l oo
p 跨越 众 多 模块 , 数据传输途径较长 , 所以在
sc o re bo ard 中的 s c b _
c fg 也 定 义 了 c fg _
n e ar
J o o p 的 酉己 置 ,
若 酉己 置 使 能 , 将会把
f t X m〇 n i t 〇r i fo
f , ,
_ _
进行 比较 。
如图 5 . 4 所示为 8 b l 0 b 模式下 ne ar
_
l oop 子 模 块波 形
。
崎 _ 妇 “每
产
!
: , '
.
.
.
.
. . . . ,
p
*
t *
X
p
二(
-
.
?
丨
一 .
:
1: :
一 一
—
二
,
^
;
A
3 e d2 3 e d2
图5 . 4 8 b l 0 b n ear _
l oop 场景波形 图
d o ut [ 8 7 0 ] h49 c h3 ed2
pcs
: 1 1 ,
_
段 时 间 后 也 出 现 在 输 出 数据 相 对应 的 位置 数据 编 解码功 能 的 致性得到 了 证
一
一
明 。 6 4 b6 6 b 和 1 28b l 3 0b 也都支持 n e ar
jo op 功 能 , 具体测 试方式类似于 8 b l 0b
。
5 . 1 . 3 替 换 场 景 测 试
8 b l 0 b 发生 替 换场景 的 在 发 i d l e 码 K2 8 . 5 / D 1 6 2 .
后输 出 极性不为 负 的 时候
,
若 K2 8 . 5 的输入极性为正 ,
则输 出 极性为负 , 再 经过 D 1 6 2 .
后 极性再 次反转 ,
最
终导致输 出 极性为正 , 与 协议要求不 符合 , 所 以 此时 需要将 D 1 6 2 .
替 换成编 码后
0/ 1 数量相 同 不 存在极性 的 D5 . 6 ,
保证最终 的 输 出 极性为 负 。 在 发送 i d le 码之前
会发
一
组 T/R 码 。 替 换场景 时 序 图 如 下 图 4 3 . 1
所示
:
e l k
d n i )( R / /
(
K2 3 .
7
) X K 2 8 .
5
\ D 1 6 2 .
乂 71 2/ …
? / 2/ e p a ce d
l r l
{ )
—  ̄ — —
—
d i s p n i ^ PO S X P〇 S
\ )( N EG X N EG
…
…
Co nd i t i o nfo r r e p l a c i n
g
 ̄  ̄  ̄
—
{
t x d i s
p _
c t r l
, V 2 '
b 00 2W I Y
'
2 b 00
^ A A
—
x d s se
t
p
i l
_ _
}
d n i re
p
l ac ed D C
/ R/ (
k2 3 7 ) X k 28 5
( D )
5 .
6 )( / I 2/ …
4 / l/
l
(
a ft e r r ep ac l
i ng )
?
1
 ̄
—
d , S
p o ut y PO S N EG Y N E GX N EG
图5 . 5 替换场 景示意 图
66
第五章 S e rDes 验证结果分析
该 替 换场 景 断 言 的形式检查 , 在 f t x
_
se
qu
ence 组件 中 , 确定好发 包的格式
,
因为 8 b l Ob 类型 的 数据格式有 4 种 ,
从小到大 co de
je ng t h 为 1 , 2 , 4 , 8 , 其中
为 表示 只 包含 组 比特有 效 数据 比特控 制
一
co de l e n gt h 1 fd a t a cod e
_
g r o u p ( 8 , 3
字总共 1 6 比特 ) 到达编码模块时 cf
g _
e nc o d e r
_
mo de 配置 为 s i ng l e
_
8b l 0 b 模式
,
i t em ,
即 D 1 6 2 . i t e m t x
_
r d
_
c tr l
[
0]
=
2 b l 0 ;
机 间 隔 多 次封 包 发 送 由 于 没有 固 定 周 期 理论上 替 换场 景 可 以 发 生 在 任 意 情 况 , ,
。
而对于最复杂 的情况 co de
_
l e ngt h 为 8 的情况 , 表示 fd a t a 用 到 了8 8 比特 (
8
X I I 比特 ) 数据 , 经过 t x _ g e ar _
b〇 x 模块 分成高低各 四 组 ,
低 四 组先进到 编 码模
块 , cf
g _
e nc o d e r
_
mo d e 需 要配置为 qua
d
_
8b l 0b
_
mode 四 条通道全部使能 ,
高四组
。 i t em 8 co de _ gro u p , , 8 b l 0
的 场景 没有 限 制 , 这就需要将 D 1 6 . 2 及其控制字 t x _
r d ct r l
的 位置遍历
d at a [ 0 ] ?
d at a [ 7 ] 8 个位置 ,
其他 3 个 code
—
g ro u p 按顺序填 充 。 其 余数据 类 型 处理
方式相 同 。
根据 定 向 发包完成激励生 成和 驱动 工 作 。 之后使用 如 图 4 32 .
所示断
言 验证
:
d ef
in e d i s
p _
r
q } l a ce _
ch k
(
m s t n un i) \
.
'
' ' '
P ro p e d cl i k nst
i ty
i s
p _
re
p ace l
_
i
;
\
k ) \
@ ( p o s ed ge sv a c l
d isa b le i l i
f [
^
sv a _
c lk
_
e ii | |
! h ame s s . U _
PCS 1 3 G _
ENC . u _
8b l 0b )
\
’
,
i f
( {
t x _
d i s
p ch l
[
m ni ] i , tx
_
di sp 一
se】
[
mm i
]
bO 1
} )
\
' '
C \
) \
-
> ## 1 ( h ani e s s . U PC S 1 3 G EN C u .
_
8 b l 0b : ms f .
d i s
p _
o ut
= =
NE G T VE I
\
’ ’ ' '
U G EN C
’
PCS
‘
(
ham es s .
_
1 3
-
. u —
8b l 0b . i n st . d o ut n s d e ( i i h l a5 ,
h2 8 9)) ;
\
en d pr o p ei ty\
' ' ' ' '
' '
a _
d is p _
re
p ac e l
_
c li k _
i n st a s s ert
p r o p e it y ( d i s
p _
re
p l ace
_
c li k iii st )
e l s e\
B eg ii i
X
' ' ' ' '
'
E NC S VA
< t i "
u \in _
erro r C _
_
E i T〇 r \ d i s p
_
re
p l ace
_
chJ c _
ii i s t
)
\
en d \
d s re
p a ce cli k (i i O Sb l Ob s
g e O)
i
p —
l
一 一 —
iii
l
’
c li k ( u
d i sp _
re
p l ace
_
l
_
8b 1 0b _
sin
gl e 0 )
,
di s r ep l a c e c l i k (u 2 8b 1 0b s in e,0 )
p _ _ _
_
gl
d i s
p _
r q ) l a c e _
ch k (u 3
_
8b l 0b _
s in
g ] e , 0 )
图5 . 6 8 b l 0b 替 换场 景 断 言 代 码
其 中 s va
_
c lk 与e nc o d e r 的 工 作 时 钟 连接 , s va
_
c k l 对应 c l k
_
en , x t
_
d s
p i
_
ct r
l
和 t x _
d i s
p _
se l
分 别对应 DUT 的 d i s
p _
c t r l
和 d i s
p _
se l , 由 设计 s
pe c 可知 当 前输入
67
西 安 电 子科技 大 学硕 士 学 位 论文
d i n[7 : 0 ,
1 0
]
当 8 b l 0b 编码模块使能打开时才开启 断 言 , 以当前 co de
_
g ro u p 的 {
t x _
d is
p _
c t r l
,
_ _
}
h2 8 9 (
一
1 , e l k h l a5
别对应 D5 . 6
-
和 D 1 6 2+ . ) , 若 断 言 成立 , 证 明 设 计 符合要求
。
图 5 . 7 ,
图 5 . 8 分别 展示 了 有无 替 换场 景 出 现 的 两种 子 模块仿真波形
。
1
〇
, ,
, ; ,
j
,
,
c ix
)
KV
。
-
d in |
7 0 】
ec ( 0
! h j f
?
I
be畫56!b e
I S O d c 94 厂
I
!
tx
0
di ? c t r l
p 1
;
e
t d i 3
p _
? e l
p 0
1 | | :
ci s
P 〇u t
u〇 ]
2 x
{ t 2
i
j
i j i i i i i
i
nn
r
do u t I
9 D ]
*
c > 2 8 9 j XXX 1
0 I j b9 I 5
d
I J
l ? c =
^ :
l ? c
! j
1 9 c
J
£ f 4
I
cn c d in l
^ j ^ j
[ dc (
〇 nM l 4 f 7 J
4 bc I
I S e
f
1
4b c
j £ 0 d c 1 ^4 j e S f
j
Td l
e r , c di r .
|
4 3 I I
1 0 (
=
?
_
< J i n _
4 b
[
3 :
0 ] N i
-
> U0{ ot tc c
\
0
1
1 0 0 I
1 Q D 0 =
1 0 1 0 =
1 0 1
j
l C l O I
10 1
j
1 1 0 j 1 0
I
1
? _
d i n 6b |
S0 ] -
> m 〇 { x r .
l
6
I
l 6
*
p i * =
1 1 1 1
^1
*
;
l l l S
^
i d l l
I
L 0
?
p
1 j
_
DS 6 0 ;
图 5 . 78 b l 0b 替 换未 发生
, , , I
I O
M OO
T ^ O
, , , , , Tp |
i ,
q
o o
,
o
q
D
l
i s
p
.
〇
-
a di sp c tr L c hk _
u0 _
8b l 0b s i n g l e nv
_ _ _ _
d i n
丨
7 :
0 丨 d c7 1 1 1
I I
d
9 1
f
1 i d
J
f 1
\
b ej5 0 b ef
5 0
b l j \ 3
>
a
\8 aj3 9]c l e a I
>
\
b e
|
3 0
tx
_
di s
p _
ct c l
i
0
tx
_
d i s
p _
8 e l
|
0
j J
d i 3
p _
out U〇 ]
{
2 2 2
I I
1
I I
I
I 2 j 1
J 2 1 I
d 〇u t |
90 } c
-
> 2 8 91 1 S5 a 3 7
^ a 3 aS 3 a8
^ J
c T 1
J
3 6 ^
I
c
j j j J ,
I sS
l
l ? c
f \
l & a
1
2 e < ^
l
^9 I
1 9 l
n^
en c
_
d i n [
4 3 0 ) d c 1 1
1 I
i
-
9 1
f
I
4 f d
l 4 f 7
j
4bc
I
IS O
I
4b c
I
5 〇
jb l 8a | 3 ^
c I
-
1
e a | ! b
e
fl 〇
en c
_
din {
4 3 :
l l 】 〇
u _
dx n _
4b l
3 0 ) U 1
1 _
> n 〇 1 1 00
] 1 0
1 0 I I 1 0 0
f
〇 (
5
1
l i t )
t
l Q ig
]
1 0 1
j l O l Q
] 1 0
1 1 0 D 1 1
1 1 0
| 1
I
1 0
H
?
H p TT
* * * * * * *
u I l i 0 0 0 0 l l l l 0 Q X 〇 ! 0
=
d in b S 〇
丨 -
1 1 1 0 l l ! !
> l !
p O 1 1
〇 l
i
6 >
.
_
! l | : j l ,
\ _
l
i s DS b
0
[ [
图5 . 8 8 b l 0b 发生 替换场景
其 中信号 i s
_
D5 , 6 由 ve rd i
软件 自 带的 l o g c a lo
p ra o n
e t i i
产生 ,
来表 征 设计 是
否 将输 入 的 D 1 6 2 .
替换未 D5 . 6 ,
替 换 完 成 后 的 值保 存 在 内 部 变量 u d hi
_
4b
和
如果 则证
’ ’
u —
d n i
一
6 b 中 ,
{
u —
din
_
4b[3 0] : , u _
d n i
一
6b[5 0] :
}
==
{
4 b0 1 1 0 , 6 b l 0 1 00 1
}
明 发生 了 数据 替换 , 具体设置 如 下 图 5 . 9 所示
。
68
第五章 SerD es 验证结 果 分析
zl
—
—- —
一
-
—
- '
t K / c Sf
t l OW ^ Sf
c i Wr r t
i t o ?
w ?
〇? ! ? ?
;
? 0 ;
- -
,
t > <, l
l 〇 ^
' e *
1
PC S I 3 C C N :
-
?
x Ct S W i
i O ?b l O ?> 1 m C
-
v s o oi cr t
-
u 6 t
?
(
5 <J ! - -
t f
t l o
if
i i i—
—
■
M
—
t
i
?? ? f j
V< m * r
C r
r ? ?
? ! (
> * i xM /
r
j
、 f .
|
*
-
t -
| ! && |
{ <> *
'
* *
< < > > < < < > > > -
)
?
{ >
? = = * > =
< * > *
(
)
gjg ^〇 j ggj^^
i f
j ^B 3 BS 2 3E 5S E3 ES SE S ?E 3BK S BE 23 S 3 E SB3
>
mm v^ v<
? > ? *
2
*
u
*
t m c
f r :
<
mu k f
tQt eno t
-
Oo? e
—
一 — 一
图5 . 9 o g l i ca l o pe r a t o n i
验证替 换场 景
I ,
。
5 . 1 . 4 1 5 8 8 功能测试
cf
g _
t x/ r x _ pt p _
en 来控制 1 5 8 8 时 间 定时功 能 的 开启 和关 断 ,
1 58 8 的 诞 生 时 为 了 角¥
议
■
,
叩 。 〇
t x _
s fd
_
l ag
f 以及 t x _
s fd
_
o fs e t [ 7 0 :
]
分别表 示 当 前 fd a t a
[
1 27 0] :
存在吋 间戳 以 及时 间
农小编码后时 N
'
戳最低 比特位置 ,
输出信号 t x
_
s fd
_
l ag
f _
o 和 t x
_
s fd
_
o f
l se t
_
o [
7 : 0 j
戳存 在 标 志 以 及 位置 , 这 种 精 确 到 比特 的 测 量方法提 升 / 以 人网 的 同步能力 。
K
为标 准 , 即 输入的 t x _
s fd
_
o fs e t 以 1 0 的 倍数 为 标 准变化 而 不 是 1 1 的倍数 , 比如
拉高 fs e 代表 的第 X 比特 至
’
当
=
t x s fd fl a t x s fd o t 7 0] d5 0 fd a t a ( 5 0/ 1 0 1 1 )
g
J
: , (
_ _ _ _ [
( 5 0/ 1 0 X 1 1 + 1 0 ) 比特 即 fd ata [ 6 5 : 5 5
]
被标记 ,
若此时 对应 的 co de
_
g ro u p 的 8
比
特为 则 应该输 出 信 号 找到 并且 j e ng h 为
’ ’
中
’
h fb ,
t o jp ma [ 1 27 0] : h l e4/ h2 1 b , c o de
8 的 数据模 式 ,
t x _ gear _
bo x 拆分成高低 四 组 , c f
g _
e nco d er _
mo de 为 q
u ad 模式
,
所以 fd a t a
[
65 : 5 5
]
对应的第 5 组数据输 出 应对应 t o _ pm a 的第 丨 0 比特到第 1 9 比特
,
此时 值应 为
’
即 t o _ p ma [
1 9 : 1 0
]
, t x _
s fd
_
o fs e t
_
o [
7 : 0] d l O
。
对于不同 的 d at a
_
mo de ,
t x
_
s fd
_
f l ag 的输入 范 围 有所 区 别 , 上文提到的
co de
_
l en
g
t h 为 8 的d a t a
_
mo d e , t x _
s fd
_
o Ts e t l 最大可 以达到 7 0 ,
而对于 c ode
_
l e ngt l
i
为 1
的 d ata
_
m o d e t x ,
_
s fd
_
o fs e t 只 能设置为 0 ,
在 case 中重载 d r i ve r 组件将时 间
戳相 关输入 驱动 给 D UT , ,
h
69
西 安 电子科技大 学 硕士学 位 论文
种 作 为输 出 米样 吋 钟 以输 出 信号 的拉 高
?
k fd
co de ro
p p m a c x o
u t s f a
g
l t
g
l
, ,
_ _ _ _
_
其关键代码 如 图 5 . 1 0 所示
:
d ef n i et x 1 5 8 8
)
m ac _
s fd c h ec k m o d e (c l k
,
f l a
g o f fs e t d
, ,
at a ,
s u bmo d u ! eJ an e )
\
' 、 ' ' 、 ’ '
b Ob ma c s fd c h e c k ubni o d du ch ne
p r op e rt
y f t x l 5 8 8
_
8 1
」 s l e l a ;
\
b i t
[
1 27
o
: 0 ]
l c d a t a ,
l o cd a t a d ;
\
b i t
[
1 9 : 0
oc da 20]
l t a ;
\
b i t
[
3 9 : 0
oc da 40
]
l t a ;
\
i n t l oc o ffs e t ;
、
' 、 ’ '
@ ( p os e d g e c l k )
\
d i
sa b l e i ff s v a l 5 8 8 8 b l 0 b !
=
1
)
\
' ' ' '
' ' '
=
¥ro s e f a l oc o f fs e t o ffs e t ## 1
\
g
l
( ( ) ,
_
)
' ' ' '
'
=
l l oc d a t a ¥ pa s t d at a 2 ## 1
\
( ,
_
( ,
) )
oc d a a 2 0
=:
oc da a 0+ 2 0 J oc d at a 40
=
o c d ata 0 + 40 > \
C
-
l l t l t l :
)
:
,
_
[ ] _ [ ] |
' ' ' '
= =
i f
(
sv a t x d at a mod e
[
l an e
]
1
)
\
_ _
' 4
= =
o ffs e t + e4 o c o ffs e t +
=
oc da t a 2 0 l oc l 0 h l l d ata 20 l oc l 〇 h2 1 b
\
l
: :
[ _
] |
_
[ ] ;
' ' ' '
==
e l se i f
(
s va t x data mod e
[
l an e ]
3
)
\
'
= =
4
ffs e t + e4 o ffs e t +
=
l oc d ata 40 l oc o : 1 0
h l
l oc d at a 40
[
l oc : 1 0] h2 1 b
\
[ _
] |
|
_ _
;
en d p r o p e r t y \
' ' ' ' ' 、 、
a t x 1 58 8 8 b l 0 bm a c
—
s fd
_
c h ec k
」 s ubmodu l e
_
ch l an e : a s s e rt
p
r o p er t y 、
' ' ' ' ' ' ' '
f t x l 58 8 8 b1 0b m ac s fd c h ec k s u bmo d u e l c h l an e e l s e
\
( _ _ _ _
)
'
“ “
FD C HE C K
’ ’
u vm err o r
(
l 58 8 S ,
f t x l 5 8 8 8b 1 0 b m ac s fd c h e ck
\
_ — _
' ' ' ' '
' ' '
’ ’
s u bm od u l e c h l ane fa i l
)
;
t x 1 5 88 m ac s fd c he c k m o d e(
_ _
S VA PC S TO P u .
_
t o
p p c s ch a n ne l
_
0 u .
_
t o p t x ch ann e l .
pm a t c l
k
'
S VA PC S
TO P u」 o p .
—
p
c s ch a n n e
1
—
0 u ? t op
_
t x _
chan n e
l ?
t x
_
s fd
f a l
g o
,
S
VA PC S TO P ?
u
」o p p c s
_
ch a nne 1
—
0 . u
」 o
p t x
—
c ha nne
l . t x s fd
o ffs e
t o
,
S VA PC S T〇 P . u t o p p c s c h a n ne l O u .
t o p t x c han n e l .
t o —
pma
,
_
t o p
m a, 0
_
)
图5 . 1 0 8 b l 0 b 1 5 88 测试代码
r
’
—
aff
c 1 I
u \
t il
j
如 i 4 招r ^
 ̄ ' * —
C
-
> 5&
5
|
I 0
-
> 1
1
t x _
X S 6?
_
8& J
_
ef ?v
_
说8 紀 啟 , .
? 切 j SV
| 1
| I I
X
1
;
i i 1
i
i
 ̄  ̄  ̄  ̄
 ̄  ̄
 ̄  ̄  ̄  ̄  ̄  ̄  ̄  ̄  ̄  ̄  ̄  ̄
_,认 言 G
—
j l i L J - 1
; ; i !
 ̄  ̄  ̄  ̄
i
 ̄ ̄  ̄  ̄
f
i
 ̄  ̄
i L
p i ? ? 1
1 ? ?
1
I
f
 ̄ ?
 ̄
l i j
—
?v *
_
i s 拥 你 一
4 i ;
I 0 _ J j {
cx
_
s l d
_
o f f s e t
_
e
}
? l
f ] 2G I j
i t
)
^
 ̄  ̄ -
一
" ' — ? —  ̄  ̄  ̄ — ' - - ? —
tc _ p
?? j
i 9 l s i ;
i 9s *
■
>
! t f i y t
T
c
;
"
i
si c
p
厂游 厂 促
v
*
_
* ? ? & -
J f3
5 ; ; 3
图5 . 1 1 1 5 8 8 测 试波形 图
70
第五 章 Ser Des 验证结果分析
通过波形 分析可知 当 拉高 fs e 为
’
t x s fd fl ag t x s fd o t d50 fd a t a 65 : 5 5
, , ,
_ _ _ _ [
]
为 此时 观 察输 出 信 号 拉高 时 fs e 为 对应
’
h fb ,
t x
_
s fd fl ag
_
o t x _
s fd
_
o t
_
o [
7 : 0] 1 0 ,
的 也为 与预期 结果 致
’
一
h e4
pm
t o a 1 9 : 1 0 l ,
。
_
[ ]
5 2
.
仿 真打 印 信 息 分析
以 on y l
_
pcs 的 寄存器测 试为例 , 在 s i m 目 录下 执 行 m ak er u nt c
=
t c
_
xx x 命令
后 ,
打印 出如图 5 . 1 2 所示信 息 :
—
U WR e p o r tS u mma r y
—
Q u i tc o u n t : 0o f 1 6 06
*
Re p o r t c o u nt s *
b ys e v e r i t
y
U VH
?
I N F 0 : 1 2 6 3
U V M WA R N I N G : ?
l i VM E KR O R : 0
U VM
:
「 AT A L : 0
Re p o r t c oun t s b yi d
I
DA I AF LU S H ) 2
I
MA X QU I TSET 1
1
(
RN TS T ]
1
1
T _T SE T
1
】
1
I
b U dp h a s 旮 8
t i
】
1
bu l d pha s e 95
i
—
]
i
c o n nec t
p h a s e 2 4
_
1
r
h a ne s s 2 0r
]
I
p c s 4 t xc f g j
j
p g 8
f mo n ]
I
po
r e e p h a s e
s t
_
s t
]
1
h d e ? 2
I
G
fj on
j r
g
re
j
f i i j
_
) s
j
( p re re et ph
a e 74_
s
_
s |
l
re e
p h a s e 9
s
t )
1
run ha e 969
s
f
p ]
I
r un _
p
ha s e l 1 1
r
r u n _ ph
a s e 2 1
l
1
1 1
p c s i e
g
s ?n l t
y _
t ? ? s t j
1
|
u vm t es t .
_
t op . env . h s s t _
e n v . a pb a g t 1
1
"
ht a ed r omf i e 〇t h o m? / oo / n a v c s / 0 G 2 0 Q
-
-
s ^ l
y s /
¥ f i n 3
*
l s 2
i i l f
/ c> t l ! i
y p .
s o nt me 4 6 2 3 9 9
*
Sf in i sh i mu l a t i i > 0000 0
i V CS S ! i m u l a t i o n R e p o t i
T i me : 4 62 3 99 5 0 0 G G Of s t c
pc s i e
g
s ^ n i t
y
t e s t
-
s e ed = 1 63 3 9s i m . l o
q
_
C P UT i f i? o : 1 4 4 9 .
2 2 0 s o r on d s ; D ^ t as t r u c t u r es i z e : 1 6 . 7Mb
图5 . 1 2 b t 寄存器测试 丨 og 信息图
uvm
Qu i t c o u nt ,
_
erro r
,
仿 真 将 会 提前 截止 这 阈 值 正 在 的 阶 段通 过
一
base
, t e st
_
re
p o rt _
p h ase
e rr nu m
=
s er v e r ge t .
_
s e ve r i t
y _
co unt ( UVM —
E RR O R ) 设 置 除 了 u v m ,
—
err o r 宏 之外
,
从 l og 信息 中 还可 以看到 uvm
_
i n fo 的 内容 , u vm
」 n fo 宏 与 ve r i l og 的 d i s
p ay l
类似
,
d s a
p y
i l , , ,
“ ”
示 信 息 的归类 如图 中 中的 即 的第
一
丨 o
g ,
5 . 1
[ pg _
f
_
mo n] pg _
f
_
mo n uvm
_
i n fo
个参数 , 第 二 个参数表示 打 印 的 内 容 ,
第三个参数为打 印 的冗余级
。
定义 p yt
ho n 脚本 t c .
j
s on , 完成 c ase 名称 ,
回 归次数 ,
仿 真选项 的 定 义 ,
执
行 mak e f e i l
脚本 M ak e r un r e
gr 将 t c .
j
so n 转换 为 仿真命 令 并逐项仿真 ,
仿真的每
个 c as e 的 l og 信 息 定 义在 t c 目 录下 ,
名 称为 t c
_
_
xxx _
t e st
-
r x x x( 种子号 ) . l og ,
戶万
有仿真结 束后 ,
调用 m ake _
ge n _
s i m _
r
p
t
脚本 , 通过 gre p 命 令搜索 t c 丨
、
l og 关键
7
1
西 安 电子科技 大 学 硕 士 学位 论 文
“ ”
词 C A S E PA S S , 若 搜 索 到 此 关 键 词 脚 本会将 对应 的 , ca se 归入 s i m u at o n
l i
p
as s e d
i P C SR e g r e s
! S !
!
?
s i o n R e g r e s s i o nS u m m a r y
i R e v i s i o n
! !
i ! i
: v l .
G
! T i me 2 0 2 2
i ! { ! 1
:
-
1
-
1 7 1 5 4 2
:
To t a l c a s e s G
:
E x e c u t e dc a s e s : 2 6 0
P a s sc a s e s : 2 G 0
S i m u l a t i o nF a i lc a s e s : 0
T h ef o l l owin c a s e s s i mu l a t io n
p a s s ed
g
:
/ l 〇g s / t c 8 b l 0 b e r ro r i n s e r t e 5 1 2 7 s im o
-
t s t r . l
g
.
_
_ _ _
/ I 〇g s /t c 32 b it 1 28 b l 3 0 b a n it te t r 24 188 s im l o
-
s s
y
g
. .
_ _ _
/ l 〇g s / t c 64 b it
_
1 28 b l 3 0 b mode l
_
s a n i t
y _
t e s t
-
r l 7 5 5Q
_
s i m . l o
g
o s / t c 1 6 b i t 64 b 67b s ani t t e t r2 6 9 5 2 s im l o
-
/ l s
g
.
y
g
.
c r l
g
. .
_
_ _ _ _
/ l og s / t c 64 b it 64b 6 7 b s a n i t t e t rl l G 09 s im l o
-
s
y
g
. .
/ l o g s / tc 32 b i t 64 b 66 b s ani t t e s t
-
r22 89 3 s im l o
y
g
. .
_ _ _ _ _
/ l 〇 g s /t c 32 b it 64 b6 7b s a n i t t e t r l0 7 7 1 s im l o
-
s
y
g
. .
_
_ _ _ _
/ l og s / t c 8b l 0b d i s c t r l i n c l u d e r e l a c e t e s t
-
r ! 8944 s i m l o
p p
g
,
.
_ _ _ _
_
/ l og s / t c 32 b it xa u i 6 4 b66b sa n i t e s t r 24 07 5 s i m o
-
t l
y
g
. .
_ _ _ _ _ _
/ l 〇 s /t c ua d 8 b l 0 b s a n i t t e s t
-
r 967 1 s i m l o
g q y
. .
_ _ _ _ _
g
/ l 〇g s / t c 64b i t 1 28 b l 3 0b mod e G s a n i t t e s t
-
r 2 03 7 2 s i m l o
y
g
.
.
_ _ _ _ _
/ l og s / t c 32 b it 1 2 8 b l 3 0 b mo d G G s a n i t t e s t
-
r 2 83 1 3 s i m l og
y
.
.
_ _
/ I og s /t c 32 b it 128 b l 3 0 b mo d e l a n it te s t 24 8 1 9 m o
-
s r s i l
y
g
.
.
_ _ _
/ I o g s /t c 32 bit 128 b 3 0 b f s m o ve te s t r 7 6 85 s i m o
-
l c r l
g
. .
_ _ _ _ _
/ I o g s/ t c 1 6 b i t 1 2 8b l 30 b mo de l s a n i t t e s t
-
r2 1 329 s i m l og
y
. .
_
_
/ l og s /t c 16 b i t 64 b66 b s a n i t t e s t
-
r 2 6 1 67 s im l o
y
.
g
.
_
_ _ _ _
/ I og s / t c dua l 8 b 0b a n i t t e s t 29 3 1 s i m l o
-
l s r
y
g
. .
_ _ _
/ l og s / t c 64 b it 64b6 6b s a n i t t e s t 6 98 s i m l o
-
r l 1
y
g
. .
_ _
_
/ \ o / t c 8b Gb e o in se rt t e s t r2 4 7 95 s im og
gs
-
l r r r l
. .
_ _ _
_
/ I og s /t c 8 b l 0b e ro i n s e r t e s t r l 9 0 7 7 s i m og
-
r r t l
. .
/ l 〇g s/t 8 b l G b e ro i n e rt te s t 2 2 4 1 8 s i m o
-
c r r s r l
g
, .
_ _ _ _ _
/ I o g s /t c 8b l0b d is ct r l i n cl ude e l a c e t e s t r l Q5 2 m l o
-
r 3 s i
p
g
p
. .
_ _ _ _ _
/ I o g s / t c 8 b l 0b e r r o r i n s e rt t e s t
-
r 375 2 s im l o
g
. .
_ _ _ _
r l9 19 5 s i m lo
g
. .
_ _
图5 . 1 3 正 常 数据 通路 回 归 结 果
在 不 断 回 归 发现错 误 ,
设计更 正 , 上传版本 , 再 次 回 归 这样 不 断 迭 代 的 过程
中 ,
最终实现缺陷 收敛 , 图 中 展示的是 8 b l 0b , 6 4 b6 6 b , 1 28 b l 3 0 b 三种 编 解码模
式的 c ase 回 归 结 果共 20 0 个且 回 归 全部 p as s , 验证质 量得 到 保证
。
5 3
.
代 码 覆 盖率分析
由 于 本 次设计平 台 采 用 分层 次验证 ,
所 以 覆 盖 率 也 采 用 层 次 化 收集 的 方式
,
以 下 展 示 了 不 同 层 次 的 代 码 覆盖率 收集情 况 ,
图 5 . 1 4 展示 发送侧 编 码 模块作 为
设计顶层 的 代码覆盖率
。
72
第五章 S e rDe s 验证结 果 分析
wa v e i
之前
A s
-
4 ^ ^ V
? f
c aric Sc v t U < v e F S M C wtw? e* R
" ?
0^5 ^ GS级3 %
r
E SE 3 切 寺奶 o w r g
^
> ? c
c a
m
*
^ y
^ 4
-
-
r >
i c
〇 ^ i
s
v i j
mt e K ESS S S3 S^ M 〇g ^ £ a ”
-
0〇 〇 〇〇
、
?
t <
S
-
i
I ? E > !
<
: . < ?
{ S S
扣 : 沘 * s r 核 ? ee 、 ^i2% mmr^n
馨、 US b ! 5S T { " 从 该 艾倒 i oo OQ
'
-
I CO 00
?
<
r^S ^g l * 4 S ”
、
爹' i
Mw、 6 4 J ? 6 ? * .
r
>
S幽 9 I 3 .
o
t <
B* ^ l
?0 W 1 00 納
^mm ^s ga ^
*
^ a
r
< t fv t
> * 7 r ,
1 00 s x ^ g
>
-
? *
;
w w ?^ < a *
-
?
i 5 〇 y i a j t r
cp
! t ; a
國U ^B B BB 3 f
- -
,
.
, 4 ^ K t 4 I
S K L g i aB? m 30 M V
S J
wa ve i
之后
' '
- - ?
?
一
*
r
r r
…
y
Su m / □
-
y
P
s
_
j
H C ^ F
-
e my Mw * t % S R
t t i
s c
f c *
*
|
dm
!
i
?
Sc? *
* L ? y? P S M Cr !
S H? ? ? ?B S wx r
j
R A s s et s
? ■
g W T Vfs j 懸麵 W ? . t m翻 y 9 ? f
E S ^ S 3 ^^ ^ 3 1 0 0 00 ^
^^ ^ 1 T
O S 1 % V9
/ ?
■
>
,
;f :
?
mmm 6 & ^_ s 级 沉 的 恥 m^^ s rm vx m \
'
U 〇 〇
'
'
g:
? . .
P f
c i
e r>
i c t , '
s
^
'
* ? , ^ *b f . u :
j ,
7 〇 g^ e 兹 : . 〇〇 〇 ; K y^ i : :
^
< ?
o< .
E£ S2 3 l oo se r w vam a ioo i i oo ^
::
£^ 驗S i n 3¥ ^ ? mr ^M nmr^
mr
-
^s y3 〇 ^
-
- i
-
. . :
£
i uo j oc 1 00 00 %
g 嫌sa 概挪xc 滅 i ^ v o
' -
^o k
-
ov so ny s
g c
a
-
>
? ? v ; : i > \ < i < i
■
> E^3 4 ? ?
-
?
* OG
'
K
?
wT M ff 7
gr OC
*
? f
:
j
l ! ! ?
:
mm E^ 31 ^msa m r ^ m ms m a
'
C^
*
-
-
tr ?
- -
r r r ? w r S 0 C C<
-
C /
.
j J v <3 ^
t
.
^ ? ? ?? Oi M f M W^
-
i . < ( <
I
i 〇 J .
图5 . 1 4 编 码 模 块 代码 覆 盖 率
8 b ] 0b 模式下 , uO
_
8b l Ob s i n
g
l e 到 u3 _
8b l 0b
_
s i ng e l
四 条 通道 的 数据 相 互 独
立 , 行覆盖率及条件覆 盖率达到 99 04 . % ,
翻转 覆盖率达到 93 . 8 8 % ,
条 件覆 盖率
97 02 . % , 整体覆盖率为 96 9 . 1 % 。 其 中 翻转 覆 盖率无法达到 丨 00 % 的原因是由于
8b l 0b , 2 b l O 2 b l l
,
, 1 ,
特 的 翻 转情况 。 6 4 b6 6 b 模式下覆盖率 为 98 3 6 .
% , 1 28b l 3 0b 模式 K 状 态 机覆盖 率
达到 1 00 % , 行覆盖率为 93 24% .
,
覆盖率达到 9 6 64% . 。 wa ve i
后均达到 1 00%
PCS 作 为 设计 顶 层 的 代码 覆 盖 率 如 图 5 . 1 5 所示
。
N am e S c ore L i
ne 1 〇〇 〇 < 1
F S M Co na bon B r anc h A s se r
t
: …
— —
- -
g j
na r r ^ s I 二 1 i O O QO^
I : 二 H 00 .
0 ( yx r I 1 00 0〇 v ;
| 1 : O O QQ
-
t
f f 1 i 00 00
<
U 1 1 00 . 0 0^ 1
)
P CS 1 0 0 o ^ 1 E w7 U CK 0 0 00 OO
〇
; ! . 1 . ; : . E ^ ; : : j l i l
.
j . .
[I ZZi Si 1 0 EU ^1 r w, *
?
°
〇〇 OO O Ov 00 0 0% > a
r g l f
l P & on i
f c o mm o n 0 ' 0 0 00 00 00
X
?
c l
-
1
g f t
. t 1 .
_
oof
i
■ ■
0 0 00
*
a p b i q c 2 1 0 C 1 〇 1 1 (
>
C V 00
X
卜
: ;
1 i
1
t 3
:
SS H 3 a 醒 ■翔 00 0 0 色m ^
'
cp 0 00 00 0 0 〇0 00%
g pb 〇r 0 〇 00
-
a
-
/ 1
l _
c . f ?
g _
t
E 2 1 1 ] 1 1
「 £ l
u m aC
T 〇 t c l
、 se i f : : : : : X S^ 1 0 0 C KT -
t d麵 1 00 0 0 >
ES ZE 3 l 〇〇 〇 £ m 陽■減 1 00 0 0
%
g x e n QO O a A r^^ 00 0 0^ 00%
-
i u m ac r o t
se ! I t 1 1 0 0
l
l
g D薄 oo o o^ ^S S3 〇 〇 〇 〇 ? n mmm
*
5e 二
氕
?
p 〇? o 〇 〇 〇
c ! 00 00
? ■
u
j ) k i i i
.
i
l
_
_
d 0 ^j ^f ^ 00 0 〇 > OO O CHt 探凝 _ 00 %
g u pm a k c 0 l 00
-
t i j t , I ! 1
f j _
_ _ _
m 网 i oo o o% 驟
j
k se o um oo o k 〇〇
%
,
g ] u pm a i c i i i r : :
l c i . c r i 〇〇
Mf
ea 1 0 0 00 ^
*
■課 殺關 00 0 0 00 00% 赚 滅 物 00^
=
pm
se 1 4T 1
卜 u a t e l k
_
i 2 L i i . 1 〈 1 00
p r r ut d k ie j 0 0 0 0^ B MS 8ai 0 0 0 0^ P O OOT 讓 靈國 〇〇 〇0 >
- -
u l
j
| §3
l i 3
.
3 :
c 】
MM 枚 滅麵
g d O O t
f 00 0 0^ 1 00 0 i
V
-
u p rn a t J i en s 0 i C Q 1 E < ; 1 00 00
j l
_
h @ u pm ' u en s e 4
l 麵 1 00 0 的 隐 峨_3 1 00 ( m 1 Q Q 0 0V
j
-
g j
u pm a
_
u en s e <
2 防 忽 爾狡 > 1 0 0 0 0 ^ 眩 现臟 ^.
1 00 0 0,
.
:
隨驗翻 1 00 00^ I 1 00 00
^
u pm a t x cn % ci 3 f ! 0 1
1 00
j ]
? ?n O n^ 獅 Q O ^ ^^^ 00 0 y >
1 00 0 0^ 淡 H MH 0 0 00 % 〇0>
 ̄
u r sr t
p c s r
sy nc T 1 Ci 1 1 ( : l i 1 1 00
_
" " "
寸
"
1 00
*
T ] 00 00 〇 <?
"
T 00 0 0 00 4
 ̄
u n em o ve
iD
f pc s 〇 ct r 1 F j 00
l
t
t i I
1 1
_
_
h& 忍i E 3I 3 3 ^ r r^
^
00 0 0 %
‘
^
u t c l k 2 P 〇e -
m u* o o oo
i oo o o i 1 1 0 0 00%
-
H 獅 00 ^ ? ^^ 00 0 0 孩咬爾?3
°
u c k 2 p de d v n vo x -
0 1 00 0 0% 00 00>
卜g
t i f 1 1 . 1
l
} _ _
關遞 綱 經 S 巡3 Bggg a 1 K Fa a C O3 l
"
00 O T
?
op har y 0 00 0 0 〇〇 〇〇 00 Qy 0 0 00 > 〇0 00>
gl
u t p c s c r
:
1
C
1
1 g . i 1 1
|
l
_ _ _
漆 初 W 00 「經 織 F F f邐 E EZ EI
"
g 00 00 00 Of
'
0 0 0
■
〇 0 0〇
*
u op an e 0 1 T 00 ?
-
t p c i c r l 1 J
- 1 , 00
-
i
r v l ?
1 : ' . 1
I
3 _
W T 哪撕洲
&
.
謂 1 00 ^Ba
*
h an ne 2 00 0 0 O O 0〇s BT
‘
u t op p c s c 1 0 0 1 00 ■
i 1 0 0 00> OO OOS
f
l
l
i
5
^ T^ l
*
^ u t 〇 P P C S cn ar ne 3 R? q 1 00 00 E E3S SS S 1 00 0 0 1 00 0C
图5 . 1 5 PC S 模 块 代 码 覆 盏 率
7 3
西 安 电子科技大 学 硕士 学位论文
分析 。
但从与 设计 的 分析结 果来看 , 分为 几大类
:
( 1 ) 缺省 类
。
比如使用 c as e 条 件 分支 时 缺 少 d e fa u l t
情况 , 或者使用 i f 条件时 m i s s i n ge ] s
e
( 2 ) 互斥类
。
&b&c 当前 为 时 执行第 个 语句
执
一
e n de l s ei f a be g n i . . e nd 。
a b c 1 1 1 ,
be g i n 。
)
! .
(
行 完 毕 后 直接 调 至 下 语句 块 而 的 覆 盖率 统计会将
为
"
ei f
一
"
t , e ls c o nd i t i on abc
1 1 1 统计在 结果 中 ,
使得永远无法覆 盖掉 , 这种 情况设计人 员 可 以 简化语句 规避
此类情 况 但 可 能 在 代 码 可 观 性上 受 到 影 响 验 证人 员 也 可 在 具 体 分 析 后 ,
。 w a ve i
。
( 3 ) 配置类
如 诸 如 地址信 号 a d dr
[
3 1 : 28 ]
某 些 比 特 的 翻 转 无法 覆 盖 的 情 况 是 因 为 这 类 属
,
要验证人员 结合 s
pe c 分析是 否合 理 以 免有验证 疏漏
。
5 4 .
功 能 覆 盖 率 分析
ut 层 次 的 功能覆盖率如 图 5 . 1 6 所示 , 以 c o ve r
g ro u p 为基本单 元 , 包括 了 状
态 机 跳转 覆 盖组 cg c o v fs m ,
编码 模 式 组 cg
_
e nc
_
mo d e 。
检验 8 b l 0b 的 256 组
D
码 以及 1 4 组 K 码是 否均有覆盖 的 覆盖组 c
g _
rd
_
s t a ,
检验 64b6 6 b 是否 t x _
s e
q
都
有遍历 的 覆盖 组 c
g t xq
_
64b6 6 b 等 ,
都 达 到 了 ] 00 %覆盖
。
G r ou p S c or e I n st a n c e s U + C U C X
'
—
—"
? Ca¥ u n i
t : : e n cf c o vm o c eh
f r
c qc o vf s m 厂 11 0 0 0 0% 1 C G 1 C C
- w —
—
一 一
? -
¥u n ; t : : e n cf c o vm o c e
t l
: : c ge a n dh ea d e
t
r 「 11 00 0 0% 4 7 6 C 4 7 6 C
…
"
?
Cc ¥ u n r e nc
_
f c ov
_
mo ^ i :
: c g _
e n c
_
rn o d e I ] 1 00 0 0 % 5 3 8 4 C 5 3 S 4 C
?
¥ u n !
t : :
e n cf c o v
j r 〇
i
c e
f ! : :
c gj
n t
_
s r a F r
:
:
I C O: A C 4 C
+
?
纖
¥ i m i t : : e nc
_
f o> v 一
mo < e
f i : :
cg
_
r c J
_
va ue J 險 禮編 1 00 . 00% 8 6 C 8 6 0
? Ca ¥ u n i
t : : e nc
_
f co v
_
m o de } : ; cg
_
t xq
_
6 4 b 6 6 b i ! r l O O DO V. * 44C C 4 4 G C
图5 .
1 6 ut 级 功 能覆 盖率
i t 层 次功 能覆 盖率如 图 5 . 1 7 所示 ,
发送侧 接 收侧 侧 的 时钟 模式 覆 盖组
cf
_
hs st
_
c l k _
mo de _
t x/ r x , 近端环 回 工作模式 的覆盖组 c
gj p c s _
ne arn d _
cf
g _
l o o p bac k
,
远端环 回 工作模式覆盖组 cf
g _ p
c s
_
fa r
_
c f
g _
l o o p b ac k , 电气空 闲 使能覆盖组
74
第 五章 S e rD es 验证 结果 分 析
c
g h s st e i ,
pr bs 功能覆盖组 c
g p ma sr am , AP B 重 载 功 能 覆 盖 组 cg _
_
usr
_
_
ap b
_
re l o ad
等 , 均达到 1 00 %覆 盖
。
G r ou p ¥ ( or e n s t a nc e U C U C X
-
-
I s h
S
°
+
S u n t t : ns s i
_
f £ 〇v
_
f n ode l :
:
c
g _
cc s
_
r e c1 g 1 0 Q 0 0 4 1 0 1
0
?
^u r> ?
t h s sifc o v m od e l :
e ge kd H l
q nt x r x 1 0 0 00 St 4 6 0 4 £ 3 4
+
?
S u n s
t ^ s s t
_
f co v _
m ode i :
; c g _
f> 5s t
_
dk _
m oc e i
_
f X 1 0Q00 % 3 02 03 0 2 】
9
?
S u^ t : :
f s s s tfc o v m od e ! e ghs s t c t k m o d e Xx ■祕劍 1 00 00 % 3 0 2 03 0 2 1 9
e
-
*
? t : t ^ s s tf l :
e s t i 1 .
2 2
l u n t n s ! ,
t
_
f c o v
_
m ode l : :
c g _
mo d£
_
c h a n 9e _
h < 2
phy 1 00 .
0 0 % 2 6 C 2 6 5
Cf
t S u n ;
t : h s s t fco v m ode l : : c o m o de c h a n ge so f t u^v 找i t : s ^ 1 0 000 % 3 3 C 3 3 2 -
4
I
懿
°
+
s u rn t h s i t
j e o v m od e i :
: c g jK i e
_
hd _
s of t
j y h y mmmmm 1 0 0 0 0 .
/< 1 0 0 1 0 0
C G S BBBM ! 〇 〇
'
+ u n J
t h s s t f c o v m ode C Q l :
_
pc
:
e
_
h :
; .
f
〇 〇 < 1 6G C 1 60 0
+ S u n h o v m od e n d cf q o o pba b媒 疯 细 1 0 0 Q 0 X 9 C 9 ( 3
*
l t . s stf c l
:
c 〇pc s fa re
一
j
c ^
I
>
i
.
繇
S u n ! t : : h s s t
_
f c ov _
m ode l : c
9 j3 c s
_
f a re nd
_
p 〇r t
」
oo p t>d _ 々 4 钱纖
-
1 0Q 0 0 V 9 0 90
+
^ S u rw h ss co v m ode ne e nd g J o op b 0 0 0 0 % C 9 C
-
c s
c
p < c 9
f f 1
t
g
i r
.
t :
i
_ _ _
_ _
?
S t i r? t ;
, hs s t / co v m od e l .
; c opc s / ve a r e n d p or t oo p
l
1 0 0 00 % 90 90
鎌 00 0 0 4 C 7 0
°
+
S i m i t : : :
hs s t f co v m o de r :
c g p m a 」 o o p bf
l cf
c 1 7
_ _ _
?
^
,
S u ru t : h s s t f co v m od e l : c <2 p m a o w s pe e d b y p a ss H 纖
l 涵1 0 0 0 0% 1 G 0
1
? S un i t : :
h s s t f co v m ode l : c qpm apr b s 贼 纖■ 1 0 0 '
0 0% 14 C 1 4 1
5
?
— u h co v m ode m s ra m _ 趣1 錄 邋 1 0 0 00 % 0 2 0
■
M t ss
S c
gj >
r :
t f i : :
a 2
_
_
+
^ un h ov ? ode c g
pm a x be a o n r游 輕細 1 0 0 0 0 % 〇 l 〇
-
S i
t : : s s t f c f i
t c
i
_ _ _
^ _
?
S u n s t : :
h s s t f c o v m ode t :
c i d ge
〇r xbr f t f o 1 0 0 00 % 29 C 2 9 0
?
¥ u n hs o v m oct
e e gu s a pbr e o a d 00 00 % Q 1 0
-
!
t :
: s t fc f r l 1 .
1
图 5 n . i t 级 功 能覆盖率统 计
5 5 .
本章 小 结
本章 对 典 型 的 几个测 试用 例 如 寄 存 器 测 试 ,
环M测试 ,
替换场景测 试 ,
1 5 88
, 。 ca se
结束打印 出 的 l og 倍息 , 以 及 如 何 使 用 脚 本 批量 回 !
L 丨
并打 印 回 归报告 。 通过不 断
wa ve i
分析 后 代码覆 盖率达 到 1 00 % ,
对 wa v e i
的 原 因 进行分类并解释 , 最终达
7 5
西 安 电 子科技 大 学 硕 士 学 位 论文
76
第六 章 总结与展望
第六章 总结与 展望
6 . 1 总结
种 复杂 激励 , 成为 当 今验证方法学 的 主流 。
本文验证 的 S erD e s 模块作 为 实 习 公
司 的 高速 串 行传 输 的 物 理层 模块 兼 容 了 多 种 配置 设 计代 码 体量 大 功 能 复 杂 ,
, ,
。
建 S er D e s 的 UV M 验证平 台 框架 。 主要工作有 如 下 几 点
:
1 .
对 UVM 的 结 构 组件 以 及 各种 机制 展 开 了 深 入研 宄 :
首先从 U VM 最常见
件 的 原 理和 功 能 深入 分析 了 , UV M 的 几个 主 要 的 运 行机制 具 体 有 ,
p has e 机理
、
o bj e c t o n se
q u e nc e fa c t o r
y
i 、 、 。
理论支撑
。
2 .
通过对 l Gb / 1 0 G bE t he r n e t 、 P C Ie xp r e s s ( GEN3 及 以上 ) 物理层协议 的 深
。 ,
块 、 跨时钟域子模块 、 数据 整形子模块 以 及 同 步 子 模块 等 模块 。 在 此基 础 上 ,
提
取 S er D es 各 模块 待 测 功 能 点 , 制 定 出 相 应 的验证计划
。
3 .
基于 UVM 运行机制 提 出 , 了 针对 S erDes 结 构 的验证平 台 整体 框架 其 中 。
,
最 小 子模块 的 配置功 能 。 进
一
本文提 出
一
本文提 出
一
人工干预 , 有 效 提 高验证 效率
。
4 .
编 写 验证测 试用 例 , 采 用 监视器 、 断 言 检测 项 和 比 较器等 多 种 验 证 检查方
覆盖率均到达 1 00 %
。
7 7
西 安 电 子 科技 大 学 硕 士 学 位 论 文
6 2
. 研究展望
不够 多 , 因 此后 续 可 以 深入研 究 的 方 向 有
:
ve r i lo g 语 言 生成 受 约 束 的 随 机 激励 之 外 还 可 以 通过 , c 语 言 或者 脚本 生成其他灵
活激 励
。
2 .
针 对异 常 场 景 的 构造 投入更 多 研 究 , 在 确 保验 证周 期 可控 的 情 况 下 编 写 更
78
参考文 献
参考文献
[
1
]
湛伟 .
高速 S e rD e s 技 术 的 发 展趋 势 和 挑 战 [
J
]
.
电子 产 品 世 界 ,
20 1 9 ,
26
(
9)
:
48 -
5 3
.
[
2] 周立 .
光纤保密通信系 统 的设计 、
实现及 性 能 分析 [
D ]
.
南京 南京邮 电大学 :
,
202 1
.
[
3
]
杨坤 .
应用 于 U SB2 . 0 的 高速 时钟 数据恢 复 电 路 设计 D [ ]
?
武汉 华 中 科技 大
:
学 ,
20 1 6
.
[
4
]
王薇 .
基于 FP G A 的 数据 采集 与 处理 系 统研 宂 [
J
]
.
电子设计工程 ,
20 1 5( 1 6)
:
36 38
-
.
[
5
] ,
. 1
-
8B/ 1 J .
[ ]
封装 ,
2 02 0 ,
20
(
1
)
: 3 7 40 -
.
[
6] 李永乾 基于 . 8 b/ 1 0b 编码技术 的 SerDes 接 口 电 路设计 [
D ]
.
成都 电子科技大
:
学 ,
20 1 0
.
[
7
] 许应 基 于 . AM B A 的 S o C /I P 仿 真 验证 平 台 的 设计 与 实 现研 宄 [
D ]
.
北京 北
:
京大学 ,
2 0 07
.
[
8]
H . D . F o st e r . T r e nd s n f u n c t i i o na l v e r i f c at o n i i : a 20 1 6 nd u st r yst ud y[ C ]
i . D vC o n
,
S an Jo s e , 2 0 1 7 : 3
-
4
.
[
9] 张跃玲 ,
张嘉 ,
汪健等 _ FP G A 的验证平 台 及有 效 的 So C 验证 方法 [
J
]
_
单 片机
与 嵌入式系 统应 用 ,
20 1 6( 3
)
: 8
-
1 1
_
[
1 0 ]R . D r e c hs l er . F o rma l i c at o n [ M ] S w i t z e r a n d
S y st e mV e r f i i , l : S
p r nge r
i
,
20 1 8 : 1 -
3 0
.
[
1 1
] 张春 麦宋平 , ,
赵益新 ? S y s t em Ver i l og 验证 测 试平 台 编 写 指 南:
[
M ]
.
北京 :
科
学 出 版社 ,
2009 : 5
-
6
.
[
1 2
] S . Ro s e n be r g A P r a c . t i c al Gu i d e t o A d o pt i ng t h e U n v e r s a i l V er i f c at o n
i
i
Me t ho d o lo gy [ M ] . Nor t h C aro li na , LU LU ,
20 1 3 : 25 9 263 -
.
[
1 3
]
刘 斌 芯 片 验证 漫游 指 南 .
[
M ]
.
北 京 电子 工 业 出 版社 :
,
20 1 8 : 257 -
3 1 4
.
4 ] A y n s e y D o i n g F u nn y S t u f f w i t h t h e U V M R e i s t e r L a e r E x e r i e n c e s U s n g
[
1
l .
g y p : i
F r o n t D o o r S e q u e nc e s ,
Pre d i c t o r s , an d C a l l b a c k s
[
C ]
. D vC o n C a ,
l i fo r n a i
,
20 1 7
.
[
1 5
] K . S c hw a r t z ,
T . C o r c o r a n E rr o r . I nj e c t o n i : Wh e n G o o d I np ut G o e s B a d [ C ]
.
D V C o n C a ,
l i fo rn i a ,
20 1 7 1:
-
1 3
.
[
1 6]J . V an c e , J . Mo n t esa no , K . V asc o nc e l l o s
. My Tes
t be n c h U s e d t o B reak ! N o w i
t
20 1 8 1 :
-
1 7
.
79
西 安 电 子 科技 大 学 硕 士 学 位 论 文
[
1 7
]
吴星星 . 基于 UV M 的 S PI 接 口 I P 核 的 验证平 台 设计 [
D ]
.
安徽 安徽大学 :
,
20 1 6
.
[
1 8
]
张少 真 ,
成丹 ,
刘学毅 . UVM 和 Ma t l ab 的 联合仿 真方法 及 应 用 [
J
]
.
中 国 集成
电路 ,
20 1 7 ,
2 6 0 9 1 8
( )
:
-
25
.
[
1 9] 张瑞 基于 断 言 的 形 式化验证 与. UVM 的 综合应用 D [ ]
. 西安 :
西 安 电 子 科技
大学 ,
20 1 8
.
[
20
]
刘魁玉 . 基于 UVM 的 1 5 53 B 总 线协 议验证平 台 设计 [
D ]
.
哈 尔滨 哈 尔 滨工
:
业大 学 ,
20 1 9
.
[
2 1
] 陈琳娜 基 于 . UV M 的 层 次化 验 证 平 台 研 宄 [
D ]
.
浙江 浙江大 学 :
,
20 1 8
.
[
22] 段
一
杰 ? 基于 U VM 的 A P B U AR T 验 证 平 台 的 设 计 与 实 现 D -
[ ]
?
成都 电子科
:
技大 学 ,
2020
.
[
23 ]
王泽华 .
基于 UVM 的 C ac h e 验证平 台 的 设计 与 研 究 [
D ]
.
西安 西 安 电子科
:
技大学 ,
20 1 9
.
[
24 ] Ac c e ll e ra . Ver i f c at i o n I nt e l
i l e c tu a l P r o
pe
t y ( V I P ) R e c o m m e nd e d P r a c t
r i ce s
E B/O L ht t p s // o c p p o r g / i m a g e s / d o wn l o a d s / s t a n d a r d s / uv m / V I P
i 1 0 df
p
. : . . .
[ ] 一
,
Ac c e ll e ra ,
2009
.
[
25 ]
张彦 磊 基 于 . UV M 的 AP B -
I 2C 验证 I P 的 设计 与 实现 [
D ]
.
成都 电子科技大
:
学 ,
20 1 9
.
[
26
] 张强 . UVM 实战 [
M ] ,
北 京 机械 工 业 出 版 社 :
,
20 1 4 : 6 4 67 -
.
[
27
] 潘玉 茜 . 基于 UVM 的 G MA C 高效验证平 台 设 计 [
D ]
.
西 安 西 安 电 子 科 技大
:
学 ,
20 1 7
.
?
[
28
] EEE
I
, I E E ES t d1 8 0 0 -
20 1 2 S t a n d a r d fo r S s t e m V e r i o
, y g l
-
Un i fi e d H a r d w a r e
D es i
gn S p ec
f c at io n
,
i i
, an d V er f
ica i t i o n L a ng u a g e [ S ] , N e w Yo r k : I EE E S t and ar d s
A s so c i a t o n C o r p o r at e A dv i s o r y G r o u p
i
,
20 1 3
.
[
29
] E C umm
. i ngs ,
H C h a mb e r s U V M A n a
.
. l
y s i s P o r t F u nc t i o n a l i t y a nd U s i n g
T r ans ac t i onC o
p y C o mm a nd s [
R] . U SA : S unb ur s t Des i
gn ,
20 1 8
.
Acc e Un v e r s a l V e r i f i c at io n M eth o d o o g y 1 2 U s e r Gu de [ E B /O L ] ht t p s
'
[
30 l l e ra . i l . s i . : //
]
a c c e l l e r a o rg / i m a g e s / d o wn l o a d s / u v m
.
_
u sers _ gu d e i
_
l . 2 .
pd f Ac c e l l e r a , ,
20 1 5
.
[
3 1
] 仇荔 基于 . O VM 架构 的 EPA 芯 片 验证 的 研 宄 D [ ]
.
浙江 浙江大学 :
,
20 1 3
.
[
32
] F . Fa l l ah ,
S . D e v a d as K K e u ,
. t zer . OCCO M Ef
ic -
i e n t C o mp ut a t i o n o f
O b s e rv a b i l it
y
-
B a s e d C o d e C o v e r ag e M e t r i c s fo r F un c t i o na l V er f
i c at i i o n [C ]
.
P ro c e e d ng s1 9 9 8 D es g n a nd A u t o m a t i o n C o n fe r e n c e S an F ran c s co 9 9 8 1 6
-
1
i i i
, ,
:
.
[
33
] E C e my
.
,
S . D u d an i
,
J . H av li c ek , etc S . V A T he : P o we r o f As se r ti o n sin
S ys t e m V e r i l o g f M ] . S w it z e r a n d l
,
S p r i ng e r ,
20 1 5 : 3
-
28
.
80
参考文献
[
3 4
] 郑红党 孙彦 景 李松 等
, , ,
.
基于 FP G A 技术 的 8 B/ 1 0B 信 道编 码 设 计 [
J
]
.
实验
技术 与 管理 ,
202 1
,
3 8
(
3
)
: 40 44
-
.
[
3 5
] 刘香利 ?
基于 UVM 的 CB US 验证 [
D ]
.
西 安 西 安 电 子科 技大 学
?
,
20 1 9
.
[
3 6] 麻聪 颖 基 于
. UVM 的 千 兆 以 太网 MA C 控制 器验证 设计 与 实现 [
D ]
.
西安
:
西 安 电 子科 技大 学 ,
20 1 9
.
8
1
M
致谢
,
。 ,
学 和 朋 友表示最衷心 的 感谢
。
治 学 态度 使我对生活学 习 的 理解 受 益 匪 浅 ,
从论文 前 期 的 选题和 后 期 的 指 导 , 老师都
给予 了 专业 的建议和 帮 助 , 为我解答疑 惑 , 保证 了 我朝 着 正 确 的 研宄方 向 学 习
。
设计过程 中 , 对 于 技术上 的 难 点 和 疑 点 都细 心 解答 ,
给 了 我很 多 宝贵 的 意 见 和 建议
。
感谢 你们 在我工 作和 学 习 中 对我 的 指 导 和 帮 助
。
8 3
作者简介
作者 简介
1 .
基本情 况
2 .
教育 背景
20 1 5 . 09
?
20 1 9 07.
中 北大学 ,
本科 , 专业 :
微 电 子 与 科学 工程
20 1 9 08.
?
2022 06 .
西 安 电子科技大学 , 硕 士研宄生 , 专业 :
软件工程 ( 集成 电路
方向
)
3 .
攻读 硕 士 学 位 期 间 的 研 宄 成 果
3 . 1 参与 科 研 项 目 及获奖
[
1
]
企业 项 目 , 某器件 hs s t 高速 串 行 传 输模 块 验 证 ,
己完成 ,
2 02 0 8 202 2 2
.
-
, 负责模
块验 证 工 作
。
85