ic验证简单面试题

自我介绍:

转行的原因

  1. 当然是发展的前景,往后的时间内IC行业的发展好。
  2. 针对于我个人而言,我觉得编码运行通过的感觉很爽。
  3. 最后就是薪资的水平普遍高于传统的制造业。

MCDF 如何提高覆盖率:

最终的总结,就是通过以上的学习

1.通过修改约束和创建新的条件进行测试

2.或者写新的测试来进行测试

3.创建conner case来进行测试

4.对于我们不需要的覆盖率,通过exclude的方式进行排除,也可以提高覆盖率的收集

5.使用不同的随机种子来进行测试(也就是说(随机测试+定向测试)

4.对于代码覆盖率:line、paths、toggle、FSM这几个的行覆盖率。

 代码覆盖率的成果:

1.通过对MCDF 编写MCDF的测试用例使得寄存器的读写测试覆盖率达到100%

2.通过对异步fifo的读写寄存器编写,使得FIFO的代码覆盖率达到90%以上,

其中的一个难点就是:

1.分支覆盖率没有满足:回头review代码,发现满状态下写没有满足。

2.toggle覆盖率没有满足,是因为randmoize的次数不够。

 验证点:

寄存器的读写测试

寄存器的稳定性测试

数据通道的开关测试

优先级测试

下行从端低带宽测试

APB协议

1.APB有8个信号: clk与rst信号、psel片选信号与penble使能信号、pwrite读写信号(高为写入、低为读出信号)、paddr  地址位、还有padta与rdata信号

2.APB:有3个状态、idel状态、setup状态与enable状态,各个状态的使能拉高情况

3.APB的VIP实现的功能,有slave、maser连个agent。agent中有dr、mon、sequencer、等。从master—driver中发的数据,直接传输到slaver-DRIVER

中的一个小的men然后与test中的men进行比较。

实现了读操作、写操作、先读后写和先写后读的操作。连续写再连续读的操作。

断言分为:

立即断言:非时序的,如同过程语句、可以在initial过程块中执行

并行断言:proporty为关键字,与时序有关。他们可以与设计模块一同执行。

先定义sequence,然后在定义proprety。

比如:

psel信号拉高的时候penable不能为x。

psel信号拉高的上一个周期,penable为高。

penable拉高的下一个周期,penable应该为低。

psel与pwrite同时保持为高的阶段,pdata需要保持。

对同一个地址做两次写操作再从中读数据。

写操作时,先分别发生连续写和非连续写。

当然我写的case比较简单,所以覆盖率也达到了100%。

AHB总线的协议:

1.AHB中包括master、slave译码器与编码器,

有两个类型的突发操作:增量突发、回环突发。

基本传输:包括地址相位与数据相位。地址相位只存在单个周期。数据相位:可存在多个周期,这里通过HREADY信号实现。

HTRANS[1:0],有四种状态。空闲、忙、非连续、连续的传输。

突发操作由HBURST的来表示SINGLE  单一传输                      \INCR4\8\16突发传输          \WRAP4\8\16增量回环。

Router

于这里是sa是固定的端口,而da是随机的端口。所以实现了,由不同的端口向不同的端口传输数据的实现。

在scoraboard中可以表示出先将driver中的数据push_back到队列中,之后根据pak中的da的值与reciver中的匹配,然后进习性比较。

也收获了关于覆盖率。可以将覆盖率100%作为表示将每一个端口都覆盖到。

        0

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值